pyvmomi: не могу установить IP-адрес в VmWare vSphere

Я использую этот playbook, он создает новую виртуальную машину из шаблона, но я не могу понять, как использовать конфигурацию IP и DNS. Есть ли что-то, что я пропускаю?

# Deploy a guest from a template*
- hosts: 127.0.0.1
  tasks:
  - name: Create a virtual machine
    vmware_guest:
      datacenter: xxx
      hostname: vcenter1.foobar.tld
      username: xxxx
      password: xxxx
      validate_certs: False
      folder: xxx/yyy/zzz
      name: TEST-01
      template: TEMPLATE-DEBIAN9
      cluster: cluster1
      state: poweredon
      hardware:
        memory_mb: 1024
        num_cpus: 1
      networks:
      - name: LAN_394_FOOBAR
        nic1:
          type: vmxnet3
          network_type: standard
      - name: WAN_432_FOOBAR
        nic2:
          type: vmxnet3
          network_type: standard
          ip: x.x.x.x
          netmask: 255.255.255.0
          gateway: x.x.x.x
          domain: foobar.tld
          dns_servers:
          - x.x.x.x
          - x.x.x.y

person Gilles Quenot    schedule 02.08.2018    source источник
comment
У меня есть обходной путь, изменяющий IP-адрес на уровне ОС, который работает как шарм. Дайте мне знать, если вам нравится такой подход.   -  person imjoseangel    schedule 04.08.2018


Ответы (2)


Я не верю, что Debian действительно поддерживается для настройки. См.: http://partnerweb.vmware.com/programs/guestOS/guest-os-customization-matrix.pdf

Однако для этой проблемы доступны некоторые действия по устранению неполадок: https://github.com/ansible/ansible/issues/37198

person Kyle Ruddy    schedule 03.08.2018
comment
Какой позор, почему не Debian, если Ubuntu поддерживается? оо спасибо за подсказку - person Gilles Quenot; 04.08.2018

В качестве обходного пути измените IP-адрес через ОС, но заранее проверьте, доступны ли инструменты VMWare:

Итак, используя DHCP, создайте свою виртуальную машину:

- hosts: localhost
  gather_facts: False
  connection: local

  tasks:
  - name: Create VM
    vmware_guest:

  - name: Wait for VMware tools
    vmware_guest_tools_wait:

Как только ваша виртуальная машина будет доступна, используйте vmware_vm_shell:

- name: Set IP Address on Windows
  vmware_vm_shell:
    vm_shell       : netsh.exe
    vm_shell_args  : ' interface ip set address name="Ethernet0" static {{ network.subnet }}.{{ network.ip }} {{ network.netmask }} {{ network.subnet }}.1'
    vm_shell_cwd   : "C:\\Windows\\System32"

- name: Set DNS on Windows
  vmware_vm_shell:
    vm_shell       : netsh.exe
    vm_shell_args  : ' interface ip set dns name="Ethernet0" static {{ network.dns1 }}'
    vm_shell_cwd   : "C:\\Windows\\System32"

- name: Wait for WINRM port
  wait_for:
    port: 5986
    delay: 20
    state: started

Если линукс:

- name: Set IP Address on Linux
  vmware_vm_shell:
    vm_shell       : /usr/bin/sudo
    vm_shell_args  : ' /usr/sbin/ifconfig eth0 {{ network.subnet }}.{{ net }} netmask {{ network.netmask }} up'
    vm_shell_cwd   : /usr/sbin

- name: Wait for SSH port
  wait_for:
    port: 22
    delay: 20
    state: started
person imjoseangel    schedule 04.08.2018
comment
Что такое ansible-playbook --version ? Я думаю ‹ 2,6 - person Gilles Quenot; 06.08.2018
comment
Это работает с версии 2.5.2 (насколько я с ней работал) - person imjoseangel; 10.08.2018