【问题标题】:Unable to run ansible tasks on ESXi hosts无法在 ESXi 主机上运行 ansible 任务
【发布时间】:2017-02-23 02:53:02
【问题描述】:

我正在尝试运行针对 ESXi 主机的 ansible 作业。

我的剧本很简单。设置一个 cronjob/替换一个 cronjob。

我有两种不同的方法::

方法一:

---
- hosts: esxi
  tasks:
   - name: Deploy cronjobs for CAC 2.0 nodes.
     cron: name="Deploy cronjobs" minute="1" hour="*" 
     job="/opt/test/test.sh" disabled=no

方法二:

--- 
- 
  gather_facts: false
  hosts: esxi
  tasks: 
    - lineinfile: dest=/var/spool/cron/crontabs/root 
      regexp='^.*\/vmfs\/volumes\/datastore1\/scripts\/backup.sh$' 
      line='test'

当我运行剧本时,两种方法都失败了:

fatal: [5.232.57.150]: FAILED! => {"changed": false, "failed": true, 
"module_stderr": "", "module_stdout": "Traceback (most recent call 
last):\r\n  File \"/tmp/ansible_GvDGZb/ansible_module_lineinfile.py\", line 
412, in <module>\r\n    from ansible.module_utils.basic import *\r\n  File 
\"/tmp/ansible_GvDGZb/ansible_modlib.zip/ansible/module_utils/basic.py\", 
line 52, in <module>\r\nImportError: No module named grp\r\n", "msg": 
"MODULE FAILURE", "parsed": false}

主要错误::

ImportError: No module named grp

在调试模式下:

fatal: [5.232.57.150]: FAILED! => {"changed": false, "failed": true, 
"invocation": {"module_name": "setup"}, "module_stderr": "OpenSSH_5.3p1, 
OpenSSL 1.0.1e-fips 11 Feb 2013\ndebug1: Reading configuration data 
/etc/ssh/ssh_config\r\ndebug1: Applying options for *\r\ndebug1: auto-mux: 
Trying existing master\r\ndebug2: fd 3 setting O_NONBLOCK\r\ndebug2: 
mux_client_hello_exchange: master version 4\r\ndebug3:         
mux_client_request_forwards: requesting forwardings: 0 local, 0 
remote\r\ndebug3: mux_client_request_session: entering\r\ndebug3:         
mux_client_request_alive: entering\r\ndebug3: mux_client_request_alive: done 
pid = 12018\r\ndebug3: mux_client_request_session: session request 
sent\r\ndebug1: mux_client_request_session: master session id: 2\r\ndebug1: 
mux_client_request_session: master session id: 2\r\ndebug3: 
mux_client_read_packet: read header failed: Broken pipe\r\ndebug2: Received 
exit 
status from master 0\r\nShared connection to 5.232.57.150 closed.\r\n", 
"module_stdout": "Traceback (most recent call last):\r\n  File 
\"/tmp/ansible_XhPWuX/ansible_module_setup.py\", line 123, in <module>\r\n    
from ansible.module_utils.basic import *\r\n  File 
\"/tmp/ansible_XhPWuX/ansible_modlib.zip/ansible/module_utils/basic.py\", 
line 
52, in <module>\r\nImportError: No module named grp\r\n", "msg": "MODULE 
FAILURE", "parsed": false}

我需要在 ESXi 主机上安装一些 python 包吗?

【问题讨论】:

    标签: ansible esxi


    【解决方案1】:

    基于该错误,您认为 ESXi 主机上缺少 Python grp 模块(至少)是正确的。如果您可以通过 ansible shellpip 模块轻松安装正确的 python 模块,则可以解决此问题。

    This Serverfault answer 使用 Ansible raw 模块来解决缺少此 Python 模块的问题。

    另请参阅this thread,这表明该模块至少存在于某些 ESXi 版本中。

    【讨论】:

      猜你喜欢
      • 2022-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-23
      • 1970-01-01
      • 1970-01-01
      • 2023-03-13
      • 1970-01-01
      相关资源
      最近更新 更多