Kri*_*rma 6 ansible ansible-template ansible-2.x ansible-inventory
我已经在不同的角色中定义了 nginx_upstreams 变量,该角色又使用 geerlingguy.nginx 角色,并且我还指定了“名称”、“策略”和“服务器”,但是当我运行此角色时,ansible 会抛出给定的错误下面就好像它无法访问为 nginx_upstream 定义的“name”变量一样。
这是抛出错误的任务
- name: Create upstream files
file:
path: "{{ nginx_vhost_path }}/{{ item.name + '.conf' }}"
state: touch
with_items: "{{ nginx_upstreams }}"
Run Code Online (Sandbox Code Playgroud)
这是定义“nginx_upstreams”时使用的角色。
- name: "Configure specific nginx service for concert to connect on remote host"
include_role:
name: geerlingguy.nginx
vars:
#for configuration specific to each server
nginx_upstreams:
- name: SOME_UPSTREAM_NAME
strategy: SOME_STRATEGY
servers: "{{ SOME_SERVER }}"
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误-
fatal: [IP]: FAILED! => {"msg": "The task includes an option with an undefined variable. The error was: 'ansible.utils.unsafe_proxy.AnsibleUnsafeText object' has no attribute 'value'\n\nThe error appears to be in '/etc/ansible/roles/geerlingguy.nginx/tasks/vhosts.yml': line 29, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n- name: Create upstream files\n ^ here\n"}
Run Code Online (Sandbox Code Playgroud)
这是由一个很可能被循环的空白变量引起的。仔细检查您的变量是否设置正确。
例如,如果您失败的任务是这样的:
- name: Ensure MySQL databases are present.
mysql_db:
name: "{{ item.name }}"
collation: "{{ item.collation | default('utf8_general_ci') }}"
encoding: "{{ item.encoding | default('utf8') }}"
state: "{{ item.state | default('present') }}"
with_items: "{{ mysql_databases }}"
Run Code Online (Sandbox Code Playgroud)
添加调试任务:
---
- name: "Debug"
debug:
var: mysql_databases
- name: Ensure MySQL databases are present.
mysql_db:
name: "{{ item.name }}"
collation: "{{ item.collation | default('utf8_general_ci') }}"
encoding: "{{ item.encoding | default('utf8') }}"
state: "{{ item.state | default('present') }}"
with_items: "{{ mysql_databases }}"
Run Code Online (Sandbox Code Playgroud)
然后在该 mysql 角色(atom
进行简单的跨目录搜索)中搜索set_fact
该 var (在本例中mysql_databases
您很可能将事实设置为空代理对象
归档时间: |
|
查看次数: |
31053 次 |
最近记录: |