Hi all,

I'm trying to deploy a Juju bundle and set of charms hosted on Github rather 
than Launchpad, but I'm running into some problems. Although juju-deployer does 
appear to support this, I haven't found many examples, so I'm not certain I'm 
doing the right thing - if anyone has this working, and could point me at their 
Github repository, that'd be great.

I'm using juju-deployer version 0.4.3-0ubuntu1~ubuntu12.04.1~ppa1, juju-core 
version 1.22.0-0ubuntu1~12.04.2~juju1 and Git version 2.3.3. The bundle I'm 
using is at 
https://raw.githubusercontent.com/Metaswitch/clearwater-juju/github_everywhere/charms/bundles/clearwater/bundle/bundles.yaml.
 The Github repository/branch is 
https://github.com/Metaswitch/clearwater-juju/, which contains several charms 
and the bundle.

What I want is: 
- to check out the dnsaas branch of 
https://github.com/Metaswitch/clearwater-juju.git
- to deploy the charm in the subdirectory 'charms/precise/clearwater-bono'

so I have the following in my bundle:

>   services:
>     "clearwater-bono":
>       charm: "charms/precise/clearwater-bono"
>       branch: "https://github.com/Metaswitch/clearwater-juju@dnsaas";

When I run juju-deployer, it fails with "No such file or directory" when trying 
to deploy the charm at 
https://github.com/Metaswitch/clearwater-juju/tree/dnsaas/charms/precise/clearwater-bono
 (though there's nothing special about this charm, it's just the first one in 
the bundle):

> $ juju-deployer -c 
> https://raw.githubusercontent.com/Metaswitch/clearwater-juju/github_everywhere/charms/bundles/clearwater/bundle/bundles.yaml
> 2015-04-13 13:50:20 Using deployment clearwater
> 2015-04-13 13:50:20 Starting deployment of clearwater
> Traceback (most recent call last):
>   File "/usr/bin/juju-deployer", line 9, in <module>
>     load_entry_point('juju-deployer==0.4.3', 'console_scripts', 
> 'juju-deployer')()
>   File "/usr/local/lib/python2.7/dist-packages/deployer/cli.py", line 130, in 
> main
>     run()
>   File "/usr/local/lib/python2.7/dist-packages/deployer/cli.py", line 228, in 
> run
>     importer.Importer(env, deployment, options).run()
>   File "/usr/local/lib/python2.7/dist-packages/deployer/action/importer.py", 
> line 188, in run
>     self.get_charms()
>   File "/usr/local/lib/python2.7/dist-packages/deployer/action/importer.py", 
> line 63, in get_charms
>     no_local_mods=self.options.no_local_mods)
>   File "/usr/local/lib/python2.7/dist-packages/deployer/deployment.py", line 
> 139, in fetch_charms
>     os.mkdir(charm.series_path)
> OSError: [Errno 2] No such file or directory: 'precise/charms/precise'

If I create that directory (with mkdir -p precise/charms/precise) I get a 
different error:

> $ juju-deployer -c 
> https://raw.githubusercontent.com/Metaswitch/clearwater-juju/github_everywhere/charms/bundles/clearwater/bundle/bundles.yaml
> 2015-04-13 13:50:58 Using deployment clearwater
> 2015-04-13 13:50:58 Starting deployment of clearwater
> Traceback (most recent call last):
>   File "/usr/bin/juju-deployer", line 9, in <module>
>     load_entry_point('juju-deployer==0.4.3', 'console_scripts', 
> 'juju-deployer')()
>   File "/usr/local/lib/python2.7/dist-packages/deployer/cli.py", line 130, in 
> main
>     run()
>   File "/usr/local/lib/python2.7/dist-packages/deployer/cli.py", line 228, in 
> run
>     importer.Importer(env, deployment, options).run()
>   File "/usr/local/lib/python2.7/dist-packages/deployer/action/importer.py", 
> line 188, in run
>     self.get_charms()
>   File "/usr/local/lib/python2.7/dist-packages/deployer/action/importer.py", 
> line 63, in get_charms
>     no_local_mods=self.options.no_local_mods)
>   File "/usr/local/lib/python2.7/dist-packages/deployer/deployment.py", line 
> 140, in fetch_charms
>     charm.fetch()
>   File "/usr/local/lib/python2.7/dist-packages/deployer/charm.py", line 132, 
> in fetch
>     self.vcs.update(self.rev)
>   File "/usr/local/lib/python2.7/dist-packages/deployer/vcs.py", line 99, in 
> update
>     self._call(params, self.err_update)
>   File "/usr/local/lib/python2.7/dist-packages/deployer/vcs.py", line 30, in 
> _call
>     args, cwd=cwd or self.path, stderr=stderr)
>   File "/usr/lib/python2.7/subprocess.py", line 537, in check_output
>     process = Popen(stdout=PIPE, *popenargs, **kwargs)
>   File "/usr/lib/python2.7/subprocess.py", line 679, in __init__
>     errread, errwrite)
>   File "/usr/lib/python2.7/subprocess.py", line 1249, in _execute_child
>     raise child_exception
> OSError: [Errno 2] No such file or directory: 
> 'precise/charms/precise/clearwater-bono'

It looks like something odd has happened with the paths - juju-deployer is 
looking in 'precise/charms/precise/clearwater-bono' but my charm actually seems 
to have been checked out to 
'precise/charms/precise/precise/charms/precise/clearwater-bono/charms/precise/clearwater-bono/'.

> $ ls 
> precise/charms/precise/precise/charms/precise/clearwater-bono/charms/precise/clearwater-bono/
> config.yaml  copyright  hooks  icon.svg  lib  metadata.yaml  README.md  
> revision

I get the same error with juju-quickstart - a notification in the juju-gui 
tells me:

> Updated status for deployment id: 0
> 
> An error occurred while deploying the bundle: [Errno 2] No such file or 
> directory: 'precise/charms/precise'
> less than a minute ago

I tried creating a new charm repository holding only a single charm (as opposed 
to my current model, where six or seven closely related charms are all in the 
same repository), but hit similar errors - I didn't pursue this any further, 
because it's much easier for me to keep all these charms in the same repository.

Thanks,
Rob

-- 
Juju mailing list
[email protected]
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/juju

Reply via email to