Skip to content

Commit

Permalink
[Linux] Add known issue for PVRDMA hot-remove failure
Browse files Browse the repository at this point in the history
Signed-off-by: Qi Zhang <qiz@vmware.com>
  • Loading branch information
keirazhang committed Aug 22, 2023
1 parent 456a7e3 commit 6d5fe51
Show file tree
Hide file tree
Showing 3 changed files with 45 additions and 5 deletions.
13 changes: 10 additions & 3 deletions common/vm_remove_network_adapter.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
# Copyright 2021-2023 VMware, Inc.
# SPDX-License-Identifier: BSD-2-Clause
---
# Remove network adapter from VM
# Parameters:
# adapter_label: The network adapter label. For example, Network adapter 1.
# netadapter_mac_addr: The network adapter MAC address.
# vm_remove_adapter_ignore_errors: Ignore errors at removeing network adapter. Default is False.
#
- name: "Remove a network adapter from VM '{{ vm_name }}'"
community.vmware.vmware_guest_network:
hostname: "{{ vsphere_host_name }}"
Expand All @@ -14,8 +20,9 @@
label: "{{ adapter_label | default(omit) }}"
mac_address: "{{ netadapter_mac_addr | default(omit) }}"
state: absent
register: remove_result
register: remove_adapter
ignore_errors: "{{ vm_remove_adapter_ignore_errors | default(False) }}"

- name: Display the result of removing network adapter
ansible.builtin.debug: var=remove_result
- name: "Display the result of removing network adapter"
ansible.builtin.debug: var=remove_adapter
when: enable_debug is defined and enable_debug
33 changes: 33 additions & 0 deletions linux/network_device_ops/hot_remove_network_adapter.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,39 @@
include_tasks: ../../common/vm_remove_network_adapter.yml
vars:
netadapter_mac_addr: "{{ new_network_adapter_mac_addr }}"
vm_remove_adapter_ignore_errors: True

- name: "Network adapter hot-remove succeeded"
ansible.builtin.debug:
msg: "Successfully hot removed new {{ adapter_type }} network adapter {{ new_network_adapter }}"
when:
- remove_adapter.changed is defined
- remove_adapter.changed

- name: "Network adapter hot-remove failed"
when: >-
(remove_adapter.changed is undefined or
not remove_adapter.changed)
block:
- name: "Known issue - PVRDMA network adapter hot-remove caused kernel crash on Oracle Linux 8.8"
ansible.builtin.debug:
msg:
- "Hot removing PVRDMA network adapter could cause kernel crash on Oracle Linux 8.8."
- "Please refer to https://kb.vmware.com/s/article/93131 for details."
tags:
- known_issue
when:
- remove_adapter.rc is defined
- remove_adapter.rc == 1
- adapter_type == "pvrdma"
- esxi_version is version('7.0.0', '>=')
- esxi_version is version('8.0.0', '<')
- guest_os_ansible_distribution == "OracleLinux"
- guest_os_ansible_distribution_ver == '8.8'

- name: "Failed to hot remove new {{ adapter_type }} network adapter {{ new_network_adapter }}"
ansible.builtin.fail:
msg: "{{ remove_adapter }}"

- name: "Check VM connection is not broken after hot-remove"
include_tasks: ../../common/vm_wait_connection.yml
Expand Down
4 changes: 2 additions & 2 deletions windows/network_device_ops/network_adapter_deviceops.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,8 @@
- name: Check remove network adapter to VM succeed
ansible.builtin.assert:
that:
- "{{ 'changed' in remove_result }}"
- "{{ remove_result.changed }}"
- remove_adapter.changed is defined
- remove_adapter.changed
fail_msg: "Hot remove network adapter task result is not changed."
- name: Wait 10 seconds after network adapter hot remove
ansible.builtin.pause:
Expand Down

0 comments on commit 6d5fe51

Please sign in to comment.