当目标机器上不存在Python版本时,通过Ansible安装Python

时间:2017-03-29 23:10:52

标签: ansible

我正在尝试使用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运行命令?

1 个答案:

答案 0 :(得分:8)

它不是raw模块,而是尝试运行Python的事实收集。

添加:

gather_facts: no