Amazon ec2 Ansible add_主机未添加到主机文件
Ansible版本:1.9.2 我正在运行一个playbook,它将启动一个EC2实例。我拥有site.yml和所有变量,并使用一个角色来启动EC2实例。这是ec2_发布的main.ymlAmazon ec2 Ansible add_主机未添加到主机文件,amazon-ec2,ansible,ansible-playbook,ansible-inventory,Amazon Ec2,Ansible,Ansible Playbook,Ansible Inventory,Ansible版本:1.9.2 我正在运行一个playbook,它将启动一个EC2实例。我拥有site.yml和所有变量,并使用一个角色来启动EC2实例。这是ec2_发布的main.yml --- - name: create EC2 instance ec2: key_name: "{{ keypair }}" group_id: "{{ security_group }}" instance_type: "{{ instance_type }}" imag
---
- name: create EC2 instance
ec2:
key_name: "{{ keypair }}"
group_id: "{{ security_group }}"
instance_type: "{{ instance_type }}"
image: "{{ image }}"
region: "{{ region }}"
vpc_subnet_id: "{{ vpc_subnet_id }}"
assign_public_ip: yes
wait: True
instance_tags:
Name: "{{ instance_tag }}"
Environment: "{{ instance_tag2 }}"
exact_count: 1
count_tag:
Name: "{{ instance_tag }}"
Environment: "{{ instance_tag2 }}"
monitoring: yes
register: ec2
- name: add ec2 instance to hosts
add_host: name={{ item.private_ip }} groups=group_name
with_items: ec2.instances
- name: wait for SSH
wait_for: host={{ item.private_ip }} port=22 delay=60 timeout=320 state=started
with_items: ec2.instances
当我使用-vvv选项运行时,这是add_hosts期间的输出:
TASK: [ec2_launch | add ec2 instance to hosts] ********************************
creating host via 'add_host': hostname=10.50.101.93
added host to group via add_host module: group_name
IP是正确的,组名是正确的,但是当我检查ansible hosts文件时,它没有被修改。我确保在hosts文件中包含[group_name]。运行期间没有错误,也不确定为什么没有将其添加到文件中
此页面上有一个“添加主机”示例:
它们不使用名称和组,而是使用主机名groupname(我认为这是旧的)。我也试过了。不确定我缺少了什么。添加主机任务不会将其添加到主机文件中,而是将其添加到内存中的主机列表中
添加到主机文件在所有情况下都不起作用-例如,AWS用户经常使用
/ec2.py
脚本,这是一个二进制可执行文件,可以替换他们基于文本的主机文件。明白了-我也可以使用Lineinfle模块,对吗?Lineinfle模块对我很有用。谢谢你的信息!对于下一个来到这里的人:以下是文档:。读标题。另外,考虑到最佳实践是利用Boto的动态资源清册,因此修改主机配置文件没有多大意义。