juju not respecting spaces constraint

Bug #1890347 reported by james beedy
16
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Canonical Juju
Fix Released
High
Joseph Phillips

Bug Description

I have added a space to my model. I am trying to deploy some charms to the space. I have added constraints to the charms in my bundle that constrain them to the space and add root-disk=20G.

The root-disk constraint seems to be applied, but the spaces constraint doesn't stick.

juju spaces https://paste.ubuntu.com/p/MkQCmPqMXV/

bundle.yaml https://paste.ubuntu.com/p/fvxJkkTknk/

juju status https://paste.ubuntu.com/p/W8FpRjmrXR/

juju run --all "ip a | grep 'ens\|eth'" https://paste.ubuntu.com/p/FtsBKN23f3/

You can see from the attached screen shot that the NAT_COMMON_* subnets have the addresses that match the subnets that are in my space, and from the output of the juju run command that the ip addresses of the machines in my model aren't in the space I have constrained them to.

It might be worth adding that this is the first time I have used spaces in aws with juju > 2.7.6. Using spaces in this same way works as expected when I use the jaas controller which is < 2.8.

This can be replicated by adding a space to an aws model running juju > 2.8 and deploying a charm to the space using juju add-space myspace <subnet1> <subnet2> <subnet3> && juju deploy ubuntu --constraints spaces=myspace.

The expected result is that the charm doesn't land in a subnet that is mapped to the space.

Revision history for this message
james beedy (jamesbeedy) wrote :
description: updated
james beedy (jamesbeedy)
description: updated
description: updated
Revision history for this message
james beedy (jamesbeedy) wrote :

I think I found some further helpful information https://paste.ubuntu.com/p/R8Q9RjPxy3/

As you can see above, juju respects the spaces constraint when I `juju add-machine`, but not when I `juju deploy`.

Revision history for this message
John A Meinel (jameinel) wrote :

As mentioned in https://discourse.juju.is/t/aws-spaces-in-2-8/3417
Juju 2.8 got updated so that bindings on an application get properly passed through to the underlying machine as space constraints.

However, it seems that in doing that change we broke passing the application space constraints along with the bindings as spaces that the machine needs. (It is the set of all bindings + all space constraints that determine the machine provisioning.)

While there is a workaround, I would certainly consider this to be a regression.

Changed in juju:
status: New → Triaged
importance: Undecided → High
Changed in juju:
assignee: nobody → Joseph Phillips (manadart)
status: Triaged → In Progress
Revision history for this message
Joseph Phillips (manadart) wrote :
Changed in juju:
milestone: none → 2.8.2
Changed in juju:
status: In Progress → Fix Committed
Revision history for this message
james beedy (jamesbeedy) wrote :

@manadart I have found another bit that may be helpful here

juju bootstrap aws --credential mycred --to subnet=subnet-02bc060304e2d7916

Considering the above command, the controller doesn't end up in the desired subnet.

Possibly you have already picked this up as part of the work you have going on, thought it was worth noting anyway.

Changed in juju:
status: Fix Committed → Fix Released
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.