微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么Ansible没有在variables中看到属性?

我有Ansibleangular色“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 }

当我尝试运行这个剧本时:

--- - 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

但是,我有另外一个任务和variables的作用,它完美的工作。 怎么了?

你想这样做:

with_items: apt_repos

apt_repos是一个列表。 通过将其引用为- "{{ apt_repos }}" ,额外的功能就是把它变成列表清单。 在这种情况下,你也不需要引号或大括号 – 在这种情况下,这些只是多余的。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐