Ansible Vmware来宾无模块命名请求

2024-10-02 04:31:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我在玩ansible,我使用了vmware来宾模块,它允许快照操作。然而,我面临着一些问题。我的默认python解释器是Python3.6.9,也就是说,如果我在我的Ubuntu18.04机器中输入python,Python3.6.9就会启动。现在谈谈我目前面临的问题。我的剧本是:

- name: Snapshot creation on esx-1.damn.li
  hosts: host

  tasks:
  - name: Create snapshot on fw-pfsense-1
    vmware_guest_snapshot:
      hostname: "host"
      datacenter: "esx01.home"
      username: "root"
      validate_certs: no
      password: "dontguess"
      name: "fw-pfsense-1"
      state: "present"
      snapshot_name: "ansible_test"
      folder: "/vmfs/volumes/59714072-384cd3f4-9503-001fc69c0e8f/fw-pfsense-1-2"
      description: "Created by ansible"

我通过以下方式执行剧本:

ansible-playbook esx-1-create-snapshots.yaml -i ../inventory/hosts.yaml --ask-vault-pass

和ansible:

The full traceback is:
Traceback (most recent call last):
  File "/tmp/ansible_vmware_guest_snapshot_payload_gipss3wl/ansible_vmware_guest_snapshot_payload.zip/ansible/module_utils/vmware.py", line 24, in <module>
    import requests
ImportError: No module named 'requests'

但是,如果手动启动python并导入请求或必要的模块pyVmomi,则可以导入它


Tags: 模块namehostyamlonsnapshotansiblevmware
2条回答

^{} module documentation

Requirements

The below requirements are needed on the host that executes this module.

  • python >= 2.6
  • PyVmomi

PyVmomi当前作为依赖项requests>=2.3.0

您在问题中给出的有关python的所有信息都与您在控制器上使用的有关(即运行playbook的机器)。从控制器连接时,需要确保pyVmomi安装在version of python discovered by ansible中的目标上

在尝试使用该模块之前,确保满足要求的最简单方法是在剧本中添加以下任务:

- name: Make sure requirements are met to run vmware_guest_snapshot module
  become: true
  pip:
    name: PyVmomi
    state: present

实际上,默认Ansible将在远程主机上执行任务,当您需要在本地manager主机上执行任务时,您应该添加delegate_to: localhost

由于pyVmomi使用API控制vSphere群集,因此应在Ansible manager上本地运行任务。因此,您的任务应该是:

- name: Snapshot creation on esx-1.damn.li
  hosts: host

  tasks:
  - name: Create snapshot on fw-pfsense-1
    vmware_guest_snapshot:
      hostname: "host"
      datacenter: "esx01.home"
      username: "root"
      validate_certs: no
      password: "dontguess"
      name: "fw-pfsense-1"
      state: "present"
      snapshot_name: "ansible_test"
      folder: "/vmfs/volumes/59714072-384cd3f4-9503-001fc69c0e8f/fw-pfsense-1-2"
      description: "Created by ansible"
    delegate_to: localhost

相关问题 更多 >

    热门问题