Bug 1976125
Summary: | [BM][IPI] redfish inspect fails on nodes with nics where mac="": Expected a MAC address but received . | |||
---|---|---|---|---|
Product: | OpenShift Container Platform | Reporter: | Yurii Prokulevych <yprokule> | |
Component: | Bare Metal Hardware Provisioning | Assignee: | Derek Higgins <derekh> | |
Bare Metal Hardware Provisioning sub component: | ironic | QA Contact: | Lubov <lshilin> | |
Status: | CLOSED ERRATA | Docs Contact: | ||
Severity: | medium | |||
Priority: | medium | CC: | achernet, bfournie, derekh, dtantsur, imelofer, mcornea, rbartal, sasha, yboaron | |
Version: | 4.9 | Keywords: | Triaged | |
Target Milestone: | --- | |||
Target Release: | 4.9.0 | |||
Hardware: | Unspecified | |||
OS: | Unspecified | |||
Whiteboard: | ||||
Fixed In Version: | Doc Type: | If docs needed, set a value | ||
Doc Text: | Story Points: | --- | ||
Clone Of: | ||||
: | 1991979 (view as bug list) | Environment: | ||
Last Closed: | 2021-10-18 17:36:51 UTC | Type: | Bug | |
Regression: | --- | Mount Type: | --- | |
Documentation: | --- | CRM: | ||
Verified Versions: | Category: | --- | ||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
Cloudforms Team: | --- | Target Upstream Version: | ||
Embargoed: | ||||
Bug Depends On: | ||||
Bug Blocks: | 1991979 |
Description
Yurii Prokulevych
2021-06-25 09:20:49 UTC
The problem here appears to be in redfish inspection, taking a look logs for openshift-worker-2, here 2021-06-25T08:32:12.795333564Z 2021-06-25 08:32:12.789 1 WARNING ironic.drivers.modules.inspect_utils [req-3a18f6e8-0c30-458b-8b9d-d599d32c2539 ironic-user - - - -] Port already exists for MAC address BC:97:E1:D9:9A:C0 for node 2eaa2c7f-9b17-4eea-99dc-c8dedb6ff2bd: ironic.common.exception.MACAlreadyExists: A port with MAC address bc:97:e1:d9:9a:c0 already exists.^[[00m 2021-06-25T08:32:12.799011134Z 2021-06-25 08:32:12.798 1 INFO ironic.drivers.modules.inspect_utils [req-3a18f6e8-0c30-458b-8b9d-d599d32c2539 ironic-user - - - -] Port created for MAC address BC:97:E1:D9:9A:C1 for node 2eaa2c7f-9b17-4eea-99dc-c8dedb6ff2bd^[[00m 2021-06-25T08:32:12.799236491Z 2021-06-25 08:32:12.799 1 DEBUG ironic.common.states [req-3a18f6e8-0c30-458b-8b9d-d599d32c2539 ironic-user - - - -] Exiting old state 'inspecting' in response to event 'fail' on_exit /usr/lib/python3.6/site-packages/ironic/common/states.py:307^[[00m 2021-06-25T08:32:12.799357757Z 2021-06-25 08:32:12.799 1 DEBUG ironic.common.states [req-3a18f6e8-0c30-458b-8b9d-d599d32c2539 ironic-user - - - -] Entering new state 'inspect failed' in response to event 'fail' on_enter /usr/lib/python3.6/site-packages/ironic/common/states.py:313^[[00m 2021-06-25T08:32:12.810215423Z 2021-06-25 08:32:12.810 1 ERROR ironic.conductor.task_manager [req-3a18f6e8-0c30-458b-8b9d-d599d32c2539 ironic-user - - - -] Node 2eaa2c7f-9b17-4eea-99dc-c8dedb6ff2bd moved to provision state "inspect failed" from state "inspecting"; target provision state is "manageable": ironic.common.exception.InvalidMAC: Expected a MAC address but received .^[[00m The exception is getting thrown when the code tries to create a ports here[1], the code is looping through the enabled nics found over redfish and creating ports for them, the first one already existed (BMO created this one), it created a port for the 2nd one, and the 3rd failed, further up the logs show the redish representation for this device 2021-06-25T08:32:12.552318459Z 2021-06-25 08:32:12.551 1 DEBUG sushy.resources.base [req-3a18f6e8-0c30-458b-8b9d-d599d32c2539 ironic-user - - - -] Received representation of EthernetInterface /redfish/v1/Systems/System.Embedded.1/EthernetInterfaces/NIC.Slot.7-2-1: {'_oem_vendors': None, 'description': 'NIC in Slot 7 Port 2 Partition 1', 'identity': 'NIC.Slot.7-2-1', 'links': {'oem_vendors': None}, 'mac_address': '', 'name': 'System Ethernet Interface', 'permanent_mac_address': '', 'speed_mbps': 1000, 'status': {'health': 'ok', 'health_rollup': None, 'state': 'enabled'}} refresh /usr/lib/python3.6/site-packages/sushy/resources/base.py:634^[[00m It is marked as enabled ('state': 'enabled') but isn't reporting a MAC ('mac_address': '') I'll push a patch upto ironic to ignore nics with no MAC reported, in the meantime as a workaround are you able to disable the nic? 1 - https://github.com/openstack/ironic/blob/77be4c6c690cfa8f52a10ada2b9c1ecabccd423f/ironic/drivers/modules/inspect_utils.py#L46 Slot 7(NIC in Slot 7) was specifically disabled from BIOS to prevent the NIC ports from showing up in the OS as they're not being in use. As a workaround I re-enabled the slot in BIOS and introspection passed. This has been picked up in ironic-image change https://github.com/openshift/ironic-image/pull/200, moving to ON_QA. Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (Moderate: OpenShift Container Platform 4.9.0 bug fix and security update), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2021:3759 |