Ansible:ansible_domain或facter_domain – 如何获取库存文件中提到的主机名的域值

Ansible:ansible_domain或facter_domain – 如何获取库存文件中提到的主机名的域值,第1张

概述Ansible 1.9.2 / 1.9.4 CentOS 6.7 在我的invetory文件中,我有: [zabbix_server]zabbix.dev-white.projectname.jenkins[some_other_zabbix_server]someotherzabbix.dev-blue.project.jenkins ansible_ssh_host=10.120.13 Ansible 1.9.2 / 1.9.4
CentOS 6.7

在我的invetory文件中,我有:

[zabbix_server]zabbix.dev-white.projectname.jenkins[some_other_zabbix_server]someotherzabbix.dev-blue.project.jenkins ansible_ssh_host=10.120.133.11

当我跑:

ansible -m setup -i hosts zabbix.dev-white.projectname.jenkins

它给了我以下错误:

zabbix.dev-white.projectname.jenkins | Failed => Failed:没有可用的身份验证方法

在我的剧本中,我正在尝试获取zabbix服务器的域值,即dev-white.projectname.jenkins.我尝试了以下但是用于显示域值的变量是空白/ null,为什么?

注意:inventory_hostname的值正确显示!!但是ansible_domain / facter_domain的域值将作为空/空值.

- deBUG: msg="My server is= {{ hostvars[groups['zabbix_server'][0]].inventory_hostname }} and domain is= {{ hostvars[groups['zabbix_server'][0]].ansible_domain }} --- {{ hostvars[groups['zabbix_server'][0]]['inventory_hostname'] }} -- {{ hostvars[groups['zabbix_server'][0]]['ansible_domain'] }} -- -- {{ hostvars[groups['zabbix_server'][0]]['facter_domain'] }}"

尝试使用some_other_zabbix_server组变量的上述代码(其中设置了ansible_ssh_host变量),仍然没有显示其域的值. PS:ansible_ssh_host属性将在较新的Ansible版本中弃用.

解决方法 一种方法是拆分和连接除第一部分之外的所有部分.

- deBUG: var="{{ groups['zabbix_server'][0].split('.')[1:] | join('.') }}"

结果:

"dev-white.projectname.jenkins"
总结

以上是内存溢出为你收集整理的Ansible:ansible_domain或facter_domain – 如何获取库存文件中提到主机名的域值全部内容,希望文章能够帮你解决Ansible:ansible_domain或facter_domain – 如何获取库存文件中提到的主机名的域值所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1061802.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存