Ansible动态库存无法获取最新的ec2信息

拉胡尔·梅赫罗特拉

我正在使用ec2.py动态库存进行ansible设置。我已将文件放置ec2.py/etc/ansible/hosts文件中并标记为可执行文件。我也有ec2.ini档案/etc/ansible/hosts

[ec2]

regions = us-west-2
regions_exclude = us-gov-west-1,cn-north-1


destination_variable = public_dns_name

vpc_destination_variable = ip_address
route53 = False

all_instances = True
all_rds_instances = False


cache_path = ~/.ansible/tmp

cache_max_age = 0

nested_groups = False
group_by_instance_id = True
group_by_region = True
group_by_availability_zone = True
group_by_ami_id = True
group_by_instance_type = True
group_by_key_pair = True
group_by_vpc_id = True
group_by_security_group = True
group_by_tag_keys = True
group_by_tag_none = True
group_by_route53_names = True
group_by_rds_engine = True
group_by_rds_parameter_group = True

以上是我的ec2.ini档案

---
- hosts: localhost
  connection: local
  gather_facts: yes
  vars_files:
   - ../group_vars/dev_vpc
   - ../group_vars/dev_sg
   - ../hosts_vars/ec2_info
  vars:
    instance_type: t2.micro
  tasks:
   - name: Provisioning EC2 instance
     local_action:
     module: ec2
     region: "{{ region }}"
     key_name: "{{ key }}"
     instance_type: "{{ instance_type }}"
     image: "{{ ami_id }}"
     wait: yes
     group_id: ["{{ sg_npm }}", "{{sg_ssh}}"]
     vpc_subnet_id: "{{ PublicSubnet }}"
     source_dest_check: false
     instance_tags: '{"Name": "EC2", "Environment": "Development"}'
 register: ec2
  - name: associate new EIP for the instance
    local_action:
      module: ec2_eip
      region: "{{ region }}"
      instance_id: "{{ item.id }}"
      with_items: ec2.instances
  - name: Waiting for NPM Server to come-up
    local_action:
      module: wait_for
      host: "{{ ec2 }}"
      state: started
      delay: 5
      timeout: 200
 - include: ec2-configure.yml

现在配置脚本如下

- name: Configure EC2 server
  hosts: tag_Name_EC2
  user: ec2-user
  sudo: True
  gather_facts: True
  tasks:
   - name: Install nodejs related packages
     yum: name={{ item }} enablerepo=epel state=present
     with_items:
      - nodejs
      - npm

但是,调用configure脚本时,第二个脚本导致找不到主机。如果我一个人执行,ec2-configure.yml并且EC2服务器已启动并正在运行,那么它就能找到并配置它。

我添加了wait_for,以确保实例在ec2-configure.yml调用之前处于运行状态

如果有人能指出我的错误,将不胜感激。谢谢

拉胡尔·梅赫罗特拉

经过研究后,我发现动态清单不会在两次调用之间刷新,只有在单独执行时才会刷新。但是,我能够通过使用add_host命令解决此问题

- name: Add  Server to inventory
  local_action: add_host hostname={{ item.public_ip }} groupname=webserver
  with_items: webserver.instances

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Ansible动态库存无法获取最新的ec2信息

来自分类Dev

Ansible EC2动态库存最低IAM策略

来自分类Dev

Ansible EC2动态库存-包含连字符的标签

来自分类Dev

Ansible和AWS EC2库存

来自分类Dev

Ansible和AWS EC2库存

来自分类Dev

Ansible EC2模块未检索实例信息

来自分类Dev

如何在AWS中获取EC2实例的信息

来自分类Dev

AWS Java SDK - 获取 EC2 实例信息

来自分类Dev

如何基于AWS EC2库存主机名的IP地址访问Ansible剧本中的主机名标签?

来自分类Dev

无法从TFS获取最新信息

来自分类Dev

无法从PowerShell获取存在EC2实例的图像ID

来自分类Dev

AWS EC2:无法获取裸机实例

来自分类Dev

无法从 EC2 结果中获取私有 ip

来自分类Dev

Ansible EC2模块以检索有关实例的信息

来自分类Dev

根据ec2版本动态设置ansible-playbook用户变量

来自分类Dev

根据ec2版本动态设置ansible-playbook用户变量

来自分类Dev

如何获取Amazon EC2实例操作系统信息?

来自分类Dev

如何获取创建 EC2 实例的用户的详细信息

来自分类Dev

Node.js:使用 describeLoadBalancers 获取 EC2 实例信息

来自分类Dev

Ansible:EC2设置和迭代

来自分类Dev

无法删除 AWS Cloud EC2 的 Bitnami 信息页面横幅

来自分类Dev

使用 Openstack 的 Ansible 动态库存

来自分类Dev

如何从Ansible中的实例ID获取EC2实例IP

来自分类Dev

配置后无法使用 Ansible 提取 EC2 public_ip

来自分类Dev

无法从Ansible中的ec2_scaling_policy模块检索AWS扩展策略信息

来自分类Dev

获取终止的EC2实例的ID

来自分类Dev

无法将数据从 Amazon S3 获取到 EC2 以进行训练

来自分类Dev

boto3代码以获取有关ec2的信息-但需要知道卷加密状态

来自分类Dev

EC2:无法rvm安装ruby

Related 相关文章

热门标签

归档