linux – 为什么Ansible没有在变量中看到属性?
发布时间:2020-12-14 01:05:39 所属栏目:Linux 来源:网络整理
导读:我有一个简单任务的Ansible角色“db”: - name: Check repos apt_repository: repo="{{ item.repo }}" state={{ item.state }} with_items: - "{{ apt_repos }}" 在/defaults/mail.yml中: apt_repos: # Percona - { state: present,repo: 'deb http://rep
我有一个简单任务的Ansible角色“db”:
- name: Check repos apt_repository: repo="{{ item.repo }}" state={{ item.state }} with_items: - "{{ apt_repos }}" 在/defaults/mail.yml中: apt_repos: # Percona - { state: present,repo: 'deb http://repo.percona.com/apt wheezy main',keyserver: 'keyserver.ubuntu.com',key: '1C4CBDCDCD2EFD2A',needkey: True } - { state: present,repo: 'deb-src http://repo.percona.com/apt wheezy main',needkey: False } 当我尝试运行这个ansible-playbook时: --- - hosts: test roles: - db 我看到错误: fatal: [10.10.10.10] => One or more undefined variables: 'unicode object' has no attribute 'repo' FATAL: all hosts have already failed -- aborting 但我有另一个角色,具有相同的任务和变量,它完美地工作.怎么了? 解决方法
你想这样做:
with_items: apt_repos apt_repos是一个列表.通过引用它 – “{{apt_repos}}”额外 – 将其转换为列表列表.在这种情况下,您也不需要引号或括号 – 在这种情况下,这些几乎都是多余的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |