我们serial
几乎在所有手册中都使用了该手册,但在某些情况下,我们需要进行快速更改,并且Ansible不必遵守该serial
限制。
有没有一种方法可以serial
从命令行中将标志作为ansible-playbook
命令的一部分覆盖?
代码示例:
- hosts: database
serial: 1
become: yes
Run Code Online (Sandbox Code Playgroud)
提前谢谢了!
您可以使用-e标志从cli传递变量,并将其用于serial
属性。示例(如果未在cli中传递变量值,则添加默认值3):
- hosts: ping_test
serial: "{{ serial_number|default(1) }}"
gather_facts: true
vars:
tasks:
- name: task 1
debug:
var: serial_number
Run Code Online (Sandbox Code Playgroud)
运行为:
ansible-playbook <playbook file> -e serial_number=1
样本输出(两次执行):
[root@optima-ansible ILIAS]# ansible-playbook -i hosts serial.yml -e serial_number=1
PLAY [ping_test] ****************************************************************************************************************************************************************************************************
TASK [Gathering Facts] **********************************************************************************************************************************************************************************************
ok: [localhost]
TASK [task 1] *******************************************************************************************************************************************************************************************************
ok: [localhost] => {
"serial_number": "1"
}
PLAY [ping_test] ****************************************************************************************************************************************************************************************************
TASK [Gathering Facts] **********************************************************************************************************************************************************************************************
ok: [greenhat]
TASK [task 1] *******************************************************************************************************************************************************************************************************
ok: [greenhat] => {
"serial_number": "1"
}
PLAY RECAP **********************************************************************************************************************************************************************************************************
greenhat : ok=2 changed=0 unreachable=0 failed=0
localhost : ok=2 changed=0 unreachable=0 failed=0
[root@optima-ansible ILIAS]# ansible-playbook -i hosts serial.yml -e serial_number=2
PLAY [ping_test] ****************************************************************************************************************************************************************************************************
TASK [Gathering Facts] **********************************************************************************************************************************************************************************************
ok: [greenhat]
ok: [localhost]
TASK [task 1] *******************************************************************************************************************************************************************************************************
ok: [localhost] => {
"serial_number": "2"
}
ok: [greenhat] => {
"serial_number": "2"
}
PLAY RECAP **********************************************************************************************************************************************************************************************************
greenhat : ok=2 changed=0 unreachable=0 failed=0
localhost : ok=2 changed=0 unreachable=0 failed=0
[root@optima-ansible ILIAS]#
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2898 次 |
最近记录: |