Ansible动态库存组不工作

Ansible动态库存组不工作,ansible,Ansible,我正在使用ansible的ec2动态清单脚本,并创建了一个相当简单的概念证明。这是组文件的内容,它位于ec2.py和ec2.ini旁边: 当我使用该清单ping标记组时,它会按预期工作: $>ansible -i inventory/stage/ec2.py tag_classification_server_type_1 -m ping --private-key ~/.ssh/foo.pem 12.345.67.89 | SUCCESS => { "changed":

我正在使用ansible的ec2动态清单脚本,并创建了一个相当简单的概念证明。这是组文件的内容,它位于ec2.py和ec2.ini旁边:

当我使用该清单ping标记组时,它会按预期工作:

$>ansible -i inventory/stage/ec2.py tag_classification_server_type_1 -m ping --private-key ~/.ssh/foo.pem 
12.345.67.89 | SUCCESS => {
    "changed": false, 
    "ping": "pong"
}
但尝试使用已定义的组失败,我在这里显示阶段,但在尝试与app_servers组通信时,相同的输出是正确的:

我以前使用过使用ec2的ansible中的组,从来没有遇到过任何问题。我下载了全新的ec2.ini和ec2.py文件,以确保我没有意外修改它们

当我检查inventory ansible inventory ec2.py-list时,它确认我定义的组不在那里


有什么想法吗?

当然,如果你为一个问题挣扎了一个小时,你将一事无成。但是在StackOverflow上发布,您将在5分钟内自己解决

最后,如果希望传递包含组、ec2.py和ec2.ini的整个文件夹以尊重这些组,则必须传递它们,否则将忽略它们

所以正确的说法是:

$>ansible -i inventory/stage stage -m ping --private-key ~/.ssh/foo.pem
而不是:

$>ansible -i inventory/stage/ec2.py stage -m ping --private-key ~/.ssh/foo.pem
$>ansible -i inventory/stage stage -m ping --private-key ~/.ssh/foo.pem
$>ansible -i inventory/stage/ec2.py stage -m ping --private-key ~/.ssh/foo.pem