Ansible を使用して VMware vCenter 上の VM テンプレートから VM をデプロイすると、ネットワークにアクセスできなくなる

Ansible を使用して VMware vCenter 上の VM テンプレートから VM をデプロイすると、ネットワークにアクセスできなくなる

OS: Oracle Linux 8.7 vCenter: 7.0.3 ビルド 20051473 ハイパーバイザー: VMware ESXi、7.0.3、19193900 ansible-playbook [core 2.13.5] python バージョン = 3.8.10 (デフォルト、2022 年 11 月 14 日、12:59:47) [GCC 9.4.0] jinja バージョン = 3.1.2 libyaml = True

次の Ansible タスクを使用してテンプレートから VM をデプロイしています。

- 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

VM をデプロイした後、Ansible プレイブックは次のタスクを続行できません。

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}

VM にアクセスしたところ、ネットワークにアクセスできないことに気付きました。nmtui を使用して、アドレス フィールドから MAC アドレスを削除することで解決しました。

nmtui インターフェース

ただし、VM テンプレートでこれを実行し、そこから VM を展開すると、同じ問題が発生します。MAC アドレスは正しいです。

私も試しました:

  • /etc/sysconfig/network-scripts/ifcfg-ens192 から HWADDR パラメータを削除します
  • /etc/udev/rules.d/70.persistent-ipoib.rules を削除する
  • ソース VM を VM テンプレートに変換する前にネットワーク アダプタを削除する

これらすべての変更を行っても、VM テンプレートから作成された VM は依然としてインターフェイスを使用できません。

HWADDR パラメータで MAC アドレスが適切に設定されていて、nmtui コマンドで表示されるインターフェイス (上記に表示) であっても、nmtui 構成から MAC アドレスを削除するまでネットワーク インターフェイスは機能しないことを強調しておきます。

MAC アドレスが nmtui に自動的に書き込まれるのを防ぐ方法はありますか?

その他のソリューションや構成も有効ですが、唯一の要件は、デプロイされた VM に追加の操作なしで機能するインターフェースがあることです。

関連情報