本地库存的 Ansible AWX 自定义脚本不工作

Ansible AWX Custom Script for Local Inventory Not working

我在容器中设置了 Ansible AWX 服务器,并设置了 3 个本地 LAN 虚拟机的所有条形清单。

我希望在我的 LAN 上添加一些已部署的虚拟机用于测试用例,目前有 3 个主机。

我正在查看下面 link 中包含的自定义动态库存脚本,但对我来说似乎 运行 不正确。我在 python 语法中看到一个错误。无论如何我都尝试上传,但是当 运行 在库存中同步时出现错误 "needs to be a json dict"。这也是我在第 32 行有语法错误的行:

print json.dumps(self.inventory);

Dynamic Inventory Script

我只想将 3 个主机虚拟机或子网添加到清单以测试一些剧本。

This is also the line I have syntax error on line 32:

print json.dumps(self.inventory);

也就是说很有可能你的python实际上是python3,其中print变成了一个函数,而不是关键字。因此,您将需要执行以下一项或两项操作:

  1. print json... 更改为 print(json.dumps(self.inventory))
  2. 在文件顶部添加一个声明,以确保即使在 运行 on python 2:

    时,脚本仍将继续合理运行
    #!/usr/bin/env python
    from __future__ import print_function
    
    '''
    Example custom dynamic inventory script for Ansible, in Python.