I'm currently following Juju 2.0 Bug# 1576003 which will hopefully make this problem obsolete. Until then...
JuJu seems to cut-out before landscape deployment completes in a MaaS environment. In previous version I could alter "bootstrap-timeout" in the environments.yaml. However, in JuJu 2 I can't figure out how to set this while using Autopilot installer via: conjure-up openstack
Background for Posterity (and anyone else struggling along)
As per the current (May-2016) AutoPilot Instructions (www.ubuntu.com/download/cloud/install-openstack-with-autopilot).
- Ubuntu Server 16.04 LTS (xenial)
- MaaS: 2.0.0 (beta3+bzr4941)
- JuJu: 2.0-beta6-xenial-amd64
I understand JuJu 2 and Maas 2 may not play nicely as I am currently tracking JuJu 2 and MaaS 2 Integration [This should now work as of Juju 2.0-beta7]
I've had to alter Step 6 accordingly(Is Autopilot Openstack 16.04 available?), replacing
sudo openstack-install with conjure-up openstack
I've had to alter /usr/share/openstack/config.json replacing "bootstrapSeries": "trusty" with "bootstrapSeries": "xenial" on "key": "landscape-dense-maas" to get JuJu to deploy on xenialas Step 3 of the instructions has us import the xenialimage and not the trustyimage that config.json defaults with.
When conjure-up openstack errors out (e.g. by entering the full MAAS UI url in the 'maas-server' field instead of just the IP Address, or an incorrect API Key in the 'mass-oauth' field), I've had to sudo rm ~/.local/share/juju/credentials.yaml so as to avoid the ERROR loading credentials: credentials.maas.<random>.maas-oauth: expected string, got nothing on subsequent conjure-ups. Seeing as how I can't seem to find a juju kill-credentials type of command in JuJu 2.
At this point I am able to get JuJu 2 and MaaS 2 to begin landscape deployment with Ubuntu 16.04, but it appears timeout prevents this from finishing. I believe I can circumvent this with the JuJu CLI, but I've progressed this far with Autopilot...
Follow up
Removing Credentials
To remove credentials:
juju remove-credential maas <random>
However, this is broken if the credential is invalid so I've still had to use:
sudo rm ~/.local/share/juju/credentials.yaml
Adjusting bootstrap-timeout
I believe the following is a bit of a hack:
I was able to update the bootstrap-timeout by modifying line 121 of
/usr/share/conjure-up/conjure/juju.pyFrom:
"--config image-stream=daily ".format(To:
"--config bootstrap-timeout=3000 --config image-stream=daily ".format(
Instead I should probably be editing /usr/share/openstack/bundles/landscape-dense-maas/pre.sh with Juju config commands.
More info on
pre.shcan be found in conjure-up git wiki: (www.github.com/ubuntu/conjure-up/wiki/Customizing-bundle-deployments)Juju 2 commands: (www.jujucharms.com/docs/devel/commands)
Sorry, not enough rep to actually link
While this does technically answer my own question, I was not able to get AutoPilot to work even with the increased timeout. I suppose I will be waiting for all the individual updates to talk appropriately for now.
Bug tracker update: (Juju 2.0 should support MAAS 2.0) Juju 2.0-beta7 released in ppa:juju/devel
Final comments
Editing /usr/share/conjure-up/conjure/juju.py as mentioned above does alter the time-out. However, the appropriate fix is to modify the conjure-up config files. Unfortunately, until documentation catches up with development this method is more troublesome than its worth to me. I have ultimately abandoned AutoPilot with Xenial/Mikata, as Openstack itself has current issues in installation without the added layer of AuotPilot/Landscape (see: https://bugs.launchpad.net/openstack-manuals/+bug/1575688).
If anyone following along has the correct format for the conjure-up config files for passing --config bootstrap-timeout= throw it on here as an answer so we can appease the mods. Until that time, consider my investment here abandoned. Good luck.