linux – 为什么Ansible没有在变量中看到属性?

linux – 为什么Ansible没有在变量中看到属性?,第1张

概述我有一个简单任务的Ansible角色“db”: - name: Check repos apt_repository: repo="{{ item.repo }}" state={{ item.state }} with_items: - "{{ apt_repos }}" 在/defaults/mail.yml中: apt_repos: # Percona - { state: p @H_419_2@ 我有一个简单任务的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 @R_403_5138@ -- aborting

但我有另一个角色,具有相同的任务和变量,它完美地工作.怎么了?

解决方法 你想这样做:

with_items: apt_repos

apt_repos是一个列表.通过引用它 – “{{apt_repos}}”额外 – 将其转换为列表列表.在这种情况下,您也不需要引号或括号 – 在这种情况下,这些几乎都是多余的.

@H_419_2@ 总结

以上是内存溢出为你收集整理的linux – 为什么Ansible没有在变量中看到属性?全部内容,希望文章能够帮你解决linux – 为什么Ansible没有在变量中看到属性?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/1026093.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存