如果要激活内核中的用户名称空间(CentOS),我希望Ansible读出。 当我运行时,相应的值可见
- debug:
msg: "{{ ansible_cmdline }}"
这给了我输出:
"msg": {
"BOOT_IMAGE": "/vmlinuz-...",
"LANG": "...",
"crashkernel": "...",
"namespace.unpriv_enable": "...",
"quiet": ...,
"rd.lvm.lv": "...",
"rhgb": ...,
"ro": ...,
"root": "...",
"user_namespace.enable": "1"
}
但是,我无法直接查询子项:
- debug:
msg: "{{ ansible_cmdline.user_namespace.enable }}"
Ansible将.enable
解释为另一个子项:
The task includes an option with an undefined variable. The error was: 'dict object' has no attribute 'user_namespace'
如何访问密钥"user_namespace.enable"
?
答案 0 :(得分:0)
自己解决:
要用点寻址键,请使用带单引号的数组符号代替点符号,即:
- debug:
msg: "{{ ansible_cmdline['user_namespace.enable'] }}"
这将返回值。
cf .: Ansible FAQ