Я пытаюсь развернуть виртуальную машину через Ansible на моем хосте ESXi. Я использую следующую роль для этого:проблема с pysphere - ansible
- vsphere_guest:
vcenter_hostname: emea-esx-s18t.****.net
username: ****
password: ****
guest: newvm001
state: powered_off
vm_extra_config:
vcpu.hotadd: yes
mem.hotadd: yes
notes: This is a test VM
vm_disk:
disk1:
size_gb: 10
type: thin
datastore: ****
vm_nic:
nic1:
type: vmxnet3
network: VM Network
network_type: standard
vm_hardware:
memory_mb: 4096
num_cpus: 4
osid: windows7Server64Guest
scsi: paravirtual
esxi:
datacenter: MyDatacenter
hostname: esx-s18t.****.net
, когда я исполняю эту роль в настоящее время через PlayBook я получаю следующее сообщение:
[email protected]:~/ansible# ansible-playbook -i Inventory vmware_deploy.yml
PLAY ***************************************************************************
TASK [setup] *******************************************************************
ok: [172.20.22.5]
TASK [vmware : vsphere_guest] **************************************************
fatal: [172.20.22.5]: FAILED! => {"changed": false, "failed": true, "msg": "pysphere module required"}
PLAY RECAP *********************************************************************
172.20.22.5 : ok=1 changed=0 unreachable=0 failed=1
Так что, кажется, модуль «pysphere» отсутствует , я уже проверил, что с помощью команды:
[email protected]:~/ansible# pip install pysphere
Requirement already satisfied (use --upgrade to upgrade): pysphere in /usr/local/lib/python2.7/dist-packages/pysphere-0 .1.7-py2.7.egg
Тогда я сделал «обновление» и получить следующее сообщение обратно:
[email protected]:~/ansible# pip install pysphere --upgrade
Requirement already up-to-date: pysphere in /usr/local/lib/python2.7/dist-packages/pysphere-0.1.7-py2.7.egg
Так что, кажется, он уже установлен и его до -то-дата, почему я получаю это сообщение об ошибке? Как я могу исправить это, что теперь моя божественная чертова роль отлично работает? Иисус, Ansible делает меня сумасшедшим ..
Надеюсь, вы, ребята, можете мне помочь, спасибо заранее!
Уважением, kgierman
EDIT: так я уже прописан новый сборник пьес со старым материалом, новый playbool lookes как это (я добавил свой Localhost и соединение местного материала):
---
- hosts: localhost
connection: local
tasks:
vsphere_guest:
vcenter_hostname: emea-esx-s18t.****.net
username: ****
password: ****
guest: newvm001
state: powered_off
vm_extra_config:
vcpu.hotadd: yes
mem.hotadd: yes
notes: This is a test VM
vm_disk:
disk1:
size_gb: 10
type: thin
datastore: ****
vm_nic:
nic1:
type: vmxnet3
network: VM Network
network_type: standard
vm_hardware:
memory_mb: 4096
num_cpus: 4
osid: windows7Server64Guest
scsi: paravirtual
esxi:
datacenter: MyDatacenter
hostname: esx-s18t.****.net
так, когда я исполняю этот сборник пьес я получаю следующее сообщение об ошибке:
[email protected]:~/ansible# ansible-playbook vmware2.yml
ERROR! Syntax Error while loading YAML.
The error appears to have been in '/root/ansible/vmware2.yml': line 7, column 19, but may
be elsewhere in the file depending on the exact syntax problem.
The offending line appears to be:
vcenter_hostname: emea-esx-s18t.sddc-hwl-family.net
username: root
^here
борьба реальна -.-
да ypu're право, 172.20.22.5 является ESXi хост, но если я хочу, чтобы развернуть виртуальную машину там (причина есть VCENTER и прочее) - но ОС на ESXi что-то еще тогда Ubuntu, так как я могу создать виртуальную машину через Ansible на VSphere? –
Вы указываете его как 'vcenter_hostname' param - доступный модуль будет подключаться к нему _from localhost_ и создавать запрошенные виртуальные машины. –
Извините, я не понимаю, что вы имеете в виду:/ «Вы указываете его как vcenter_hostname param», не могли бы вы привести мне пример? –