在具有依赖性的同一剧本中与两个不同的主机进行两个播放
two plays with two different host in same playbook with dependency
塞纳里奥:
1. I need to run two plays in a single playbook.
2. The second play should run after the first play.
3. The first play create few instance and update the inventory file by making new group.
4. Second play uses the updated group and install few packages.
问题:如果我运行两个都分开玩就是成功了。
但是,我需要它们在相同的脚本中。
我认为问题是并行执行。
提前致谢。
---
- name: ec2
hosts: localhost
connection: local
roles:
- launchEc2
- hosts: ansible
gather_facts: Fasle
become: yes
roles:
- python
输出:
PLAY [ec2] *********************************************************************
TASK [setup] *******************************************************************
ok: [127.0.0.1]
TASK [launchEc2 : include_vars] ************************************************
ok: [127.0.0.1]
TASK [launchEc2 : Launch new ec2 instance] *************************************
changed: [127.0.0.1]
TASK [launchEc2 : Add ec2 ip to the hostgroup] *********************************
changed: [127.0.0.1] => (item={.....})
TASK [launchEc2 : wait for SSh to come up] *************************************
ok: [127.0.0.1] => (item={.....})
PLAY [ansible] *****************************************************************
TASK [python : install python] *************************************************
skipping: [34.203.228.19]
PLAY RECAP *********************************************************************
127.0.0.1 : ok=5 changed=2 unreachable=0 failed=0
34.203.228.19 : ok=0 changed=0 unreachable=0 failed=0
Ansible 在处理 playbook 之前加载库存。
在你的情况下,第二个剧本与第一个剧本修改前的清单相同。
通常,当您配置云主机时,您可能希望使用 add_host
将新主机动态添加到内存清单中,以便它们可用于后续播放。
您也可以尝试在库存修改后调用 meta: refresh_inventory
,但我不确定它是否适用于更新静态库存。
塞纳里奥:
1. I need to run two plays in a single playbook.
2. The second play should run after the first play.
3. The first play create few instance and update the inventory file by making new group.
4. Second play uses the updated group and install few packages.
问题:如果我运行两个都分开玩就是成功了。 但是,我需要它们在相同的脚本中。
我认为问题是并行执行。
提前致谢。
---
- name: ec2
hosts: localhost
connection: local
roles:
- launchEc2
- hosts: ansible
gather_facts: Fasle
become: yes
roles:
- python
输出:
PLAY [ec2] *********************************************************************
TASK [setup] *******************************************************************
ok: [127.0.0.1]
TASK [launchEc2 : include_vars] ************************************************
ok: [127.0.0.1]
TASK [launchEc2 : Launch new ec2 instance] *************************************
changed: [127.0.0.1]
TASK [launchEc2 : Add ec2 ip to the hostgroup] *********************************
changed: [127.0.0.1] => (item={.....})
TASK [launchEc2 : wait for SSh to come up] *************************************
ok: [127.0.0.1] => (item={.....})
PLAY [ansible] *****************************************************************
TASK [python : install python] *************************************************
skipping: [34.203.228.19]
PLAY RECAP *********************************************************************
127.0.0.1 : ok=5 changed=2 unreachable=0 failed=0
34.203.228.19 : ok=0 changed=0 unreachable=0 failed=0
Ansible 在处理 playbook 之前加载库存。
在你的情况下,第二个剧本与第一个剧本修改前的清单相同。
通常,当您配置云主机时,您可能希望使用 add_host
将新主机动态添加到内存清单中,以便它们可用于后续播放。
您也可以尝试在库存修改后调用 meta: refresh_inventory
,但我不确定它是否适用于更新静态库存。