免责声明...我是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
'''
答案 0 :(得分:0)
经过大量工作,我能够从头开始解决问题,看来原来的问题是由播放变量“ {{name}}”中的空格引起的。一旦将其更改为“ {{name}}”,一切似乎就会按预期进行。我仍然在语法上苦苦挣扎,但是一旦我做好了这项工作,我就能够按照我的希望将游戏紧密地联系在一起。感谢你们俩的帮助。