我在玩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,则可以导入它
从^{} module documentation
PyVmomi当前作为依赖项
requests>=2.3.0
您在问题中给出的有关python的所有信息都与您在控制器上使用的有关(即运行playbook的机器)。从控制器连接时,需要确保
pyVmomi
安装在version of python discovered by ansible中的目标上在尝试使用该模块之前,确保满足要求的最简单方法是在剧本中添加以下任务:
实际上,默认Ansible将在远程主机上执行任务,当您需要在本地manager主机上执行任务时,您应该添加
delegate_to: localhost
由于
pyVmomi
使用API控制vSphere群集,因此应在Ansible manager上本地运行任务。因此,您的任务应该是:相关问题 更多 >
编程相关推荐