Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1654648

Summary: [RFE] Support integration between multi-tenant BMaaS and Ironic Inspector in the Overcloud
Product: Red Hat OpenStack Reporter: Ian Pilcher <ipilcher>
Component: openstack-ironicAssignee: Steve Baker <sbaker>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: high Docs Contact:
Priority: medium    
Version: 14.0 (Rocky)CC: bfournie, dradez, dtantsur, hjensas, mburns, pweeks, racedoro, sbaker
Target Milestone: betaKeywords: FutureFeature, TechPreview, TestOnly, Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: openstack-ironic-13.0.7-1.20200825103414.3d77e61.el8 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-09-07 19:15:22 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:

Description Ian Pilcher 2018-11-29 10:40:22 UTC
When using Ironic multi-tenancy with networking-ansible, Ironic leaves nodes (actually their associated switch ports) in a non-introspectable state.

For example, consider a scenario in which VLAN 1001 is used for provisioning, cleaning, and introspection, and VLANs 1002+ are used for tenant networks.  Ironic and networking-ansible can clean and provision a node using VLAN 1001 and configure the node's switch port to connect the node to it's tenant network.  (I.e., the basic multi-tenancy use case works.)

However, the introspection workflow does not do this.  Introspecting a node requires that the switch be pre-configured to place the node on the provisioning network.  Furthermore, Ironic does not place nodes on the provisioning network when a node is unused; instead it removes any VLAN tag from the port.

Thus, a node that is not in active use by Ironic is left in a state in which it cannot be introspected without manual reconfiguration of the node's switch port.

This has 2 implications for operators:

1.  When deploying new BMaaS hardware, switch ports for the new nodes must be
    manually configured to place them in the provisioning VLAN.

2.  When re-introspecting an existing node (after replacing a faulty hardware
    component, for example) the switch port must be manually recofigured to
    connect the node to the provisioning VLAN.

The Ironic introspection process should be able to connect the node to the
provisioning VLAN.  Alternatively, Ironic could leave the node connected to
the provisioning VLAN at the end of the cleaning process (but this would only
address case #2 above).

NOTE: The text above does assume that the same network is used for provsioning,
cleaning, and introspection.  It's somewhat more complicated if different
networks are being used.

Comment 1 Dmitry Tantsur 2018-11-30 10:27:06 UTC
> The Ironic introspection process should be able to connect the node to the
provisioning VLAN.

I posted a spec for it long ago, but it kind of got stuck for 2 years without reviews. I'll try to revive it and poke people to review.

I'm marking it as an RFE because of the fast scope of the actual code changes and the amount of testing that will be required to cover it.

Comment 6 Steve Baker 2021-03-30 21:05:29 UTC
This feature is available in all 16.x releases, associating it with 16.1 for QA

Comment 15 OSP Team 2022-09-22 10:40:12 UTC
According to our records, this should be resolved by openstack-ironic-17.0.5-0.20220705231707.dd2bfab.el9ost.  This build is available now.