Comment 4 for bug 1691694

Revision history for this message
Dmitrii Shcherbakov (dmitriis) wrote :

Tim,

Without machine definitions it certainly does work - tested originally this way in a dup:

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

I can see that v3 vs v4 bundle spec differences are, in part, about having the "machines" section though:

https://github.com/juju/charmstore/blob/v5-unstable/docs/bundles.md#version-4-bundles
"Version 4 bundles

Version 4 bundles are identical to version 3 bundles except for a few key differences: the branch attribute of the application spec is no longer supported, they may contain a **machine specification**, and their **deployment directives are different** from version 3 bundles."

https://github.com/juju/charmstore/blob/v5-unstable/docs/bundles.md#deployment-directives
"Deployment directives

Version 4 deployment directives (the to attribute on the application spec) is a YAML list of items following the format:

(<containertype>:)?(<unit>|<machine>|new)"

https://github.com/juju/juju-bundlelib/blob/0.5.4/jujubundlelib/validation.py#L318-L325
is_legacy_bundle = machines is None

We currently use the "machines" section for our large bundles.

It may not be the most elegant way and we might need to think on how to improve large bundle experience in terms of using placement directives (e.g. using "--to 42" isn't the most descriptive directive) but it is a valid format.