amulet
amulet copied to clipboard
Add juju-deployer as dependency
Doing so will ensure that amulet will actually work right-out-of-the-box, for example when installed from pip in a fresh container, without having to manually install other deps.
As of https://github.com/juju-solutions/bundletester/pull/42, you can replace this:
tvansteenburgh@xenial-vm:/tmp/meteor⟫ cat tests/00-setup
#!/bin/bash
#sudo add-apt-repository ppa:juju/stable -y
#sudo apt-get update
#sudo apt-get install amulet python-requests -y
With this:
tvansteenburgh@xenial-vm:/tmp/meteor⟫ cat tests/tests.yaml
python_packages:
- requests
- amulet
- juju-deployer
- bzr
virtualenv: true
Instead of just installing amulet, you have to install juju-deployer and bzr (because juju-deployer doesn't install bzr, which we should also fix).
I know deployer will be going away, but I'd prefer to fix this papercut in the meantime anyway.
Is there anyway to say that there are optional_installs in amulet? I fear that including these would make amulet heavier and fail frequently because bzr tends to fail to pip install. We should also evaluate if bzr is even needed anymore
It would appear that this is only used in https://github.com/juju/amulet/blob/master/amulet/charm.py#L184 and it's used to get the metadata for a charm when the charm is branch: lp:...
I wonder if we could refactor this out to use LP api instead. Furthermore, we have a GitCharm but no way to list git as a python_package since it's not one. How should we handle this case?
I actually don't want to add git and bzr as deps of amulet, since they're not required. But juju-deployer is a mandatory runtime dep (currently) - amulet won't work at all w/o it.
I will add bzrlib as a dep of deployer. The fact that it's not already a defined dep is a long-standing bug that no one has bothered to fix.