我试图创建一个仅依赖于其他角色的ansible角色,前提是正在其上运行的计算机的主机名包含某个字符串。例如:
dependencies:
- { role: example-role, when: "'hostname' in ansible_hostname" }
照原样,当计算机的主机名包含短语“主机名”时,该角色将运行。但是,我们大楼中的许多机器的主机名都是大写的,例如,它可能包含“HOSTNAME”。在这种情况下,以上声明将不起作用。我该如何进行这项工作(除了重复执行该行,并在所有大写字母中加上“主机名”)以忽略字母大小写?
最佳答案
将字符串转换为小写字母,然后仅进行检查。像这样:
dependencies:
- { role: example-role, when: "'hostname' in ansible_hostname|lower" }
关于ansible - 忽略Ansible条件时区分大小写吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38399092/