Variables Ansible如何将新值指定给额外变量值
塔台:3.2.3 表2.4.2 我有一个塔楼剧本,其中指定了一个值,比如说build\u cl:latest。这是在Ansible Tower的调查中定义的,我认为这被认为是额外的VAR。我有一个执行检查的任务,如果条件正确,我需要修改build\u cl的值 因此,让我们假设当塔楼剧本被踢开时,var是:Variables Ansible如何将新值指定给额外变量值,variables,ansible,ansible-tower,Variables,Ansible,Ansible Tower,塔台:3.2.3 表2.4.2 我有一个塔楼剧本,其中指定了一个值,比如说build\u cl:latest。这是在Ansible Tower的调查中定义的,我认为这被认为是额外的VAR。我有一个执行检查的任务,如果条件正确,我需要修改build\u cl的值 因此,让我们假设当塔楼剧本被踢开时,var是: build_cl: latest 然后: -name:“获取组['Healthcheck\u Host'][0]上最新安装的CL” 外壳:| grep-oP'(?额外变量(即通过-e选项在
build_cl: latest
然后:
-name:“获取组['Healthcheck\u Host'][0]上最新安装的CL”
外壳:|
grep-oP'(?额外变量(即通过-e
选项在命令行上传递的变量)具有,并且在playbook生命周期内无法更改。set\u fact
不会抛出任何错误,但该值将保持在启动时传递的值
下面是一个快速示例来说明:
---
-名称:不可变额外变量演示
主机:本地主机
收集事实:错误
变量:
测试变量:在playbook变量中设置的值
任务:
-名称:在playbook开始时调试变量值
调试:
var:test_var
-名称:更改变量值
设定事实:
测试变量:集合事实中的值集合
-名称:剧本结尾处的调试变量值
调试:
var:test_var
无额外风险值:
$ ansible-playbook test.yml
PLAY [Immutable extra var demo] ********************************************************************************************************************************************************************************************************
TASK [debug var value at playbook start] ***********************************************************************************************************************************************************************************************
ok: [localhost] => {
"test_var": "value set in playbook var"
}
TASK [change var value] ****************************************************************************************************************************************************************************************************************
ok: [localhost]
TASK [debug var value at playbook end] *************************************************************************************************************************************************************************************************
ok: [localhost] => {
"test_var": "value set in set_fact"
}
PLAY RECAP *****************************************************************************************************************************************************************************************************************************
localhost : ok=3 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
$ ansible-playbook test.yml -e "test_var='value set in extra vars'"
PLAY [Immutable extra var demo] ********************************************************************************************************************************************************************************************************
TASK [debug var value at playbook start] ***********************************************************************************************************************************************************************************************
ok: [localhost] => {
"test_var": "value set in extra vars"
}
TASK [change var value] ****************************************************************************************************************************************************************************************************************
ok: [localhost]
TASK [debug var value at playbook end] *************************************************************************************************************************************************************************************************
ok: [localhost] => {
"test_var": "value set in extra vars"
}
PLAY RECAP *****************************************************************************************************************************************************************************************************************************
localhost : ok=3 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
附加var:
$ ansible-playbook test.yml
PLAY [Immutable extra var demo] ********************************************************************************************************************************************************************************************************
TASK [debug var value at playbook start] ***********************************************************************************************************************************************************************************************
ok: [localhost] => {
"test_var": "value set in playbook var"
}
TASK [change var value] ****************************************************************************************************************************************************************************************************************
ok: [localhost]
TASK [debug var value at playbook end] *************************************************************************************************************************************************************************************************
ok: [localhost] => {
"test_var": "value set in set_fact"
}
PLAY RECAP *****************************************************************************************************************************************************************************************************************************
localhost : ok=3 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
$ ansible-playbook test.yml -e "test_var='value set in extra vars'"
PLAY [Immutable extra var demo] ********************************************************************************************************************************************************************************************************
TASK [debug var value at playbook start] ***********************************************************************************************************************************************************************************************
ok: [localhost] => {
"test_var": "value set in extra vars"
}
TASK [change var value] ****************************************************************************************************************************************************************************************************************
ok: [localhost]
TASK [debug var value at playbook end] *************************************************************************************************************************************************************************************************
ok: [localhost] => {
"test_var": "value set in extra vars"
}
PLAY RECAP *****************************************************************************************************************************************************************************************************************************
localhost : ok=3 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
我已验证ansible正在分配新值:{“changed”:false,“ansible_facts”:{“build_cl”:“123456”},“\u ansible_no_log”:false}您是否将此作为额外变量传递?如果是,您绝对没有机会修改此值。额外变量有。邓…感谢您的快速回复。我必须花时间修改我的逻辑:)