运行 剧本时出现 Pysphere 错误

Pysphere error when running playbook

---
- hosts: my-host
  tasks:
    - vsphere_guest:
        vcenter_hostname: vcenter.mydomain.local
        username: myuser
        password: mypass
        guest: newvm001
        vmware_guest_facts: yes

当我运行这个剧本时,我得到这个错误

PLAY [my-host]


TASK [setup] ******************************************************************* ok: [19.3.112.97 ]

TASK [vsphere_guest] *********************************************************** fatal: [19.3.112.97 ]: FAILED! => {"changed": false, "failed": true, "msg": "pysphere module required"}

NO MORE HOSTS LEFT ************************************************************* [WARNING]: Could not create retry file 'createvms.retry'.
[Errno 2] No such file or directory: ''

PLAY RECAP


19.3.112.97 : ok=1 changed=0 unreachable=0 failed=1

为什么会出现此错误?我已经卸载并安装了 pysphere。我已经使用了它的以前和当前版本,但我仍然收到此错误。

您通常希望从您的控制机器 (localhost) 运行 cloud/VM 管理模块。 这看起来像这样:

---
- hosts: localhost
  connection: local
  tasks:
    - vsphere_guest:
        vcenter_hostname: vcenter.mydomain.local
        username: myuser
        password: mypass
        guest: newvm001
        vmware_guest_facts: yes

在这种情况下,ansible 使用安装在控制主机上的 PySphere 连接到 vcenter.mydomain.local 并提供 VM。

在您的示例中,PySphere 应该安装在 19.3.112.97 上并且 vcenter.mydomain.local 应该可以从该主机访问。