如何获得ansible序列号的运行

时间:2016-10-28 02:31:58

标签: python-2.7 ansible ansible-playbook

这是run.yml和rozofs.yml,我想得到每个运行的序列号。

有4个IP地址,90,91,92,93,我想知道从每次运行中我可以得到1,2,3,4。我正在使用" echo"把每个IP地址,我也想要序列号。

$ run.yml

---
- hosts: "{{ store }}"
  remote_user: root
  vars_files:
    - /vars/rozofs.yml
  tasks:
    - name: mount fs
      command: echo "{{ inventory_hostname }}" >> /root/temp.sh
    - name: sequence number
      command:  echo ??? >> /root/temp.sh 

$ rozofs.yml
---
store: 192.168.2.90 192.168.2.91 192.168.2.92 192.168.2.93

$ temp.sh
192.168.2.90
1


$ temp.sh
192.168.2.93
4

1 个答案:

答案 0 :(得分:1)

由于store是一个字符串,因此将其拆分为空格,这将提供一个主机列表。然后,您可以找到inventory_hostname的索引。

- name: mount fs
  shell: echo "{{ inventory_hostname }}" >> /tmp/temp.sh
- name: sequence number
  shell: echo "{{ store.split(' ').index(inventory_hostname) | int + 1 }}"  >> /tmp/temp.sh