Public bug reported: Openstack Ironic need to set the mac address of neutron port to the actual mac address of the hardware for DHCP/PXE deployment to work. When using pre-created neutron ports there is an issue where previously used ports cause a conflict when a new instance is scheduled onto the same baremetal hosts.
Example: openstack port create --network private test-port1 openstack port create --network private test-port2 openstack server create \ --image cirros-0.3.5-x86_64-disk \ --port test-port1\ --flavor baremetal \ test-server openstack server delete test-server openstack server create \ --image cirros-0.3.5-x86_64-disk \ --port test-port2 \ --flavor baremetal \ test-server The second server create command fails with: fault: code: 500 created: '2018-04-29T12:21:37Z' < .. snip .. > message: 'Build of instance 5982f29a-3d48-4eb8-88ca-cf794c8f31dd aborted: Failure prepping block device.' An in conductor log: Apr 29 14:21:35 ironic-devstack.lab.example.com ironic-conductor[445]: ERROR ironic.common.neutron MacAddressInUseClient: Unable to complete operation for network 52497681-18f4-47de-b48e-1265799caea9. The mac address 52:54:00:53:b5:b9 is in use. It should be possible to "return" the port by resetting a mac in the base MAC address Neutron uses for VIFs. e.g a port update request that triggers regeneration of the mac address. Ironic would add this to it's interface detach method, to ensure no previously used ports cause issues when deploying new baremetal instances. ** Affects: neutron Importance: Undecided Status: New ** Tags: rfe -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to neutron. https://bugs.launchpad.net/bugs/1768690 Title: [RFE] Regenerate mac address of a port Status in neutron: New Bug description: Openstack Ironic need to set the mac address of neutron port to the actual mac address of the hardware for DHCP/PXE deployment to work. When using pre-created neutron ports there is an issue where previously used ports cause a conflict when a new instance is scheduled onto the same baremetal hosts. Example: openstack port create --network private test-port1 openstack port create --network private test-port2 openstack server create \ --image cirros-0.3.5-x86_64-disk \ --port test-port1\ --flavor baremetal \ test-server openstack server delete test-server openstack server create \ --image cirros-0.3.5-x86_64-disk \ --port test-port2 \ --flavor baremetal \ test-server The second server create command fails with: fault: code: 500 created: '2018-04-29T12:21:37Z' < .. snip .. > message: 'Build of instance 5982f29a-3d48-4eb8-88ca-cf794c8f31dd aborted: Failure prepping block device.' An in conductor log: Apr 29 14:21:35 ironic-devstack.lab.example.com ironic-conductor[445]: ERROR ironic.common.neutron MacAddressInUseClient: Unable to complete operation for network 52497681-18f4-47de-b48e-1265799caea9. The mac address 52:54:00:53:b5:b9 is in use. It should be possible to "return" the port by resetting a mac in the base MAC address Neutron uses for VIFs. e.g a port update request that triggers regeneration of the mac address. Ironic would add this to it's interface detach method, to ensure no previously used ports cause issues when deploying new baremetal instances. To manage notifications about this bug go to: https://bugs.launchpad.net/neutron/+bug/1768690/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp