2

ansible我正在尝试在已标记为Name = foo-bar(注意连字符)的主机上运行临时命令。当我运行时:

ansible tag_Name_foo_bar -i ec2.py -m ping

我得到:No hosts matched

但是,有这样的主人。如果我对使用不包含连字符的名称标记的主机运行相同的命令,它可以正常工作,例如对于标记为 的主机,Name = foobar以下工作:

ansible tag_Name_foobar -i ec2.py -m ping

H

4

1 回答 1

2

你的ansible版本是什么?这个对我有用。根据示例:AWS EC2 外部清单脚本

标签

每个实例都可以有各种与其关联的键/值对,称为标签。最常见的标签键是“名称”,尽管一切皆有可能。每个键/值对都是它自己的一组实例,再次将特殊字符转换为下划线,格式为 tag_KEY_VALUE 例如 tag_Name_Web 可以按原样使用 tag_Name_redis-master-001 变为 tag_Name_redis_master_001 tag_aws_cloudformation_logical-id_WebServerGroup 变为 tag_aws_cloudformation_logical_id_WebServerGroup

ansible 的 ec2 缓存可能没有刷新。尝试:

ec2.py --refresh-cache

然后再次运行您的 ansible 命令。当我将我的实例标签名称更改为foo_bar, ot 正常工作。

于 2016-12-09T17:21:34.813 回答