mirror of https://github.com/ansible/ansible.git
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
103 lines
3.5 KiB
ReStructuredText
103 lines
3.5 KiB
ReStructuredText
7 years ago
|
.. _vmware_troubleshooting:
|
||
|
|
||
|
**********************************
|
||
|
Troubleshooting Ansible for VMware
|
||
|
**********************************
|
||
|
|
||
6 years ago
|
.. contents:: Topics
|
||
|
|
||
7 years ago
|
This section lists things that can go wrong and possible ways to fix them.
|
||
|
|
||
6 years ago
|
Debugging Ansible for VMware
|
||
|
============================
|
||
6 years ago
|
|
||
|
When debugging or creating a new issue, you will need information about your VMware infrastructure. You can get this information using
|
||
|
`govc <https://github.com/vmware/govmomi/tree/master/govc>`_, For example:
|
||
|
|
||
|
|
||
|
.. code-block:: bash
|
||
|
|
||
|
$ 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 /
|
||
|
|
||
6 years ago
|
Known issues with Ansible for VMware
|
||
|
====================================
|
||
6 years ago
|
|
||
6 years ago
|
|
||
|
Network settings with vmware_guest in Ubuntu 18.04
|
||
|
--------------------------------------------------
|
||
|
|
||
|
Setting the network with ``vmware_guest`` in Ubuntu 18.04 is known to be broken, due to missing support for ``netplan`` in the ``open-vm-tools``.
|
||
|
This issue is tracked via:
|
||
|
|
||
|
* https://github.com/vmware/open-vm-tools/issues/240
|
||
|
* https://github.com/ansible/ansible/issues/41133
|
||
|
|
||
6 years ago
|
Potential Workarounds
|
||
|
^^^^^^^^^^^^^^^^^^^^^
|
||
6 years ago
|
|
||
|
There are several workarounds for this issue.
|
||
|
|
||
6 years ago
|
1) Modify the Ubuntu 18.04 images and installing ``ifupdown`` in them via ``sudo apt install ifupdown``.
|
||
6 years ago
|
If so you need to remove ``netplan`` via ``sudo apt remove netplan.io`` and you need stop ``systemd-networkd`` via ``sudo systemctl disable systemctl-networkd``.
|
||
|
|
||
6 years ago
|
2) Generate the ``systemd-networkd`` files with a task in your VMware Ansible role:
|
||
6 years ago
|
|
||
|
.. code-block:: yaml
|
||
|
|
||
|
- 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
|
||
|
|
||
|
3) Wait for ``netplan`` support in ``open-vm-tools``
|