breaking change: repository structure, deploy interface
William Reade
william.reade at canonical.com
Thu Sep 29 02:10:31 UTC 2011
Hi all
The good news is that I'm just about to merge a branch which brings us a
significant step closer to using remote charm repositories.
The bad news is that is requires you to make two changes which are not
compatible with Juju's current implementation, as follows:
* Repository structure
Local repositories are no longer flat: they require subdivision by
Ubuntu series codename. In practice, you should be able to:
(1) create a directory called "oneiric" in your current repository, and
move all your charms inside
(2) if you're not running oneiric locally, add "default-series: oneiric"
to your environment config file
...and keep everything running as it was before. For example, if you had
a charm at:
/path/to/repo/mycharm
...it should end up at:
/path/to/repo/oneiric/mycharm
Note that, if you currently depend upon an EC2 default-image-id running
a series other than oneiric, you may prefer to replace the series name
in the instructions above with that series, for consistency's sake.
* Deploy command interface
More detail is required when specifying a charm. In practice, you should
be able to:
(1) prepend "local:" to the charm name
...and keep everything running as it was before (assuming you've made
changes to your repository (and possibly environments.yaml) as described
above). For example,
bin/juju deploy --repository=examples mysql
...would become:
bin/juju deploy --repository=examples local:mysql
* Further details, for interested readers
(1) You can explicitly specify the collection, if necessary:
bin/juju deploy --repository=examples local:oneiric/mysql
...and you will, in the near future, have additional options for
specifying charms, but these changes won't land quite yet; more details
will be forthcoming when they are merged.
(2) An environment's "default-series" setting (which will default to the
local machine's current series, if left unspecified) will control:
* the charm collection within the repository that will be searched for
charms, if it's not specified explicitly
* on EC2, the series that will run on new instances, unless overridden
by the "default-image-id" setting
I hope this is all clear, and not too desperately inconvenient. We don't
expect this work to break anything else after this.
Cheers
William
More information about the Juju
mailing list