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