Ironic fails to provision neutron port with spine-leaf networking.

Solution In Progress - Updated -

Issue

  • When attempting to build a baremetal host via Ironic on the Overcloud with a spine-leaf network topology the following stack trace can be found in the logs
2019-01-16 16:12:07.184 1 ERROR ironic.conductor.manager [req-5830457d-dbcd-4cb9-9d4b-1227c3b0cddd f5b1c4e792024a68b7715019946fb3ce 3f40d71fb44341b6940903c557a70b16 - default default] Failed to prepare node 524172b4-0314-45ad-b544-0a89cc34524c for cleaning: Failed to create neutron ports for any PXE enabled port on node 524172b4-0314-45ad-b544-0a89cc34524c.: NetworkError: Failed to create neutron ports for any PXE enabled port on node 524172b4-0314-45ad-b544-0a89cc34524c.
2019-01-16 16:12:07.184 1 ERROR ironic.conductor.manager Traceback (most recent call last):
2019-01-16 16:12:07.184 1 ERROR ironic.conductor.manager   File "/usr/lib/python2.7/site-packages/ironic/conductor/manager.py", line 1181, in _do_node_clean
2019-01-16 16:12:07.184 1 ERROR ironic.conductor.manager     prepare_result = task.driver.deploy.prepare_cleaning(task)
2019-01-16 16:12:07.184 1 ERROR ironic.conductor.manager   File "/usr/lib/python2.7/site-packages/ironic_lib/metrics.py", line 60, in wrapped
2019-01-16 16:12:07.184 1 ERROR ironic.conductor.manager     result = f(*args, **kwargs)
2019-01-16 16:12:07.184 1 ERROR ironic.conductor.manager   File "/usr/lib/python2.7/site-packages/ironic/drivers/modules/iscsi_deploy.py", line 610, in prepare_cleaning
2019-01-16 16:12:07.184 1 ERROR ironic.conductor.manager     task, manage_boot=True)
2019-01-16 16:12:07.184 1 ERROR ironic.conductor.manager   File "/usr/lib/python2.7/site-packages/ironic/drivers/modules/deploy_utils.py", line 989, in prepare_inband_cleaning
2019-01-16 16:12:07.184 1 ERROR ironic.conductor.manager     task.driver.network.add_cleaning_network(task)
2019-01-16 16:12:07.184 1 ERROR ironic.conductor.manager   File "/usr/lib/python2.7/site-packages/ironic/drivers/modules/network/flat.py", line 119, in add_cleaning_network
2019-01-16 16:12:07.184 1 ERROR ironic.conductor.manager     task, self.get_cleaning_network_uuid(task))
2019-01-16 16:12:07.184 1 ERROR ironic.conductor.manager   File "/usr/lib/python2.7/site-packages/ironic/common/neutron.py", line 279, in add_ports_to_network
2019-01-16 16:12:07.184 1 ERROR ironic.conductor.manager     "on node %s.") % node.uuid)
2019-01-16 16:12:07.184 1 ERROR ironic.conductor.manager NetworkError: Failed to create neutron ports for any PXE enabled port on node 524172b4-0314-45ad-b544-0a89cc34524c.
2019-01-16 16:12:07.184 1 ERROR ironic.conductor.manager
  • The baremetal provisioning network is configured to use network segments similarly to the configuration used on the Undercloud as shown below
$ openstack network list
+--------------------------------------+-------------+----------------------------------------------------------------------------+
| ID                                   | Name        | Subnets                                                                    |
+--------------------------------------+-------------+----------------------------------------------------------------------------+
| 3992a844-0de8-4b63-8574-8a5e143d498e | baremetal   | 6761bf48-90ab-487e-8d94-9fd4b444a591, a528059c-3ccb-4d29-9ec4-23e481dcbf57 |
+--------------------------------------+-------------+----------------------------------------------------------------------------+
$ openstack network segment list
+--------------------------------------+-----------------+--------------------------------------+--------------+---------+
| ID                                   | Name            | Network                              | Network Type | Segment |
+--------------------------------------+-----------------+--------------------------------------+--------------+---------+
| 8d736d56-f71d-4e09-bfeb-6efbef6adfbd | baremetal-leaf0 | 3992a844-0de8-4b63-8574-8a5e143d498e | flat         | None    |
| 23698b87-ae8c-4ab1-aa72-a8d0823a7f01 | baremetal-leaf1 | 3992a844-0de8-4b63-8574-8a5e143d498e | flat         | None    |
+--------------------------------------+-----------------+--------------------------------------+--------------+---------+
$ openstack subnet list
+--------------------------------------+-----------------+--------------------------------------+---------------+
| ID                                   | Name            | Network                              | Subnet        |
+--------------------------------------+-----------------+--------------------------------------+---------------+
| 6761bf48-90ab-487e-8d94-9fd4b444a591 | baremetal-leaf1 | 3992a844-0de8-4b63-8574-8a5e143d498e |  10.0.0.0/24  |
| a528059c-3ccb-4d29-9ec4-23e481dcbf57 | baremetal-leaf0 | 3992a844-0de8-4b63-8574-8a5e143d498e |  10.0.1.0/24  |
+--------------------------------------+-----------------+--------------------------------------+---------------+
  • Additionally, the physical network for the port of the baremetal node is set to the correct network mapping
$ openstack baremetal port show c6a1dc13-cd5a-4afa-9609-7138a2df41e1
+-----------------------+--------------------------------------+
| Field                 | Value                                |
+-----------------------+--------------------------------------+
| address               | aa:bb:cc:dd:ee:ff                    |
| created_at            | 2019-01-15T17:55:54+00:00            |
| extra                 | {}                                   |
| internal_info         | {}                                   |
| local_link_connection | {}                                   |
| node_uuid             | 524172b4-0314-45ad-b544-0a89cc34524c |
| physical_network      | leaf0                                |
| portgroup_uuid        | None                                 |
| pxe_enabled           | True                                 |
| updated_at            | 2019-01-15T21:58:41+00:00            |
| uuid                  | c6a1dc13-cd5a-4afa-9609-7138a2df41e1 |
+-----------------------+--------------------------------------+
  • Relevant configuration information
NeutronFlatNetworks: ‘*’
ControllerExtraConfig:
  neutron::agents::ml2::ovs::bridge_mappings:
  - leaf0:br-ex
ComputeLeaf0ExtraConfig:
  neutron::agents::ml2::ovs::bridge_mappings:
  - leaf0:br-ex
ComputeLeaf1ExtraConfig:
  neutron::agents::ml2::ovs::bridge_mappings:
  - leaf1:br-ex

Environment

Red Hat OpenStack Platform 13.0

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content