我正在尝试使用ansible-playbook
将Python安装到虚拟机上(让我们将其称为'目标计算机')。目标机器根本没有安装Python版本(轻量级Unix版本)
根据我的理解,大多数ansible模块都要求目标机器上安装Python。但是,原始模块没有。
我似乎无法获得使用原始模块的最基本命令,似乎ansirble仍在目标机器上寻找Python。如果我手动ssh到目标机器并安装Python,那么ansible-playbook
就会开始工作。
错误讯息:
fatal: [dev]: FAILED! =>
{"changed": false, "failed": true,
"module_stderr": "Shared connection to 192.168.99.100 closed.\r\n",
"module_stdout": "/bin/sh: /usr/bin/python: not found\r\n",
"msg": "MODULE FAILURE", "rc": 0}
档案/host_vars/dev.yml
:
#NOTE: I can manually ssh in with the details without a problem
ansible_ssh_port: 22
ansible_user: docker
ansible_ssh_host: 192.168.99.100
ansible_ssh_private_key_file: ~/.docker/machine/machines/default/id_rsa
档案playbook.yml
:
- hosts: all
tasks:
- name: test the raw module
raw: echo "Hello World"
档案hosts
:
dev
命令我跑了:
ansible-playbook -i ./hosts ./playbook.yml
为什么raw命令在寻找Python?
如果目标计算机没有Python,我如何使用Ansible运行命令?
答案 0 :(得分:8)
它不是raw
模块,而是尝试运行Python的事实收集。
添加:
gather_facts: no