Ansible: Ec2.py Inventory 脚本不会解析以电子邮件为值的标签

创建于 2016-04-28  ·  3评论  ·  资料来源: ansible/ansible

问题类型
  • 错误报告
    ANSIBLE 版本
ansible 2.0.1.0
配置
操作系统/环境

概括

对于我的环境中以电子邮件地址作为值的机器,我无法根据“所有者”标签执行任何可靠的操作。

重现步骤

我检查以确保标签值存在:

./ec2.py --list >> aws_example.json

我可以确认“所有者”标签:

...
"ec2_tag_Owner": "infrastructure",
...
"ec2_tag_Owner": "[email protected]",
...

但是当我运行 ansible 命令来引用使用该标签的主机时,它找不到以电子邮件地址作为值的主机:

ansible -i tools/ec2.py [email protected] -m ping
预期成绩

这是相同命令的示例,其标记值为“基础设施”

ansible -i tools/ec2.py tag_Owner_infrastructure -m ping
The authenticity of host '52.53.222.209 (52.53.222.209)' can't be established.

这表明它知道主机并试图联系它。

实际结果
$ ansible -i tools/ec2.py [email protected] -m ping -vvvv
Using /Users/.../ansible/ansible.cfg as config file
ERROR! Specified hosts options do not match any hosts

这表明它无法将实例与 Key:"Owner" 和 Value:" [email protected] " 相关联

所有3条评论

@bhuddleston感谢您的报告,但是,ec2.py 正在“故意”执行此操作以将生成的组名称值限制为 ASCII 字母数字。

看看ec2.py中的to_safe()https :

您的组名应该是tag_Owner_it_domain_com 。 (您始终可以从主机的上下文中执行debug: var=groups以找出它所属的所有组)。

这种行为可能有点严厉(因为我已经确认我们实际上会接受并使用其中包含“@”和“.”的组名)- 随时提交问题或 PR(或开始讨论我们的邮件列表/IRC)来改变 ec2.py 的行为。

啊! 现在我知道发生了什么,我尝试了“_”版本并且它起作用了! 谢谢您的帮助。

出于好奇,在任何地方的任何文档中都有详细说明吗? 我想确定我没有遗漏一些明显的东西。

我可能会伸出手,看看邮件列表是否接受它。


布赖恩·哈德尔斯顿
开放式 IT 设计(IT 工程师)
+1.510.460.1444(主)
+1.510.780.2425(传真)
[email protected]

2016 年 4 月 28 日下午 5:05,Matt Davis [email protected]写道:

@bhuddleston感谢您的报告,但是,ec2.py 正在“故意”执行此操作以将生成的组名称值限制为 ASCII 字母数字。

看看 ec2.py 中的 to_safe(): https :

您的组名应该是 tag_Owner_it_domain_com。 (您始终可以从主机的上下文中执行 debug: var=groups 以找出它所属的所有组)。

这种行为可能有点严厉(因为我已经确认我们实际上会接受并使用其中包含“@”和“.”的组名)- 随时提交问题或 PR(或开始讨论我们的邮件列表/IRC)来改变 ec2.py 的行为。


你收到这个是因为你被提到了。
直接回复此邮件或在 GitHub 上查看

是的,它在动态清单文档页面中,但有点隐藏在标签部分:“每个键/值对都是它自己的一组实例,特殊字符再次转换为下划线,格式为 tag_KEY_VALUE”

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

rokka-n picture rokka-n  ·  3评论

yatesr picture yatesr  ·  3评论

rchady picture rchady  ·  3评论

RaymiiOrg picture RaymiiOrg  ·  3评论

hryamzik picture hryamzik  ·  3评论