首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ansible运行python脚本

使用ansible运行python脚本
EN

Stack Overflow用户
提问于 2021-06-02 18:19:46
回答 1查看 63关注 0票数 0

我在使用ansible执行python脚本时遇到了麻烦。

我有下一个ansible结构:

代码语言:javascript
复制
python_project
  roles
    prueba
      files
        prueba.py
      tasks
        prueba.yaml

我的yaml如下:

代码语言:javascript
复制
- name: prueba script python playbook
  hosts: localhost
  tasks:
    - name: run prueba.py
      script: prueba.py

我像这样执行它: ansible-playbook prueba.yaml,我得到以下错误:

代码语言:javascript
复制
fatal: [localhost]: FAILED! => {"changed": false, "msg": "Could not find or
access 'prueba.py'\n
Searched in:\n\t/root/python_project/roles/prueba/tasks/files/pr                                                                             ueba.py\n\t/root/python_project/roles/prueba/tasks/prueba.py\n\t/root/python_pro                                                                 ject/roles/prueba/tasks/files/prueba.py\n\t/root/python_project/roles/prueba/tas                                                                             ks/prueba.py on the Ansible Controller.\nIf you are using a module and expect th                                                                             e file to exist on the remote, see the remote_src option"}

有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-02 20:00:05

我认为你在角色的定义上有问题。这是一个角色,而您希望它作为ansible角色工作吗?如果是这样的话,你应该改变一些事情。您应该有一个单独的剧本来调用此角色,并将此角色移动到您的角色文件夹中。如果这不是一个角色。实际上,您必须指定python脚本的路径:

代码语言:javascript
复制
    - name: prueba script python playbook
      hosts: localhost
      tasks:
        - name: run prueba.py
          script: /root/python_project/roles/prueba/files/prueba.py

我认为你想要使用角色。为了让它成为一个角色,你需要改变一些东西。tasks/main.yml (这是您的任务目录,您可以使用所需的名称创建yml,而不必使用main.yml)

代码语言:javascript
复制
- name: run prueba.py
  script: prueba.py

正如您在角色上看到的,tasks/main.yml不需要主机,tasks部分文件本身也不是一个任务部分。主机的逻辑将移动到调用角色的play。

在所需的任意路径上创建此文件: example_role_invoque.yml

代码语言:javascript
复制
  - hosts: localhost
    tasks:
      - name: invocar rol
        include_role: prueba

我给你一个参考链接:ROLES

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67803213

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档