ansible + 如何排除机器主机名是 uniq 的情况

ansible + 如何排除机器主机名是 uniq 的情况

以下ansible代码的含义是退出并发送当机器是生产服务器时我们无法重新启动的消息

生产服务器可以通过机器主机名中的“prod”一词来识别

hostname

server109.prod.domain.com

但如果机器名称包含实验室,如下所示

server109.lab.domain.com

然后我们不想退出

- name: exit if reboot needed
  fail:
    msg: after kernel update need reboot but reboot will not be on production machines 
  when: res.reboot_required 
  

所以我的问题是如何更新“何时”,以防当机器名称包含“实验室”时我们不想退出

答案1

根据你的例子和 Ansible发现变量:事实和神奇变量ansible_facts将会

ansible_hostname: "server109"
ansible_domain: "lab.domain.com"

因此有条件的应该

when: (results.reboot_required) and (ansible_domain == "lab.domain.com")

或者

when: (results.reboot_required) and ("lab" in ansible_domain)

谢谢

相关内容