← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1739735] [NEW] boot baremetal server which has multi-interface will randomly choose baremetal server interface

 

Public bug reported:

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_for_instance (nova/network/neutronv2/api.py) . typically, eth0 will has small mac compare with eth1.
So maybe we can use list for available_macs, and use small mac first to create port.

** Affects: nova
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1739735

Title:
  boot baremetal server which has multi-interface will randomly choose
  baremetal server interface

Status in OpenStack Compute (nova):
  New

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_for_instance (nova/network/neutronv2/api.py) . typically, eth0 will has small mac compare with eth1.
  So maybe we can use list for available_macs, and use small mac first to create port.

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1739735/+subscriptions


Follow ups