Tower:是什么导致“[警告]:在组名称中发现无效字符但未替换,使用 -vvvv 查看详细信息”
Tower: What is causing "[WARNING]: Invalid characters were found in group names but not replaced, use -vvvv to see details"
我刚刚开始使用 Ansible Tower 并创建了一个项目,然后在该项目下创建了一个使用小型初始测试手册的作业模板 (Test.yml):
---
- hosts: east01.xxxxx.com
become: yes
become_method: sudo
tasks:
- name: test
shell: echo 'line one line two line three' >> /tmp/abcdef.txt
并且,当我尝试通过单击 Tower 中的“rocketship”来 运行 该剧本时,看起来它正在运行:
Identity added: /tmp/awx_35003_yehjodc1/artifacts/35003/ssh_key_data (/tmp/awx_35003_yehjodc1 /artifacts/35003/ssh_key_data)
[WARNING]: Invalid characters were found in group names but not replaced, use
-vvvv to see details
PLAY [east01.xxxxx.com] **********************************************
TASK [Gathering Facts] *********************************************************
ok: [east01.xxxxx.com]
TASK [test] ********************************************************************
changed: [east01.xxxxx.com]
PLAY RECAP *********************************************************************
east01.xxxxx.com : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
看起来它确实有效(当我 运行 剧本时,我可以看到目标机器上的文件正在被修改),但是有人能告诉我是什么导致了警告:
[WARNING]: Invalid characters were found in group names but not replaced, use
-vvvv to see details
??
警告还说“使用 -vvvv”,我想知道 where/how 我是否会这样做(因为我 运行 在 Tower 下使用此剧本)?
谢谢!吉姆
编辑:我刚刚做了一个测试,我使用 ansible-playbook(命令行)运行 相同的 yaml 文件并且 运行 没有那个警告,所以我猜这个警告是ansible-playbook 和 Tower 之间的区别?
您的 ansible-playbook
版本可能比 Tower 中使用的 Ansible 版本旧。
在最新版本的 Ansible 中,组名必须是有效的变量名。有关什么构成有效变量名称的详细信息,请参阅 the docs。
如果 east01.xxxxx.com
是一个组名,句号就是问题所在。否则,请检查您的组名称中是否有非字母、数字或 _
.
的任何内容
如果您在声明组名称时在清单文件中使用破折号,则会出现此警告。
例如,如果您的库存文件如下所示:
[web-servers]
ubuntu ansible_ssh_host=xxx.xxx.xxx.xxx
Ansible 将抛出该警告。
相反,如果您将使用下划线,则警告消失。
[web_servers]
ubuntu ansible_ssh_host=xxx.xxx.xxx.xxx
我刚刚开始使用 Ansible Tower 并创建了一个项目,然后在该项目下创建了一个使用小型初始测试手册的作业模板 (Test.yml):
---
- hosts: east01.xxxxx.com
become: yes
become_method: sudo
tasks:
- name: test
shell: echo 'line one line two line three' >> /tmp/abcdef.txt
并且,当我尝试通过单击 Tower 中的“rocketship”来 运行 该剧本时,看起来它正在运行:
Identity added: /tmp/awx_35003_yehjodc1/artifacts/35003/ssh_key_data (/tmp/awx_35003_yehjodc1 /artifacts/35003/ssh_key_data)
[WARNING]: Invalid characters were found in group names but not replaced, use
-vvvv to see details
PLAY [east01.xxxxx.com] **********************************************
TASK [Gathering Facts] *********************************************************
ok: [east01.xxxxx.com]
TASK [test] ********************************************************************
changed: [east01.xxxxx.com]
PLAY RECAP *********************************************************************
east01.xxxxx.com : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
看起来它确实有效(当我 运行 剧本时,我可以看到目标机器上的文件正在被修改),但是有人能告诉我是什么导致了警告:
[WARNING]: Invalid characters were found in group names but not replaced, use
-vvvv to see details
??
警告还说“使用 -vvvv”,我想知道 where/how 我是否会这样做(因为我 运行 在 Tower 下使用此剧本)?
谢谢!吉姆
编辑:我刚刚做了一个测试,我使用 ansible-playbook(命令行)运行 相同的 yaml 文件并且 运行 没有那个警告,所以我猜这个警告是ansible-playbook 和 Tower 之间的区别?
您的 ansible-playbook
版本可能比 Tower 中使用的 Ansible 版本旧。
在最新版本的 Ansible 中,组名必须是有效的变量名。有关什么构成有效变量名称的详细信息,请参阅 the docs。
如果 east01.xxxxx.com
是一个组名,句号就是问题所在。否则,请检查您的组名称中是否有非字母、数字或 _
.
如果您在声明组名称时在清单文件中使用破折号,则会出现此警告。 例如,如果您的库存文件如下所示:
[web-servers]
ubuntu ansible_ssh_host=xxx.xxx.xxx.xxx
Ansible 将抛出该警告。 相反,如果您将使用下划线,则警告消失。
[web_servers]
ubuntu ansible_ssh_host=xxx.xxx.xxx.xxx