Отладка Ansible для VMware
В этом разделе перечислены возможные проблемы и способы их решения.
Отладка Ansible для VMware
При отладке или создании новой проблемы вам потребуется информация о вашей инфраструктуре VMware. Вы можете получить эту информацию, используя govc. Например:
$ export GOVC_USERNAME=ESXI_OR_VCENTER_USERNAME $ export GOVC_PASSWORD=ESXI_OR_VCENTER_PASSWORD $ export GOVC_URL=https://ESXI_OR_VCENTER_HOSTNAME:443 $ govc find /
Известные проблемы с Ansible для VMware
Настройка сети с vmware_guest в Ubuntu 18.04
Настройка сети с помощью vmware_guest в Ubuntu 18.04 известна как неисправная из-за отсутствия поддержки netplan в open-vm-tools. Эта проблема отслеживается по следующим ссылкам:
Возможные решения
Существует несколько решений этой проблемы.
- Измените образы Ubuntu 18.04 и установите
ifupdownв них черезsudo apt install ifupdown. В этом случае необходимо удалитьnetplanчерезsudo apt remove netplan.ioи остановитьsystemd-networkdчерезsudo systemctl disable systemctl-networkd. - Сгенерируйте файлы
systemd-networkdс задачей в вашем роле Ansible для VMware:
- name: make sure cache directory exists
file: path="{{ inventory_dir }}/cache" state=directory
delegate_to: localhost
- name: generate network templates
template: src=network.j2 dest="{{ inventory_dir }}/cache/{{ inventory_hostname }}.network"
delegate_to: localhost
- name: copy generated files to vm
vmware_guest_file_operation:
hostname: "{{ vmware_general.hostname }}"
username: "{{ vmware_username }}"
password: "{{ vmware_password }}"
datacenter: "{{ vmware_general.datacenter }}"
validate_certs: "{{ vmware_general.validate_certs }}"
vm_id: "{{ inventory_hostname }}"
vm_username: root
vm_password: "{{ template_password }}"
copy:
src: "{{ inventory_dir }}/cache/{{ inventory_hostname }}.network"
dest: "/etc/systemd/network/ens160.network"
overwrite: False
delegate_to: localhost
- name: restart systemd-networkd
vmware_vm_shell:
hostname: "{{ vmware_general.hostname }}"
username: "{{ vmware_username }}"
password: "{{ vmware_password }}"
datacenter: "{{ vmware_general.datacenter }}"
folder: /vm
vm_id: "{{ inventory_hostname}}"
vm_username: root
vm_password: "{{ template_password }}"
vm_shell: /bin/systemctl
vm_shell_args: " restart systemd-networkd"
delegate_to: localhost
- name: restart systemd-resolved
vmware_vm_shell:
hostname: "{{ vmware_general.hostname }}"
username: "{{ vmware_username }}"
password: "{{ vmware_password }}"
datacenter: "{{ vmware_general.datacenter }}"
folder: /vm
vm_id: "{{ inventory_hostname}}"
vm_username: root
vm_password: "{{ template_password }}"
vm_shell: /bin/systemctl
vm_shell_args: " restart systemd-resolved"
delegate_to: localhost
- Дождитесь поддержки
netplanвopen-vm-tools
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/scenario_guides/vmware_scenarios/vmware_troubleshooting.html