作业模板 AWX

问题描述 投票:0回答:3

我有一个像这样的剧本,我尝试在 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
ansible ansible-awx
3个回答
0
投票

您可以创建一个类似 files/test.py 的文件

然后你复制它:

copy:
  src: test.py
  dest: /tmp/test.py
  mode: '0777'

0
投票

您可以检查一下您的对齐是否正确吗?任务名称应直接位于任务关键字下方。请尝试以下代码。

---
- 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

0
投票

AWX 是否安装在您尝试从 cli 运行 playbook 的同一台计算机上?

如果没有,请检查 AWX 主机中是否安装了该模块,然后尝试运行作业模板。

© www.soinside.com 2019 - 2024. All rights reserved.