首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在ansible实战手册中创建循环-错误

在ansible实战手册中创建循环-错误
EN

Stack Overflow用户
提问于 2020-12-13 07:49:48
回答 1查看 58关注 0票数 4

实战手册

代码语言:javascript
复制
---
- name: task 11
  hosts: prod
  vars_files:
    - users_pass.yml
  tasks:
    - name: create group profs
      group:
        name: profs
        state: present

    - name: create users who have depart set as profs
      user:
        name: "{{ item.uname }}"
        groups: "{{ item.department }}"
        shell: /bin/bash
        password: "{{ item.password | password_hash ('sha256') }}"
      when: "'{{ item.department }}'=='profs'"
      loop: " {{ users }} "

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#the users_pass.yml
---
users:
- uname: linda
  password: password
  department: profs

- uname: lisa
  password: secret
  department: profs

- uname: anna
  password: geheim
  department: students

当运行上面提到的剧本并添加这个var文件时,我得到以下错误:

代码语言:javascript
复制
fatal: [ansible5]: FAILED! => {
    "msg": "Invalid data passed to 'loop', it requires a list, got this instead:  [{'uname': 'linda', 'password': 'password', 'department': 'profs'}, {'uname': 'lisa', 'password': 'secret', 'department': 'profs'}, {'uname': 'anna', 'password': 'geheim', 'department': 'students'}] . Hint: If you passed a list/dict of just one element, try adding wantlist=True to your lookup invocation or use q/query instead of lookup."
}

我真的不明白,我确信我的变量声明是正确的。有什么需要帮忙的吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-13 11:46:32

我认为问题是由于loop变量中引号中的空格造成的,即" {{ users }} "。由于使用Jinja分隔符{{when条件中可能存在另一个“隐藏”问题。

总体而言,它应该与以下更改一起工作:

代码语言:javascript
复制
    - name: create users who have depart set as profs
      user:
        name: "{{ item.uname }}"
        groups: "{{ item.department }}"
        shell: /bin/bash
        password: "{{ item.password|password_hash('sha256') }}"
      when: item.department == "profs"
      loop: "{{ users }}"
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65271074

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档