boot baremetal server which has multi-interface will randomly choose baremetal server interface
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Won't Fix
|
Undecided
|
Unassigned |
Bug Description
Description
===========
In my ironic environment, my baremetal node has two interface, we will register two ports with two macs into ironic. When tenant user boot baremetal server with one network, nova will randomly choose the one of the macs, baremetal server will randomly use eth0 / eth1 as its interface.
Steps to reproduce
==================
1. register baremetal server with multi interface.
2. boot a ironic server with one network
Expected result
===============
use eth0 as its interface
Actual result
=============
some of the ironic nodes will use eth0, but some will choose eth1.
Environment
===========
Newton, but this problem also existed in latest master.
Analysis
===========
We think the problem is because nova is using set for available_macs in allocate_
So maybe we can use list for available_macs, and use small mac first to create port.
tags: | added: ironic |
You can set the physical_network field of the ironic nodes' ports to obtain a deterministic port mapping. See the ironic docs [1] and spec [2].
[1] https:/ /docs.openstack .org/ironic/ pike/admin/ multitenancy. html#physical- networks /specs. openstack. org/openstack/ ironic- specs/specs/ not-implemented /physical- network- awareness. html
[2]https:/