角色复制和执行仅适用于第一个角色输入

时间:2019-10-25 15:24:42

标签: ansible

免责声明...我是Ansible的新手,但是经过几天的谷歌搜索和尝试不同的事情后,我正在努力解决一个看似基本的问题。下面,我放了我的剧本,工作正常,但只有第一个角色实际上使用变量执行。在这方面的任何帮助,我们将不胜感激。

---
- connection: local
  hosts: all
  gather_facts: false
  roles:
    - role: slb
      vars:
           name: "test1"
    - { role: slb, vars: { name: "test2" }}
    - { role: slb, vars: { name: "test3" }}

文件夹结构为role / slb / tasks / main.yml

- name: create virtual server
   a10_slb_virtual_server:
     a10_host: "10.247.5.29"
     a10_username: "xxxxx"
     a10_password: "xxx"
     a10_port: "443"
     a10_protocol: "https"
     name: " {{ name }} "
     ip_address: "10.1.1.1"
     netmask: "255.255.255.0"
     port_list:
     - port_number: 80
       protocol: tcp
     enable_disable_action: enable
     stats_data_action: stats-data-enable

编辑-这是一个使用相同语法的代码示例,因此可能是模块存在问题?

---
- connection: local
  hosts: localhost
  gather_facts: false
  roles:
  - role: text
    vars:
         name: "Scooby"
  - { role: text, vars: { name: "Shaggy" }}



- name: Create a text file
  file:
    path: "/var/lib/awx/projects/test/{{ name }}.txt"
    state: touch


'''
[root@awx-ansible a10]# ansible-playbook -i hosts main.yml -vvvv
ansible-playbook 2.8.4
  config file = /var/lib/awx/projects/a10/ansible.cfg
  configured module search path = [u'/usr/share/ansible/plugins/modules/a10_ansible/library']
  ansible python module location = /usr/lib/python2.7/site-packages/ansible
  executable location = /bin/ansible-playbook
  python version = 2.7.5 (default, Aug  7 2019, 00:51:29) [GCC 4.8.5 20150623 (Red Hat 4.8.5-39)]
Using /var/lib/awx/projects/a10/ansible.cfg as config file
setting up inventory plugins
host_list declined parsing /var/lib/awx/projects/a10/hosts as it did not pass it's verify_file() method
script declined parsing /var/lib/awx/projects/a10/hosts as it did not pass it's verify_file() method
auto declined parsing /var/lib/awx/projects/a10/hosts as it did not pass it's verify_file() method
Parsed /var/lib/awx/projects/a10/hosts inventory source with ini plugin
Loading callback plugin default of type stdout, v2.0 from /usr/lib/python2.7/site-packages/ansible/plugins/callback/default.pyc

PLAYBOOK: main.yml ****************************************************************************************************************************************************************
Positional arguments: main.yml
become_method: sudo
inventory: (u'/var/lib/awx/projects/a10/hosts',)
forks: 5
tags: (u'all',)
verbosity: 4
connection: smart
timeout: 10
1 plays in main.yml
[WARNING]: Found variable using reserved name: name


PLAY [all] ************************************************************************************************************************************************************************
META: ran handlers

TASK [slb : create] ***************************************************************************************************************************************************************
task path: /var/lib/awx/projects/a10/roles/slb/tasks/main.yml:3
<10.247.5.29> ESTABLISH LOCAL CONNECTION FOR USER: root
<10.247.5.29> EXEC /bin/sh -c 'echo ~root && sleep 0'
<10.247.5.29> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /root/.ansible/tmp/ansible-tmp-1572014930.09-177848662916729 `" && echo ansible-tmp-1572014930.09-177848662916729="`
echo /root/.ansible/tmp/ansible-tmp-1572014930.09-177848662916729 `" ) && sleep 0'
<10.247.5.29> Attempting python interpreter discovery
<10.247.5.29> EXEC /bin/sh -c 'echo PLATFORM; uname; echo FOUND; command -v '"'"'/usr/bin/python'"'"'; command -v '"'"'python3.7'"'"'; command -v '"'"'python3.6'"'"'; command -v '"'"'python3.5'"'"'; command -v '"'"'python2.7'"'"'; command -v '"'"'python2.6'"'"'; command -v '"'"'/usr/libexec/platform-python'"'"'; command -v '"'"'/usr/bin/python3'"'"'; command -v '"'"'python'"'"'; echo ENDFOUND && sleep 0'
<10.247.5.29> EXEC /bin/sh -c '/usr/bin/python && sleep 0'
Using module file /usr/share/ansible/plugins/modules/a10_ansible/library/a10_slb_virtual_server.py
<10.247.5.29> PUT /root/.ansible/tmp/ansible-local-57176X2vg1j/tmp5QQ2WF TO /root/.ansible/tmp/ansible-tmp-1572014930.09-177848662916729/AnsiballZ_a10_slb_virtual_server.py
<10.247.5.29> EXEC /bin/sh -c 'chmod u+x /root/.ansible/tmp/ansible-tmp-1572014930.09-177848662916729/ /root/.ansible/tmp/ansible-tmp-1572014930.09-177848662916729/AnsiballZ_a10_slb_virtual_server.py && sleep 0'
<10.247.5.29> EXEC /bin/sh -c '/usr/bin/python /root/.ansible/tmp/ansible-tmp-1572014930.09-177848662916729/AnsiballZ_a10_slb_virtual_server.py && sleep 0'
<10.247.5.29> EXEC /bin/sh -c 'rm -f -r /root/.ansible/tmp/ansible-tmp-1572014930.09-177848662916729/ > /dev/null 2>&1 && sleep 0'
ok: [10.247.5.29] => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": false,
    "invocation": {
        "module_args": {
            "a10_host": "10.247.5.29",
            "a10_partition": null,
            "a10_password": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER",
            "a10_port": 443,
            "a10_protocol": "https",
            "a10_username": "admin",
            "acl_id": null,
            "acl_id_shared": null,
            "acl_name": null,
            "acl_name_shared": null,
            "arp_disable": null,
            "description": null,
            "disable_vip_adv": null,
            "enable_disable_action": "enable",
            "ethernet": null,
            "extended_stats": null,
            "get_type": null,
            "ha_dynamic": null,
            "ip_address": "10.1.1.1",
            "ipv6_acl": null,
            "ipv6_acl_shared": null,
            "ipv6_address": null,
            "migrate_vip": null,
            "name": " test1 ",
            "netmask": "255.255.255.0",
            "port_list": [
                {
                    "port_number": 80,
                    "protocol": "tcp"
                }
            ],
            "redistribute_route_map": null,
            "redistribution_flagged": null,
            "shared_partition_policy_template": null,
            "state": "present",
            "stats_data_action": "stats-data-enable",
            "template_logging": null,
            "template_policy": null,
            "template_policy_shared": null,
            "template_scaleout": null,
            "template_virtual_server": null,
            "use_if_ip": null,
            "user_tag": null,
            "uuid": null,
            "vport_disable_action": null,
            "vrid": null
        }
    },
    "message": "",
    "original_message": "",
    "result": {},
    "virtual-server": {
        "a10-url": "/axapi/v3/slb/virtual-server/%20test1%20",
        "arp-disable": 0,
        "disable-vip-adv": 0,
        "enable-disable-action": "enable",
        "extended-stats": 0,
        "ip-address": "10.1.1.1",
        "name": " test1 ",
        "netmask": "/24",
        "port-list": [
            {
                "a10-url": "/axapi/v3/slb/virtual-server/%20test1%20/port/80+tcp",
                "action": "enable",
                "auto": 0,
                "clientip-sticky-nat": 0,
                "conn-limit": 64000000,
                "cpu-compute": 0,
                "def-selection-if-pref-failed": "def-selection-if-pref-failed",
                "extended-stats": 0,
                "force-routing-mode": 0,
                "ha-conn-mirror": 0,
                "ipinip": 0,
                "memory-compute": 0,
                "message-switching": 0,
                "no-auto-up-on-aflex": 0,
                "no-dest-nat": 0,
                "no-logging": 0,
                "port-number": 80,
                "protocol": "tcp",
                "range": 0,
                "reset": 0,
                "reset-on-server-selection-fail": 0,
                "rtp-sip-call-id-match": 0,
                "scaleout-bucket-count": 32,
                "skip-rev-hash": 0,
                "snat-on-vip": 0,
                "stats-data-action": "stats-data-enable",
                "syn-cookie": 0,
                "template-tcp": "default",
                "template-virtual-port": "default",
                "use-alternate-port": 0,
                "use-default-if-no-server": 0,
                "use-rcv-hop-for-resp": 0,
                "uuid": "0c2a963c-f741-11e9-b845-e9b0dd63a720"
            }
        ],
        "redistribution-flagged": 0,
        "stats-data-action": "stats-data-enable",
        "uuid": "0c2a19e6-f741-11e9-b845-e9b0dd63a720"
    }
}

TASK [slb : create] ***************************************************************************************************************************************************************
task path: /var/lib/awx/projects/a10/roles/slb/tasks/main.yml:3
<10.247.5.29> ESTABLISH LOCAL CONNECTION FOR USER: root
<10.247.5.29> EXEC /bin/sh -c 'echo ~root && sleep 0'
<10.247.5.29> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /root/.ansible/tmp/ansible-tmp-1572014931.51-10342010886567 `" && echo ansible-tmp-1572014931.51-10342010886567="` echo /root/.ansible/tmp/ansible-tmp-1572014931.51-10342010886567 `" ) && sleep 0'
Using module file /usr/share/ansible/plugins/modules/a10_ansible/library/a10_slb_virtual_server.py
<10.247.5.29> PUT /root/.ansible/tmp/ansible-local-57176X2vg1j/tmpKJVm5x TO /root/.ansible/tmp/ansible-tmp-1572014931.51-10342010886567/AnsiballZ_a10_slb_virtual_server.py
<10.247.5.29> EXEC /bin/sh -c 'chmod u+x /root/.ansible/tmp/ansible-tmp-1572014931.51-10342010886567/ /root/.ansible/tmp/ansible-tmp-1572014931.51-10342010886567/AnsiballZ_a10_slb_virtual_server.py && sleep 0'
<10.247.5.29> EXEC /bin/sh -c '/usr/bin/python /root/.ansible/tmp/ansible-tmp-1572014931.51-10342010886567/AnsiballZ_a10_slb_virtual_server.py && sleep 0'
<10.247.5.29> EXEC /bin/sh -c 'rm -f -r /root/.ansible/tmp/ansible-tmp-1572014931.51-10342010886567/ > /dev/null 2>&1 && sleep 0'
ok: [10.247.5.29] => {
    "changed": false,
    "invocation": {
        "module_args": {
            "a10_host": "10.247.5.29",
            "a10_partition": null,
            "a10_password": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER",
            "a10_port": 443,
            "a10_protocol": "https",
            "a10_username": "admin",
            "acl_id": null,
            "acl_id_shared": null,
            "acl_name": null,
            "acl_name_shared": null,
            "arp_disable": null,
            "description": null,
            "disable_vip_adv": null,
            "enable_disable_action": "enable",
            "ethernet": null,
            "extended_stats": null,
            "get_type": null,
            "ha_dynamic": null,
            "ip_address": "10.1.1.1",
            "ipv6_acl": null,
            "ipv6_acl_shared": null,
            "ipv6_address": null,
            "migrate_vip": null,
            "name": " test2 ",
            "netmask": "255.255.255.0",
            "port_list": [
                {
                    "port_number": 80,
                    "protocol": "tcp"
                }
           ],
            "redistribute_route_map": null,
            "redistribution_flagged": null,
            "shared_partition_policy_template": null,
            "state": "present",
            "stats_data_action": "stats-data-enable",
            "template_logging": null,
            "template_policy": null,
            "template_policy_shared": null,
            "template_scaleout": null,
            "template_virtual_server": null,
            "use_if_ip": null,
            "user_tag": null,
            "uuid": null,
            "vport_disable_action": null,
            "vrid": null
        }
    },
    "message": "",
    "original_message": "",
    "result": {}
}

TASK [slb : create] ***************************************************************************************************************************************************************
task path: /var/lib/awx/projects/a10/roles/slb/tasks/main.yml:3
<10.247.5.29> ESTABLISH LOCAL CONNECTION FOR USER: root
<10.247.5.29> EXEC /bin/sh -c 'echo ~root && sleep 0'
<10.247.5.29> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /root/.ansible/tmp/ansible-tmp-1572014932.64-244561048768912 `" && echo ansible-tmp-1572014932.64-244561048768912="`
echo /root/.ansible/tmp/ansible-tmp-1572014932.64-244561048768912 `" ) && sleep 0'
Using module file /usr/share/ansible/plugins/modules/a10_ansible/library/a10_slb_virtual_server.py
<10.247.5.29> PUT /root/.ansible/tmp/ansible-local-57176X2vg1j/tmpuWRYRS TO /root/.ansible/tmp/ansible-tmp-1572014932.64-244561048768912/AnsiballZ_a10_slb_virtual_server.py
<10.247.5.29> EXEC /bin/sh -c 'chmod u+x /root/.ansible/tmp/ansible-tmp-1572014932.64-244561048768912/ /root/.ansible/tmp/ansible-tmp-1572014932.64-244561048768912/AnsiballZ_a10_slb_virtual_server.py && sleep 0'
<10.247.5.29> EXEC /bin/sh -c '/usr/bin/python /root/.ansible/tmp/ansible-tmp-1572014932.64-244561048768912/AnsiballZ_a10_slb_virtual_server.py && sleep 0'
<10.247.5.29> EXEC /bin/sh -c 'rm -f -r /root/.ansible/tmp/ansible-tmp-1572014932.64-244561048768912/ > /dev/null 2>&1 && sleep 0'
ok: [10.247.5.29] => {
    "changed": false,
    "invocation": {
        "module_args": {
            "a10_host": "10.247.5.29",
            "a10_partition": null,
            "a10_password": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER",
            "a10_port": 443,
            "a10_protocol": "https",
            "a10_username": "admin",
            "acl_id": null,
            "acl_id_shared": null,
            "acl_name": null,
            "acl_name_shared": null,
            "arp_disable": null,
            "description": null,
            "disable_vip_adv": null,
            "enable_disable_action": "enable",
            "ethernet": null,
            "extended_stats": null,
            "get_type": null,
            "ha_dynamic": null,
            "ip_address": "10.1.1.1",
            "ipv6_acl": null,
            "ipv6_acl_shared": null,
            "ipv6_address": null,
            "migrate_vip": null,
            "name": " test3 ",
            "netmask": "255.255.255.0",
            "port_list": [
                {
                    "port_number": 80,
                    "protocol": "tcp"
                }
            ],
            "redistribute_route_map": null,
            "redistribution_flagged": null,
            "shared_partition_policy_template": null,
            "state": "present",
            "stats_data_action": "stats-data-enable",
            "template_logging": null,
            "template_policy": null,
            "template_policy_shared": null,
            "template_scaleout": null,
            "template_virtual_server": null,
            "use_if_ip": null,
            "user_tag": null,
            "uuid": null,
            "vport_disable_action": null,
            "vrid": null
        }
    },
    "message": "",
    "original_message": "",
    "result": {}
}
META: ran handlers
META: ran handlers

PLAY RECAP ************************************************************************************************************************************************************************
10.247.5.29                : ok=3    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0
'''

1 个答案:

答案 0 :(得分:0)

经过大量工作,我能够从头开始解决问题,看来原来的问题是由播放变量“ {{name}}”中的空格引起的。一旦将其更改为“ {{name}}”,一切似乎就会按预期进行。我仍然在语法上苦苦挣扎,但是一旦我做好了这项工作,我就能够按照我的希望将游戏紧密地联系在一起。感谢你们俩的帮助。