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 of over 48,000 articles and solutions.

Current Customers and Partners

Log in for full access

Log In