我有一个像这样的剧本,我尝试在 ansible awx 中将其作为作业模板运行,但出现
Traceback (most recent call last):\n File \"/root/.ansible/tmp/ansible-tmp-1609214869.41401-6813-56941014390086/rhv-snapshots.py\", line 4, in <module>\n from prettytable import PrettyTable\nModuleNotFoundError: No module named 'prettytable'
错误,它可以使用 ansible CLI 运行,但在 awx 中则不行。有什么想法吗?
---
- hosts: localhost
tasks:
- name: "Creating Script..."
copy:
content: |
#!/usr/bin/python3
import xml.etree.ElementTree as ET
from prettytable import PrettyTable
print('hello world!')
dest: /tmp/test.py
mode: 777
- name: "Running Script..."
script: /tmp/test.py
register: output
- debug:
var: output.stdout_lines
您可以创建一个类似 files/test.py 的文件
然后你复制它:
copy:
src: test.py
dest: /tmp/test.py
mode: '0777'
您可以检查一下您的对齐是否正确吗?任务名称应直接位于任务关键字下方。请尝试以下代码。
---
- hosts: localhost
tasks:
- name: "Creating Script..."
copy:
content: |
#!/usr/bin/python3
import xml.etree.ElementTree as ET
from prettytable import PrettyTable
print('hello world!')
dest: /tmp/test.py
mode: 777
- name: "Running Script..."
script: /tmp/test.py
register: output
- debug:
var: output.stdout_lines
AWX 是否安装在您尝试从 cli 运行 playbook 的同一台计算机上?
如果没有,请检查 AWX 主机中是否安装了该模块,然后尝试运行作业模板。