Undetermenistic network interfaces naming in the Ubuntu bootstrap

Bug #1487044 reported by Michael Semenov
18
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Mirantis OpenStack
Fix Released
High
MOS Linux
7.0.x
Fix Released
High
Sergii Rizvan
8.0.x
Fix Released
High
MOS Linux

Bug Description

Ubuntu 14.04 uses asynchronous device initialization (as well as Ubuntu bootstrap does). Therefore the naming of devices (in particular network interfaces) is not guaranteed to be persistent or stable.

For example, we have 2 NICs on the node. On the first boot, for the first of them "eth0" name assigned, and "eth1" for the second.
NIC1 <-> eth0
NIC2 <-> eth1

But if we turn this node off and boot it again, such mapping is not guaranteed and if NIC2 initializes prior to NIC1, it's possible to get:
NIC1 <-> eth1
NIC2 <-> eth0

It happens only on a first boot of the node. Then nailgun generates udev rules to make device mapping stable. So, it's not a problem to a deployed node. However the bootstrap nodes have no information (e.g. MAC addresses) to make a consistent "ethX" naming (bootstrap is assumed to discover that data).

Also, virtual nodes are not affected because virtual NICs have constant initialization time.

As for baremetal nodes, the user should check each node and reassign the networks (admin, data, management, etc) to the correct interfaces. It can be a problem for huge clusters (>50 nodes).

To solve the problem we propose to use "predictable" interface naming (http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/). Basically the name of the network interface is derived from the physical location of the network device (location on the PCI bus, etc). In this case, interfaces naming will be stable, but looks like "enp2s0f0"(Ethernet card @02:00.0) instead of "eth0".

Revision history for this message
Alexei Sheplyakov (asheplyakov) wrote :

Ubuntu based bootstrap is an experimental feature in MOS 7.0. Moving the milestone to MOS 8.0

Changed in mos:
milestone: 7.0 → 8.0
assignee: Alexei Sheplyakov (asheplyakov) → nobody
tags: removed: mos-linux
Revision history for this message
Timur Nurlygayanov (tnurlygayanov) wrote :

Looks like MOS linux prepared new bootstrap image (do we have the link?) and now we need to adopt Fuel to work with this issue. Also it is required to fix MOS system tests.

Changed in mos:
assignee: nobody → MOS Linux (mos-linux)
assignee: MOS Linux (mos-linux) → Fuel Library Team (fuel-library)
status: Confirmed → New
assignee: Fuel Library Team (fuel-library) → Fuel Python Team (fuel-python)
assignee: Fuel Python Team (fuel-python) → Michael Semenov (msemenov)
status: New → Incomplete
Revision history for this message
Timur Nurlygayanov (tnurlygayanov) wrote :

Michael, could you please add details about the status of the issue and provide the links with some changes is they are ready?

Revision history for this message
Michael Semenov (msemenov) wrote :

Timur, we need to discuss the plan for this feature for 8.0 first (requirements, changes, testing plan). And all of these must be approved by Fuel devs, QA and scale team.

Changed in mos:
assignee: Michael Semenov (msemenov) → MOS Linux (mos-linux)
Revision history for this message
Michael Semenov (msemenov) wrote :

Documentations team, please add description of this bug into Fuel documentation.
User will be able to deploy with Ubuntu bootstrap in 7.0, but it's experimental feature and it can be done only at his own risk. Known issue - in description.

Changed in mos:
assignee: MOS Linux (mos-linux) → Fuel Documentation Team (fuel-docs)
status: Incomplete → Confirmed
milestone: 8.0 → 7.0
tags: added: docs
tags: added: release-notes
tags: added: done
tags: removed: done release-notes
tags: added: done release-notes
Changed in mos:
assignee: Fuel Documentation Team (fuel-docs) → ologvinova (ologvinova)
Revision history for this message
Olena Logvinova (ologvinova) wrote :

For some reason, Gerrit link with docs fix patch was not added automatically here, so adding it manually:

[RN 7.0] Ubuntu bootstrap - experimental feature

Adds a new experimental feature: Deployment with Ubuntu 14.04
bootstrap to Release Notes 7.0.
Change-Id: I9864d9c53b0d75316c75c97b67ea710294ea38ae

https://review.openstack.org/#/c/220182

Changed in mos:
status: Confirmed → In Progress
Changed in mos:
status: In Progress → Fix Committed
tags: added: release-notes-done
removed: release-notes
Revision history for this message
Timur Nurlygayanov (tnurlygayanov) wrote :

MOS Linux team, could you please update status for MOS 7.0 branch? It is already implemented, but there was no 7.0 series and milestone, I added it, and we need to set the correct status for the issue in MOS 7.0

Revision history for this message
Michael Semenov (msemenov) wrote :

Status for 7.0 is Won't fix. Ubuntu bootstrap has experimental status in 7.0 because of that.

tags: added: rn7.0
Revision history for this message
Aleksey Zvyagintsev (azvyagintsev) wrote :
tags: added: area-linux
tags: added: on-verification
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.