无法使用ansible playbook安装dnspython

无法使用ansible playbook安装dnspython,ansible,ansible-2.x,ansible-facts,ansible-template,Ansible,Ansible 2.x,Ansible Facts,Ansible Template,团队 我的剧本如下所示,我尝试了been:yes,但没有运气。如何避开这个问题 - easy_install: name: dnspython state: present #become: yes - name: Validate DNS record lookup for {{ kubeapi_server }} debug: msg="{{ lookup('dig', '{{ kubeapi_

团队

我的剧本如下所示,我尝试了
been:yes
,但没有运气。如何避开这个问题

      - easy_install:
          name: dnspython
          state: present
        #become: yes

      - name: Validate DNS record lookup for {{ kubeapi_server }}
        debug: msg="{{ lookup('dig', '{{ kubeapi_server }}' )}}"
        vars:
          variable: "{{ lookup('dig', '{{ kubeapi_server }}' )}}"
        failed_when: not variable
输出:

16:18:07  TASK [team-deploy-validation : easy_install] *********************************
16:18:07  [1;30mtask path: /home/testuser/jenkins/workspace/nvdc/run_ansible_playbook/k8s/baremetal/roles/team-deploy-validation/tasks/main.yml:9[0m
16:18:07  Friday 11 October 2019  23:18:07 +0000 (0:00:00.029)       0:00:02.902 ******** 
16:18:07  [0;34mUsing module file /usr/local/lib/python2.7/dist-packages/ansible/modules/packaging/language/easy_install.py[0m
16:18:07  [0;34mPipelining is enabled.[0m
16:18:07  [0;34m<127.0.0.1> ESTABLISH LOCAL CONNECTION FOR USER: testuser[0m
16:18:07  [0;34m<127.0.0.1> EXEC /bin/sh -c '/usr/bin/python && sleep 0'[0m
16:18:07  [0;31mThe full traceback is:[0m
16:18:07  [0;31mWARNING: The below traceback may *not* be related to the actual failure.[0m
16:18:07  [0;31m  File "/teamtmp/ansible_easy_install_payload_x2wopj/ansible_easy_install_payload.zip/ansible/module_utils/basic.py", line 1974, in get_bin_path[0m
16:18:07  [0;31m    bin_path = get_bin_path(arg, required, opt_dirs)[0m
16:18:07  [0;31m  File "/tmp/ansible_easy_install_payload_x2wopj/ansible_easy_install_payload.zip/ansible/module_utils/common/process.py", line 41, in get_bin_path[0m
16:18:07  [0;31m    raise ValueError('Failed to find required executable %s in paths: %s' % (arg, os.pathsep.join(paths)))[0m
16:18:07  [0;31m[0m
16:18:07  [0;31mfatal: [localhost]: FAILED! => {[0m
16:18:07  [0;31m    "changed": false, [0m
16:18:07  [0;31m    "invocation": {[0m
16:18:07  [0;31m        "module_args": {[0m
16:18:07  [0;31m            "executable": "easy_install", [0m
16:18:07  [0;31m            "name": "dnspython", [0m
16:18:07  [0;31m            "state": "present", [0m
16:18:07  [0;31m            "virtualenv": null, [0m
16:18:07  [0;31m            "virtualenv_command": "virtualenv", [0m
16:18:07  [0;31m            "virtualenv_site_packages": false[0m
16:18:07  [0;31m        }[0m
16:18:07  [0;31m    }, [0m
16:18:07  [0;31m    "msg": "Failed to find required executable easy_install in paths: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"[0m
16:18:07  [0;31m}[0m
16:18:07  

16:18:07任务[团队部署验证:轻松安装]*********************************
16:18:07[1;30任务路径:/home/testuser/jenkins/workspace/nvdc/run\u ansible\u playbook/k8s/baremetal/roles/team deploy validation/tasks/main.yml:9[0m
2019年10月11日星期五16:18:07 23:18:07+0000(0:00:00.029)0:00:02.902*****
16:18:07[0;34音乐模块文件/usr/local/lib/python2.7/dist-packages/ansible/modules/packaging/language/easy_-install.py[0m
16:18:07[0;34mPipelining已启用。[0m
16:18:07[0;34m为用户建立本地连接:testuser[0m
16:18:07[0;34m EXEC/bin/sh-c'/usr/bin/python&&sleep 0'[0m
16:18:07[0;31米完全回溯为:[0米
16:18:07[0;31M警告:以下回溯可能*与实际故障无关。[0m]
16:18:07[0;31m文件“/teamtmp/ansible\u easy\u install\u payload\u x2wopj/ansible\u easy\u install\u payload.zip/ansible/module\u utils/basic.py”,第1974行,在get\u bin\u路径[0m]中
16:18:07[0;31m bin_路径=获取bin_路径(arg,必选,opt_dirs)[0m
16:18:07[0;31m文件“/tmp/ansible\u easy\u install\u payload\u x2wopj/ansible\u easy\u install\u payload.zip/ansible/module\u utils/common/process.py”,第41行,在get\u bin\u路径[0m]中
16:18:07[0;31m raise VALUETERROR('在路径:%s%%(arg,os.pathsep.join(路径))中找不到所需的可执行文件%s')[0m
16:18:07[0;31米[0米]
16:18:07[0;31mfatal:[localhost]:失败!=>{[0m]
16:18:07[0;31米“已更改”:错误,[0米
16:18:07[0;31m“召唤”:{[0m
16:18:07[0;31m“模块参数”:{[0m
16:18:07[0;31m“可执行文件”:“易于安装”
16:18:07[0;31m“名称”:“dnspython”[0m
16:18:07[0;31米“状态”:“当前”,0米
16:18:07[0;31m“virtualenv”:null,[0m
16:18:07[0;31m“virtualenv_命令”:“virtualenv”,[0m
16:18:07[0;31m“虚拟站点”软件包:假[0m
16:18:07[0;31m}[0m
16:18:07[0;31m}[0m
16:18:07[0;31m“msg”:“在路径:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/sbin:/usr/bin:/sbin:/bin中找不到所需的可执行简易安装”[0m
16:18:07[0;31m}[0m
16:18:07  

你的问题很直截了当

16:18:07  [0;31m    "msg": "Failed to find required executable easy_install in paths: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"[0m
日志清楚地表明,在您试图安装
dnspython
的主机上找不到
easy\u install

您可以通过安装
python setuptools
在远程主机上安装
easy\u install

仅供参考,
easy\u install
是一个Python模块,它是Python setuptools的一部分,因此安装setuptools会自动安装easy\u install

我添加了一些示例任务(也是@Matthew建议的),可以帮助您

- apt:
    name: python-setuptools
    state: present

- easy_install:
    name: dnspython
    state: present

你的问题很直截了当

16:18:07  [0;31m    "msg": "Failed to find required executable easy_install in paths: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"[0m
日志清楚地表明,在您试图安装
dnspython
的主机上找不到
easy\u install

您可以通过安装
python setuptools
在远程主机上安装
easy\u install

仅供参考,
easy\u install
是一个Python模块,它是Python setuptools的一部分,因此安装setuptools会自动安装easy\u install

我添加了一些示例任务(也是@Matthew建议的),可以帮助您

- apt:
    name: python-setuptools
    state: present

- easy_install:
    name: dnspython
    state: present

Ansible不是魔法,它只是自动化。那么,你如何在该主机上手动运行
easy\u install
?啊,盲目工作很难。谢谢。让我试试看,Ansible不是魔法,它只是自动化。那么,你如何在该主机上手动运行
easy\u install
?啊,盲目工作很难。谢谢。让我试试看,我能在该主机上安装安装工具吗Ansible和我的下一步应该被处理掉吗?是的,使用Ansible,你甚至可以使用
-raw:if!键入python;然后apt install python;fi
,将
-apt:name=python setuptools state=present
引导到主机上,然后调用
轻松安装:
就可以了诀窍在于确保它在将来对其他人起作用。那么我可以用Ansible安装安装工具吗?然后我的下一步应该被完成?是的,使用Ansible,你甚至可以使用
-raw:if!键入python;然后apt install python;fi
,将
python
引导到主机上,因此在你的情况下
-apt:name=python setuptools state=present
在调用
easy\u install:
之前,应该做到这一点,并确保它在将来适用于其他人