La implementación de VM desde una plantilla de VM en vmware vCenter con Ansible hace que la red sea inalcanzable

La implementación de VM desde una plantilla de VM en vmware vCenter con Ansible hace que la red sea inalcanzable

SO: Oracle Linux 8.7 vCenter: 7.0.3 build 20051473 hipervisor: VMware ESXi, 7.0.3, 19193900 ansible-playbook [core 2.13.5] versión de Python = 3.8.10 (predeterminado, 14 de noviembre de 2022, 12:59:47) [GCC 9.4.0] versión jinja = 3.1.2 libyaml = Verdadero

Estoy implementando una máquina virtual desde una plantilla usando la siguiente tarea de Ansible:

- name: Create a new virtual machine {{ hostname }} on vCenter {{ vcenter_hostname }} from template {{ source_template }}
  community.vmware.vmware_guest:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    validate_certs: false
    datacenter: "{{ datacenter_name }}"
    folder: /{{ datacenter_name }}/vm/
    name: "{{ hostname }}"
    state: present
    template: "{{ source_template }}"
    esxi_hostname: "{{ esxi_hostname }}"
    disk:
      - size_gb: "{{ size_disk }}"
        type: "{{ disk_type }}"
        datastore: "{{ datastore_name }}"
    hardware:
      memory_mb: "{{ memory }}"
      memory_reservation_lock: true
      num_cpus: "{{ vcpu }}"
      cpu_reservation: "{{ reserved_cpu }}"
      scsi: paravirtual
      nested_virt: true
    networks:
    - name: VM Network
      ip: "{{ ip_address }}"
      netmask: "{{ ip_netmask }}"
      gateway: "{{ default_gateway }}"
      device_type: vmxnet3
      type: static
      state: present
    customization:
      dns_servers:
        - "{{ dns_1 }}"
        - "{{ dns_2 }}"
    wait_for_ip_address: true
  delegate_to: localhost
  register: deploy_vm

Después de implementar la VM, el libro de estrategias ansible no puede continuar con las siguientes tareas:

fatal: [template-common]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: ssh: connect to host 172.24.76.35 port 22: Connection refused", "unreachable": true}

Accedí a la VM y noté que no puede acceder a la red. Lo resolví eliminando la dirección MAC del campo Dirección, a través de nmtui:

interfaz nmtui

Sin embargo, si hago esto en la plantilla de VM cuando implemento la VM desde allí, tengo el mismo problema. Incluso la dirección mac es correcta.

También probé:

  • Eliminando el parámetro HWADDR de /etc/sysconfig/network-scripts/ifcfg-ens192
  • Eliminando /etc/udev/rules.d/70.persistent-ipoib.rules
  • Quitar el adaptador de red antes de convertir la máquina virtual de origen en una plantilla de máquina virtual

Con todas esas modificaciones, la VM creada a partir de la plantilla de VM aún no puede usar la interfaz.

Me gustaría resaltar que incluso la dirección mac está bien configurada en el parámetro HWADDR y en la interfaz mostrada por el comando nmtui (como se muestra arriba), la interfaz de red no funcionará hasta que elimine la dirección mac de la configuración de nmtui.

¿Hay alguna manera de evitar que la dirección mac se escriba en nmtui automáticamente?

Cualquier otra solución o configuración es válida, el único requisito es que la VM implementada tenga una interfaz que funcione sin ninguna interacción adicional.

información relacionada