Interface configuration cannot be modified unless the node is Ready or Broken.

Bug #1650396 reported by Sam Lee on 2016-12-15
This bug affects 4 people
Affects Status Importance Assigned to Milestone
Lee Trager
Lee Trager

Bug Description

We have a pool of bare-metal servers that have pre-trunked all possible VLANs. The specific VLAN(s) that need to configured on the bm server is dictated by the workload being deployed.

So for example, if the physical ToR switch has the following VLANs trunked to all machine interfaces:

VLAN 100-199

A single machine deploy would run an app that uses VLAN 150, which means we need maas to create a VLAN interface on 150. say, "bond0.150"

Unfortunately, we cannot first Acquire/Allocate the node, and then configure the network because of the maas error:

  "Interface configuration cannot be modified unless the node is Ready or Broken."

By forcing the interface configuration to occur during Ready state, means we introduce a possibility of simultaneous maas service requests trying to configure the same maas machine. Which of course, Allocation/Acquire nicely removes this possibility.

As a workaround, we are thinking of first marking a node as 'Allocate'->'Broken'->(configure interface)->'Mark Fixed'->'Acquire'->'Deploy'.

This is all done via maas api.

Related branches

Sam Lee (samlee) on 2016-12-15
description: updated
Andres Rodriguez (andreserl) wrote :

Hi Sam,

Thanks for filing the bug report. We are aware of the limited and it was placed intentionally until the use case arises.

The way this is meant to work is:

1. 'allocate' machine
2. make network config changes
3. deploy
4. Once machine is not needed, 'release'.
5. Network changes in (2) get rolled-back to how the machine was before (1).

This approach is currently applied for storage (i.e. if you make changes for storage when the machine is allocated to an admin, once released, it will be rolled back to how it was before), and it is meant to ensure the machine can be re-used and to allow each different user to make its own configuration when using the specific machine.

So, this would allow you to:

'Acquire' -> (configure interface) -> 'Deploy'

Changed in maas:
importance: Undecided → Wishlist
Changed in maas:
status: Confirmed → Triaged
no longer affects: maas/trunk
Changed in maas:
assignee: nobody → Lee Trager (ltrager)
status: Triaged → In Progress
Changed in maas:
status: In Progress → Fix Committed
Changed in maas:
milestone: 2.3.0 → 2.3.0alpha1
Changed in maas:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers