From 2d60cc3eaa8f3d962c49dc74ae51d2447052eb53 Mon Sep 17 00:00:00 2001 From: Georgi Apostolov Date: Tue, 25 Jun 2024 10:42:30 +0300 Subject: [PATCH] Add check for unsupported NIC/firmware combination Adding this check to prevent the multicast packet amplification issue described here: https://access.redhat.com/solutions/7063133. --- roles/configure_networking/tasks/main.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/roles/configure_networking/tasks/main.yml b/roles/configure_networking/tasks/main.yml index 725814d..166ee3a 100644 --- a/roles/configure_networking/tasks/main.yml +++ b/roles/configure_networking/tasks/main.yml @@ -22,6 +22,20 @@ import_tasks: "validate_network.yml" tags: - validate-network-configuration + +- name: Checking if NIC "Mellanox Technologies MT2892 Family [ConnectX-6 [D|E]x]" with unsupported firmware is present + # This task checks for the specific NIC and firmware combination that can result in + # the multicast packet amplification issue described here: https://access.redhat.com/solutions/7063133 + # jq will return 0 if a device with the product model is found and it is using a supported version of the firmware + # jq will return 1 if a device with the product model is found but it is not using a supported version of the firmware + # jq will return 4 if a device with the product model is not found + ansible.builtin.shell: | + lshw -json | jq --exit-status '.. | + select((.product == "Mellanox Technologies MT2892 Family [ConnectX-6 Dx]"?) + or (.product == "Mellanox Technologies MT2892 Family [ConnectX-6 Ex]"?)) | + .configuration.firmware == "22.32.2004 (SM_1291000001000)" ' + register: nic_model_with_unwanted_fw_present + failed_when: nic_model_with_unwanted_fw_present.rc == 1 - name: Generating VF configuration become: yes