!amd64 controller on MAAS cloud requires constraints

Bug #1644333 reported by dann frazier
18
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Canonical Juju
Triaged
Low
Unassigned

Bug Description

juju-2.0 version 1:2.0.1-0ubuntu1~16.04.4~juju1

I have a MAAS of only arm64 nodes. If I attempt to bootstrap a controller on that MAAS from an x86 system, it fails w/ an unhelpful (to me) error message:

dannf@ubuntu:~$ juju bootstrap maas maas
Creating Juju controller "maas" on maas
Looking for packaged Juju agent version 2.0.0 for amd64
Launching controller instance(s) on maas...
ERROR failed to bootstrap model: cannot start bootstrap instance: no matching tools available

This *used* to work, but broke when I upgraded from 2.0~beta15-0ubuntu2.16.04.1 to 2.0.0-0ubuntu0.16.04.2.

Google found a potential workaround in an IRC log:
  https://irclogs.ubuntu.com/2016/10/24/%23juju.txt

Specifically:
  $ juju bootstrap maas maas --constraints arch=arm64

My expectation, however, is that it would just use an arm64 node if available.

Revision history for this message
Richard Harding (rharding) wrote :

That should not need to work that way. Is the client amd64? You mention you're on 2.0.1-0ubuntu1~16.04.4~juju1 ? that seems like an odd version string. Can I ask what package/ppa you're pulling from? I'm guessing that something is up with the version of Juju and that the --arch is forcing it to do something that makes it work, but kind of accidentally.

What is your client host OS?
What package did you get juju 2 from and where it is pulling (devel ppa, stable ppa, etc?)

Revision history for this message
Richard Harding (rharding) wrote :

Sorry, I realized I midread amd64 based on the output from the bootstrap attempt vs arm64 which is the hardware you've got on hand.

I do think there's something here with the client not being on arm and the maas nodes you want to deploy being so, and this requires the specification to allow the mismatch.

Revision history for this message
Anastasia (anastasia-macmood) wrote :

Re-targeted to "juju" project as it tracks Juju 2.x issues.

no longer affects: juju-core
tags: added: regression
Changed in juju:
status: New → Triaged
importance: Undecided → High
milestone: none → 2.2.0
Curtis Hovey (sinzui)
Changed in juju:
milestone: 2.2-beta1 → 2.2-beta2
Curtis Hovey (sinzui)
Changed in juju:
milestone: 2.2-beta2 → 2.2-beta3
Changed in juju:
milestone: 2.2-beta3 → 2.2-beta4
Changed in juju:
milestone: 2.2-beta4 → 2.2-rc1
Revision history for this message
Tim Penhey (thumper) wrote :

Yes you are right, this shouldn't require a constraint. Also though this isn't a current priority and I'm going to stop pretending that it will be fixed in the next release. We'll assign a milestone when someone actually starts working on fixing this.

tags: added: usability
Changed in juju:
importance: High → Medium
milestone: 2.2-rc1 → none
Revision history for this message
Sean Feole (sfeole) wrote :

We do a'lot of CI testing in our lab on arm64 hosts, most of the time the CI is smoke tested with juju using either our local laptops (amd64) or x64 systems in the lab.

In the event the bootstrap controller is amd64, I always need to pass the following in order to make this work.

juju bootstrap --config=~/config.yaml --constraints tags=bootstrap --bootstrap-constraints arch=arm64 --debug

Would be nice to get this back on the radar to-be-fixed. :)

juju bootstrap --config=~/config.yaml --constraints tags=<SomeTag> --debug

For me personally , It's ingrained in my head to type some extra 20 characters to make this work. But for a production grade tool, it should just know the arch deploying too and do its magic.

Revision history for this message
dann frazier (dannf) wrote :

So it seems like this issue had gone away - our QA automation had been successfully deploying arm64 systems by passing only maas tag constraints w/ Juju 2.8. Today we happened to update our juju controller to 2.9 - and now this issues seems to have come back. arm64 nodes will not deploy unless we explicitly pass the arch=arm64 constraint. Is this considered a regression?

Revision history for this message
Canonical Juju QA Bot (juju-qa-bot) wrote :

This Medium-priority bug has not been updated in 60 days, so we're marking it Low importance. If you believe this is incorrect, please update the importance.

Changed in juju:
importance: Medium → Low
tags: added: expirebugs-bot
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.