Ansible 1.9.2 / 1.9.4
CentOS 6.7
CentOS 6.7
[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"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。