Using MAAS and --constraints "maas-name=$SPECIFIC_HOST" juju will deploy when that host is in commissioning or some other non-ready state

Bug #1073090 reported by David Ames
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
pyjuju
New
Undecided
Unassigned

Bug Description

Using MAAS and --constraints "maas-name=$SPECIFIC_HOST" juju will deploy when that host is in commissioning or some other non-ready state without erroring or warning.

In juju status the machine state shows as pending indefinitely even when the machine specified becomes available in a ready state.

Revision history for this message
Kapil Thangavelu (hazmat) wrote :

This seem like a maas issues, juju doesn't interpret constraints, it merely provides them to the provider to do the 'right' thing. On the other end (status, post deploy), juju is directly querying the maas server for status of the host using the value given by the maas server for deploy/add-unit.

Revision history for this message
Kapil Thangavelu (hazmat) wrote :

constraint validation on the juju side for maas is limited at the moment to vocabulary validation against tags. the maas-name imo is a deprecated constraint in that its effectively broken from a capabilities perspective... ie you can never add-unit to a service deployed with a name-constraint. none the less maas should never return a provisioning error if no machines matching constraints are in a ready state/good state imo.

Changed in maas:
status: New → Triaged
importance: Undecided → Critical
assignee: nobody → John A Meinel (jameinel)
Revision history for this message
John A Meinel (jameinel) wrote :

I don't think this is specific to --maas-name. The issue is that you go to deploy and no nodes can match your requested constraints. So juju gets 0 nodes available for that request (right now). When the node becomes ready later, it doesn't seem that juju is retrying the deploy request?

Revision history for this message
Martin Packman (gz) wrote :

Short version: don't use the maas-name constraint.

So, only nodes in the READY state are offered for acquisition. If tell juju to only deploy to a machine with a particular node, and that machine does not exist, or is not yet ready, it will get NodesNotAvailable back from maas. This is fine, apart from that error does not propagate from the provisioning agent back to the client, so without looking at the log on the master node you have no idea anything went wrong. See the existing bug for more discussion.

no longer affects: maas
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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