Ansible Tower未在ec2-remote-facts模块

时间:2017-01-13 18:10:47

标签: amazon-web-services amazon-ec2 ansible ansible-tower ansible-facts

当我不在Ansible Tower上运行时,ec2-remote-facts模块正常工作。下面的第一个示例(不使用Tower)包括我在后续任务中使用的所有block_device_mapping信息。

从长远来看,这是一个很大的问题。我的代码对于这两个例子都是一样的。任何可能导致我朝着正确方向前进的想法。

我唯一想到的是,由于它不是核心模块,因此Ansible Tower不能完美地同步到模块的最新代码。但我很困惑。谢谢!

Ansible Version - ansible 2.2.0.0(在Ubuntu上运行)

Ansible Tower Version - Tower Version 3.0.3(在Centos上运行)

---以下示例----

- 无法使用(不使用塔) -

ok: [localhost -> localhost] => {
"changed": false,
"instances": [
    {
        "ami_launch_index": "0",
        "architecture": "x86_64",
        "block_device_mapping": [
            {
                "attach_time": "2017-01-13T17:05:31.000Z",
                "delete_on_termination": false,
                "device_name": "/dev/sdb",
                "status": "attached",
                "volume_id": "vol-132312313212313"
            },
            {
                "attach_time": "2017-01-13T17:05:31.000Z",
                "delete_on_termination": true,
                "device_name": "/dev/sda1",
                "status": "attached",
                "volume_id": "vol-123123123123"
            },
            {
                "attach_time": "2017-01-13T17:05:31.000Z",
                "delete_on_termination": false,
                "device_name": "/dev/sdc",
                "status": "attached",
                "volume_id": "vol-123123123123"
            }
        ],
        "client_token": "",
        "ebs_optimized": false,
        "groups": [
            {
                "id": "sg-12312313",
                "name": "n123123123
            }
        ],
        "hypervisor": "xen",
        "id": "i-123123123123",
        "image_id": "ami-123123123123",
        "instance_profile": null,
        "interfaces": [
            {
                "id": "eni-123123123",
                "mac_address": "123123123"
            }
        ],
        "kernel": null,
        "key_name": "my-v123123",
        "launch_time": "2017-01-13T17:05:30.000Z",
        "monitoring_state": "disabled",
        "persistent": false,
        "placement": {
            "tenancy": "default",
            "zone": "us-east-1b"
        },
        "private_dns_name": "ip-112312312",
        "private_ip_address": "10.1.1.4",
        "public_dns_name": "",
        "public_ip_address": null,
        "ramdisk": null,
        "region": "us-east-1",
        "requester_id": null,
        "root_device_type": "ebs",
        "source_destination_check": "true",
        "spot_instance_request_id": null,
        "state": "running",
        "tags": {
            "CurrentIP": "10.1.1.1.4",
            "Name": "d1",
            "Type": "d2"
        },
        "virtualization_type": "hvm",
        "vpc_id": "vpc-123123123"
    },

Ansible Tower(注意它缺少block_device_mapping代码块)

  TASK [debug]  **********************
  ok: [localhost] => {
"db_id.instances": [
    {
        "ami_launch_index": "0", 
        "architecture": "x86_64", 
        "client_token": "", 
        "ebs_optimized": false, 
        "groups": [
            {
                "id": "sg-123123", 
                "name": "n123123123"
            }
        ], 
        "hypervisor": "xen", 
        "id": "i-123123123", 
        "image_id": "ami-123123", 
        "instance_profile": null, 
        "interfaces": [
            {
                "id": "eni-123123123", 
                "mac_address": "123123123"
            }
        ], 
        "kernel": null, 
        "key_name": "m123123", 
        "launch_time": "2017-01-13T17:05:30.000Z", 
        "monitoring_state": "disabled", 
        "persistent": false, 
        "placement": {
            "tenancy": "default", 
            "zone": "us-east-1b"
        }, 
        "private_dns_name": "ip-1123123123123", 
        "private_ip_address": "10.1.1.4", 
        "public_dns_name": "", 
        "ramdisk": null, 
        "region": "us-east-1", 
        "requester_id": null, 
        "root_device_type": "ebs", 
        "source_destination_check": "true", 
        "spot_instance_request_id": null, 
        "state": "running", 
        "tags": {
            "Name": "123123", 
            "Type": "123123"
        }, 
        "virtualization_type": "hvm", 
        "vpc_id": "vpc-123123123"
    }, 

1 个答案:

答案 0 :(得分:1)

我猜你的塔盒上确实有旧的Ansible版本。

截至今日,官方Ansible Tower Vagrant盒子(ansible / tower(virtualbox,3.0.3))内有2.1.2版:

[vagrant@ansible-tower ~]$ ansible --version
ansible 2.1.2.0
  config file = /etc/ansible/ansible.cfg
  configured module search path = Default w/o overrides

ec2_remote_facts在此版本中没有block_device_mapping 因此,请更新Tower塔上的Ansible或应用this补丁。