Bug 1642609: new model config defaults

Michael Foord michael.foord at canonical.com
Wed Dec 7 20:37:08 UTC 2016


Hey all,

I spent far longer than was reasonable working out why OIL were unable 
to deploy workloads with juju 2.0.2 from the proposed stream.

https://bugs.launchpad.net/juju/+bug/1642609

The repro of the bug involved bootstrapping a xenial controller creating 
several new models and deploying bundles into the models. The Xenial 
machines would provision and trusty machines fail.

The cause of the problem is actually by design, although I would argue 
still insane and needs fixing. The agent-stream (proposed) is a 
model-config option that is not propagated to new models. So for new 
models the default stream is "released". The xenial agent is cached in 
the controller, so new models can provision xenial machines from the 
cached agent. When trying to provision a trusty machine the new model 
looks in it's agent-stream, released, which does not have 2.0.2 tools 
and thusly fails.

There are three current workarounds:

* If we promote 2.0.2 from proposed to released this specific problem 
goes away...

* After adding a new model you can set the agent-stream in the model-config

* Bootstrapping with "--model-default agent-stream=proposed" allegedly 
does propagate config options to new models

I am strongly of the opinion that at the very least a newly created 
model should be capable of deploying workloads, which means that at 
least a subset of model-config options should be propagated by default 
to new models. This means at least, agent-stream, agent-metadata-url, 
proxy settings etc.

All the best,

Michael Foord





More information about the Juju-dev mailing list