VCS code duplication and subordinate

Mark Ramm mark.ramm-christensen at canonical.com
Mon Mar 11 14:24:03 UTC 2013


On 03/10/2013 02:06 PM, Patrick Hetu wrote:
> In the process of building the Django charm, I realized that a lot of charms are
> repeating the parts that handle VCS. Like:
>
>    http://bazaar.launchpad.net/~charmers/charms/precise/node-app/trunk/view/head:/hooks/install#L28
>    http://bazaar.launchpad.net/~charmers/charms/precise/rack/trunk/view/head:/hooks/install#L38
>    http://bazaar.launchpad.net/~charmers/charms/precise/python-django/trunk/view/head:/hooks/install#L36
>
> There is also a blueprint here:
>
>    https://blueprints.launchpad.net/juju/+spec/juju-charm-app-git-deployment
>
> So, I was thinking that we could create one subordinate charm per VCS to:
>
> 1) Reduce the installation time
> 2) Ease the maintenance
> 3) Include more advance stuff like branches, authentification, etc
>
> What do you think?
>
> Patrick
>
It's also possible to add this to a standard library of charm tools, 
rather than do it in a subordinate.

What advantages do you see in doing it as a subordinate?   Language 
independence is one, I'm sure there are others that I'm not seeing.   
But I also think it makes the relationship between charms and 
subordinates significantly more complicated, since install of one 
service could actually *require* a subordiate, and we don't yet have any 
way of managing requirements, and I personally would like to avoid 
needing to do charm-dependency graph resolution if at all possible.

--Mark Ramm



More information about the Juju mailing list