Problems with colocated layered and non-layered Charms
Marco Ceppi
marco.ceppi at canonical.com
Thu Jan 28 12:33:32 UTC 2016
Is this a result of deploy --to <machine#>? If so, I expect there to be
errors, "hulk smashing" services onto a single machine really isn't
expected to work, it just "works" for a few combination of charms. Is there
a reason you can't deploy to LXC or KVM containers? The isolation of a LXC
containers on a single machine is what this was built for.
If you /do/ have to hulk smash, there was talk of adding a virtualenv flag
to the charm layer, by which it will install its deps not systemwide but
instead in a virtual environment that all the hooks would run with.
Marco
On Thu, Jan 28, 2016 at 4:54 AM Merlijn Sebrechts <
merlijn.sebrechts at gmail.com> wrote:
> Hi
>
>
> Layered Charms use Python 3 and install pip3 as default pip. This causes
> great problems for colocated non-layered Charms who expect that default pip
> is pip2.
>
> An example is the combination of juju-gui with any layered Charm. You get
> the following error:
>
> unit-juju-gui-0[8052]: 2016-01-28 09:35:53 INFO unit.juju-gui/0.install
> logger.go:40 Traceback (most recent call last):
> unit-juju-gui-0[8052]: 2016-01-28 09:35:53 INFO unit.juju-gui/0.install
> logger.go:40 File
> "/var/lib/juju/agents/unit-juju-gui-0/charm/hooks/install", line 92, in
> <module>
> unit-juju-gui-0[8052]: 2016-01-28 09:35:53 INFO unit.juju-gui/0.install
> logger.go:40 main()
> unit-juju-gui-0[8052]: 2016-01-28 09:35:53 INFO unit.juju-gui/0.install
> logger.go:40 File
> "/var/lib/juju/agents/unit-juju-gui-0/charm/hooks/install", line 85, in main
> unit-juju-gui-0[8052]: 2016-01-28 09:35:53 INFO unit.juju-gui/0.install
> logger.go:40 backend.install()
> unit-juju-gui-0[8052]: 2016-01-28 09:35:53 INFO unit.juju-gui/0.install
> logger.go:40 File
> "/var/lib/juju/agents/unit-juju-gui-0/charm/hooks/backend.py", line 181, in
> install
> unit-juju-gui-0[8052]: 2016-01-28 09:35:53 INFO unit.juju-gui/0.install
> logger.go:40 call_methods(self.mixins, 'install', self)
> unit-juju-gui-0[8052]: 2016-01-28 09:35:53 INFO unit.juju-gui/0.install
> logger.go:40 File
> "/var/lib/juju/agents/unit-juju-gui-0/charm/hooks/backend.py", line 134, in
> call_methods
> unit-juju-gui-0[8052]: 2016-01-28 09:35:53 INFO unit.juju-gui/0.install
> logger.go:40 method(*args)
> unit-juju-gui-0[8052]: 2016-01-28 09:35:53 INFO unit.juju-gui/0.install
> logger.go:40 File
> "/var/lib/juju/agents/unit-juju-gui-0/charm/hooks/backend.py", line 101, in
> install
> unit-juju-gui-0[8052]: 2016-01-28 09:35:53 INFO unit.juju-gui/0.install
> logger.go:40 utils.install_builtin_server()
> unit-juju-gui-0[8052]: 2016-01-28 09:35:53 INFO unit.juju-gui/0.install
> logger.go:40 File
> "/var/lib/juju/agents/unit-juju-gui-0/charm/hooks/utils.py", line 297, in
> install_builtin_server
> unit-juju-gui-0[8052]: 2016-01-28 09:35:53 INFO unit.juju-gui/0.install
> logger.go:40 '-r', requirements
> unit-juju-gui-0[8052]: 2016-01-28 09:35:53 INFO unit.juju-gui/0.install
> logger.go:40 File
> "/var/lib/juju/agents/unit-juju-gui-0/charm/hooks/shelltoolbox.py", line
> 458, in run
> unit-juju-gui-0[8052]: 2016-01-28 09:35:53 INFO unit.juju-gui/0.install
> logger.go:40 raise exception
> unit-juju-gui-0[8052]: 2016-01-28 09:35:53 INFO unit.juju-gui/0.install
> logger.go:40 subprocess.CalledProcessError: Command '['pip', 'install',
> '--no-index', '--no-dependencies', '--find-links',
> 'file:////var/lib/juju/agents/unit-juju-gui-0/charm/deps', '-r',
> '/var/lib/juju/agents/unit-juju-gui-0/charm/server-requirements.pip']'
> returned non-zero exit status 1
> unit-juju-gui-0[8052]: 2016-01-28 09:35:53 ERROR
> juju.worker.uniter.operation runhook.go:107 hook "install" failed: exit
> status 1
>
>
>
> Running it manually:
>
> pip install --no-index --no-dependencies --find-links
> file:////var/lib/juju/agents/unit-juju-gui-0/charm/deps -r
> /var/lib/juju/agents/unit-juju-gui-0/charm/server-requirements.pip
> Ignoring indexes: https://pypi.python.org/simple
> Collecting argparse==1.2.1 (from -r
> /var/lib/juju/agents/unit-juju-gui-0/charm/server-requirements.pip (line 1))
> Could not find a version that satisfies the requirement argparse==1.2.1
> (from -r /var/lib/juju/agents/unit-juju-gui-0/charm/server-requirements.pip
> (line 1)) (from versions: )
> No matching distribution found for argparse==1.2.1 (from -r
> /var/lib/juju/agents/unit-juju-gui-0/charm/server-requirements.pip (line 1))
>
> `pip2 install ....` works..
>
>
>
> Kind regards
> Merlijn Sebrechts
> --
> Juju mailing list
> Juju at lists.ubuntu.com
> Modify settings or unsubscribe at:
> https://lists.ubuntu.com/mailman/listinfo/juju
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ubuntu.com/archives/juju/attachments/20160128/191f940b/attachment.html>
More information about the Juju
mailing list