如何获得 运行 的序列号
how to get ansible sequence number of running
这里是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
由于 store
是一个字符串,将其拆分为 space,这将给出一个主机列表。然后,您可以找到 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
这里是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
由于 store
是一个字符串,将其拆分为 space,这将给出一个主机列表。然后,您可以找到 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