本地库存的 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);
我只想将 3 个主机虚拟机或子网添加到清单以测试一些剧本。
This is also the line I have syntax error on line 32:
print json.dumps(self.inventory);
也就是说很有可能你的python
实际上是python3,其中print
变成了一个函数,而不是关键字。因此,您将需要执行以下一项或两项操作:
- 将
print json...
更改为 print(json.dumps(self.inventory))
在文件顶部添加一个声明,以确保即使在 运行 on python 2:
时,脚本仍将继续合理运行
#!/usr/bin/env python
from __future__ import print_function
'''
Example custom dynamic inventory script for Ansible, in Python.
我在容器中设置了 Ansible AWX 服务器,并设置了 3 个本地 LAN 虚拟机的所有条形清单。
我希望在我的 LAN 上添加一些已部署的虚拟机用于测试用例,目前有 3 个主机。
我正在查看下面 link 中包含的自定义动态库存脚本,但对我来说似乎 运行 不正确。我在 python 语法中看到一个错误。无论如何我都尝试上传,但是当 运行 在库存中同步时出现错误 "needs to be a json dict"。这也是我在第 32 行有语法错误的行:
print json.dumps(self.inventory);
我只想将 3 个主机虚拟机或子网添加到清单以测试一些剧本。
This is also the line I have syntax error on line 32:
print json.dumps(self.inventory);
也就是说很有可能你的python
实际上是python3,其中print
变成了一个函数,而不是关键字。因此,您将需要执行以下一项或两项操作:
- 将
print json...
更改为print(json.dumps(self.inventory))
在文件顶部添加一个声明,以确保即使在 运行 on python 2:
时,脚本仍将继续合理运行#!/usr/bin/env python from __future__ import print_function ''' Example custom dynamic inventory script for Ansible, in Python.