使用Azure动态资源清册时Playbook失败

使用Azure动态资源清册时Playbook失败,azure,ansible,ansible-inventory,Azure,Ansible,Ansible Inventory,正如标题所示,我使用的是Azure动态库存文件,在针对收集的库存运行playbook时遇到了一个问题 我正在使用Ansible 2.9.1,并使用找到的说明设置库存文件 $ ansible --version ansible 2.9.1 config file = None configured module search path = ['/home/myuser/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']

正如标题所示,我使用的是Azure动态库存文件,在针对收集的库存运行playbook时遇到了一个问题

我正在使用Ansible 2.9.1,并使用找到的说明设置库存文件

$ ansible --version
ansible 2.9.1
config file = None
configured module search path = ['/home/myuser/.ansible/plugins/modules', 
'/usr/share/ansible/plugins/modules']
ansible python module location = /home/myuser/.local/lib/python3.6/site-packages/ansible
executable location = /home/myuser/.local/bin/ansible
python version = 3.6.9 (default, Sep 11 2019, 16:40:19) [GCC 4.8.5 20150623 (Red Hat 4.8.5-16)]
我的库存文件:

plugin: azure_rm
include_vm_resource_groups:
- mytestrg
auth_source: cli
cloud_environment: AzureUSGovernment

hostvar_expressions:
ansible_connection: "'winrm'" 
ansible_user: "'azureuser"
ansible_password: "'Password1'"
ansible_winrm_server_cert_validation: "'ignore'"

keyed_groups:
- prefix: some_tag
key: tags.sometag | default('none')

exclude_host_filters:
- powerstate != 'running'
使用清单文件时,简单的特别命令(如ping)会成功。但是,我无法让它发挥作用的是运行一个与之相反的剧本

我的剧本:

- hosts: all
  name: Run whoami
  tasks:
  - win_command: whoami
    register: whoami_out

- debug:
    var: whoami_out
ansible-playbook -i ./inventory_azure_rm.yaml whoami.yaml
我用来运行剧本的命令:

- hosts: all
  name: Run whoami
  tasks:
  - win_command: whoami
    register: whoami_out

- debug:
    var: whoami_out
ansible-playbook -i ./inventory_azure_rm.yaml whoami.yaml
无论我针对的是哪个主机,playbook都会失败:

[警告]:无法匹配提供的主机模式,忽略: 剧本/whoami.yaml

[警告]:没有匹配的主机,无需执行任何操作


有什么建议可以帮助我度过难关吗?我感谢任何帮助

嗨,沃伦克,欢迎来到SO。不可能知道你的清单yaml文件中是否有所有引用的文本,或者你只是打错了你的问题。如果这确实是您所拥有的,那么请注意,清单yaml文件不受jinja2插值的约束,因此您不能
tags.sometag | default('none')
并期望它工作。还不清楚您为什么对
ansible\u连接:
\u用户:
,等等分别使用两个单独的引用字符串,您是否尝试了它们链接的方法,并查看了它提供的结果?嘿,mdaniel!谢谢你的回复。jinja2插值在这个清单文件中起作用,这个确切的例子在Ansible Azure动态清单中提供。对我来说没有意义的是,当我运行一个特别命令时,这个清单文件可以工作,但当我将它用于剧本时,它就不能工作了。如果我在文件中有错误,它也不应该反对,对吗?哦,我很抱歉;我不知道jinja2和库存插件。请包含实际命令和实际运行的更多输出,因为消息
忽略:playbooks/whoami.yaml
对于您目前发布的内容没有任何意义,因此您尝试调用ansible的实际方式可能有一个小的输入错误