Amazon ec2 Ansible add_主机未添加到主机文件

Amazon 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

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 }}"
    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的动态资源清册,因此修改主机配置文件没有多大意义。