gpt4 book ai didi

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

转载 作者:IT王子 更新时间:2023-10-29 01:18:51 26 4
gpt4 key购买 nike

我有 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 }}" 额外的 - 将其转换为列表列表。在这种情况下,您也不需要引号或大括号 - 在这种情况下,它们几乎是多余的。

关于linux - 为什么 Ansible 没有在变量中看到属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33303335/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com