按需反向库存订单
reverse inventory order on demand
我有一本已经用了一段时间的剧本。该剧本定义了东西方位置的某些参数和变量。西部一直是主要位置,东部是备用。我们现在将逻辑切换到客户所在的位置,这将是主要位置。当位置位于东海岸时,我正尝试反转库存主机,这样东海岸设备将获得主要设置,然后是西海岸。我尝试了以下但没有任何运气。根据文档,这是颠倒清单文件顺序的正确语法。
违规行似乎是:
时间:位置 ==“东”
顺序:reverse_inventory
^ 这里
- hosts: cisco_lab
when: location == "east"
order: reverse_inventory
......Rest of playbook
使用三进制,例如给定库存
shell> cat hosts
[cisco_lab]
host1
host2
host3
剧本
shell> cat playbook.yml
---
- hosts: cisco_lab
order: "{{ (location == 'east')|ternary('reverse_inventory', 'inventory') }}"
gather_facts: false
tasks:
- debug:
var: inventory_hostname
以相反的顺序执行东位置
shell> ansible-playbook -i hosts playbook.yml -e location=east
PLAY [cisco_lab] ***********************************************************
TASK [debug] ***************************************************************
ok: [host3] =>
inventory_hostname: host3
ok: [host2] =>
inventory_hostname: host2
ok: [host1] =>
inventory_hostname: host1
我有一本已经用了一段时间的剧本。该剧本定义了东西方位置的某些参数和变量。西部一直是主要位置,东部是备用。我们现在将逻辑切换到客户所在的位置,这将是主要位置。当位置位于东海岸时,我正尝试反转库存主机,这样东海岸设备将获得主要设置,然后是西海岸。我尝试了以下但没有任何运气。根据文档,这是颠倒清单文件顺序的正确语法。
违规行似乎是:
时间:位置 ==“东” 顺序:reverse_inventory ^ 这里
- hosts: cisco_lab
when: location == "east"
order: reverse_inventory
......Rest of playbook
使用三进制,例如给定库存
shell> cat hosts
[cisco_lab]
host1
host2
host3
剧本
shell> cat playbook.yml
---
- hosts: cisco_lab
order: "{{ (location == 'east')|ternary('reverse_inventory', 'inventory') }}"
gather_facts: false
tasks:
- debug:
var: inventory_hostname
以相反的顺序执行东位置
shell> ansible-playbook -i hosts playbook.yml -e location=east
PLAY [cisco_lab] ***********************************************************
TASK [debug] ***************************************************************
ok: [host3] =>
inventory_hostname: host3
ok: [host2] =>
inventory_hostname: host2
ok: [host1] =>
inventory_hostname: host1