Ansible 在指定时没有使用正确的变量?
Ansible not using correct vars when specifying?
我的 ansible 剧本有一些问题,没有添加正确的变量。这是任务。
#Change name: to be the name of whatever group you want to add
- name: Add new group if necessary
group:
name: "{{ group_name }}"
state: present
# Change name: to be the name of the user you wish to add.
- name: Manage user accounts
user: name={{ item }} state=present group={{ group_name }}
with_items: "{{ users }} "
这里是变量文件
---
users:
- test1
- test2
- test3
group_name:
- developers
出于某种原因,当我 运行 时,它创建了组并将其命名为
'developers'
然后,该剧的添加用户部分实际上是在寻找一个完全不同的组名 [developers]
看到失败的输出。
PLAY [users] ******************************************************************
GATHERING FACTS ***************************************************************
ok: [172.17.51.202]
TASK: [user-manage | Add new group if necessary] ******************************
changed: [172.17.51.202]
TASK: [user-manage | Manage user accounts] ************************************
failed: [172.17.51.202] => (item=test1) => {"failed": true, "item": "test1"}
msg: Group [developers] does not exist
failed: [172.17.51.202] => (item=test2) => {"failed": true, "item": "test2"}
msg: Group [developers] does not exist
failed: [172.17.51.202] => (item=test3) => {"failed": true, "item": "test3"}
msg: Group [developers] does not exist
FATAL: all hosts have already failed -- aborting
这是它实际创建的组。
我不明白为什么他们都在寻找不同的变量,而实际上没有一个是我指定的正确变量。
有什么想法吗?
回复 Petro:
我把它从列表改成了单变量
---
users:
- test1
- test2
- test3
group_name: developers
我仍然遇到此错误
failed: [172.17.51.202] => (item=test1) => {"failed": true, "item": "test1"}
msg: Group [developers] does not exist
failed: [172.17.51.202] => (item=test2) => {"failed": true, "item": "test2"}
msg: Group [developers] does not exist
failed: [172.17.51.202] => (item=test3) => {"failed": true, "item": "test3"}
msg: Group [developers] does not exist
FATAL: all hosts have already failed -- aborting
所以那没有用。还有其他想法吗?
编辑 2:
Petro 确实有效。对不起。我搞砸了。你的答案是正确的。
非常感谢!
您制作了 "group_name" 列表而不是单个值。将您的 vars 文件更改为:
group_name: developers
它应该可以工作
我的 ansible 剧本有一些问题,没有添加正确的变量。这是任务。
#Change name: to be the name of whatever group you want to add
- name: Add new group if necessary
group:
name: "{{ group_name }}"
state: present
# Change name: to be the name of the user you wish to add.
- name: Manage user accounts
user: name={{ item }} state=present group={{ group_name }}
with_items: "{{ users }} "
这里是变量文件
---
users:
- test1
- test2
- test3
group_name:
- developers
出于某种原因,当我 运行 时,它创建了组并将其命名为 'developers'
然后,该剧的添加用户部分实际上是在寻找一个完全不同的组名 [developers]
看到失败的输出。
PLAY [users] ******************************************************************
GATHERING FACTS ***************************************************************
ok: [172.17.51.202]
TASK: [user-manage | Add new group if necessary] ******************************
changed: [172.17.51.202]
TASK: [user-manage | Manage user accounts] ************************************
failed: [172.17.51.202] => (item=test1) => {"failed": true, "item": "test1"}
msg: Group [developers] does not exist
failed: [172.17.51.202] => (item=test2) => {"failed": true, "item": "test2"}
msg: Group [developers] does not exist
failed: [172.17.51.202] => (item=test3) => {"failed": true, "item": "test3"}
msg: Group [developers] does not exist
FATAL: all hosts have already failed -- aborting
这是它实际创建的组。 我不明白为什么他们都在寻找不同的变量,而实际上没有一个是我指定的正确变量。
有什么想法吗?
回复 Petro:
我把它从列表改成了单变量
---
users:
- test1
- test2
- test3
group_name: developers
我仍然遇到此错误
failed: [172.17.51.202] => (item=test1) => {"failed": true, "item": "test1"}
msg: Group [developers] does not exist
failed: [172.17.51.202] => (item=test2) => {"failed": true, "item": "test2"}
msg: Group [developers] does not exist
failed: [172.17.51.202] => (item=test3) => {"failed": true, "item": "test3"}
msg: Group [developers] does not exist
FATAL: all hosts have already failed -- aborting
所以那没有用。还有其他想法吗?
编辑 2:
Petro 确实有效。对不起。我搞砸了。你的答案是正确的。
非常感谢!
您制作了 "group_name" 列表而不是单个值。将您的 vars 文件更改为:
group_name: developers
它应该可以工作