Install Salt Cloud¶
Salt Cloud has only two dependencies:
salt
apache-libcloud
Of course,
salt
has it’s own set of dependencies and the same applies toapache-libcloud
.
Installing Salt Cloud for development¶
Clone the repository using:
git clone https://github.com/saltstack/salt.git
Create a new virtualenv:
virtualenv /path/to/your/virtualenv
On Arch Linux, where Python 3 is the default installation of Python, use the
virtualenv2
command instead of virtualenv
.
Note
Using system Python modules in the virtualenv
To use already-installed python modules in virtualenv (instead of having pip
download and compile new ones), run virtualenv --system-site-packages
Using this method eliminates the requirement to install the salt
dependencies again, although it does assume that the listed modules are all
installed in the system PYTHONPATH
at the time of virtualenv creation.
Activate the virtualenv:
source /path/to/your/virtualenv/bin/activate
Install Salt (which contains Salt Cloud) (and dependencies) into the virtualenv:
pip install M2Crypto # Don't install on Debian/Ubuntu (see below)
pip install pyzmq PyYAML pycrypto msgpack-python jinja2 psutil
pip install apache-libcloud
pip install -e ./salt # the path to the salt-cloud git clone
Note
Installing M2Crypto
swig
and libssl-dev
are required to build M2Crypto. To fix the
error command 'swig' failed with exit status 1
while installing
M2Crypto, try installing it with the following command:
env SWIG_FEATURES="-cpperraswarn -includeall -D__`uname -m`__ -I/usr/include/openssl" pip install M2Crypto
Debian and Ubuntu systems have modified openssl libraries and mandate that a patched version of M2Crypto be installed. This means that M2Crypto needs to be installed via apt:
apt-get install python-m2crypto
This also means that pulling in the M2Crypto installed using apt requires
using --system-site-packages
when creating the virtualenv.
Or using a pre-patched M2Crypto
pip install http://dl.dropbox.com/u/174789/m2crypto-0.20.1.tar.gz
Using easy_install to Install Salt Cloud¶
If you are installing using easy_install
, you will need to define a
USE_SETUPTOOLS environment variable, otherwise dependencies will not
be installed:
USE_SETUPTOOLS=1 easy_install salt-cloud
Installing Salt Cloud from Git¶
To install salt cloud from git
without any development purposes in mind,
install the required dependencies replacing the last step with:
pip install git+https://github.com/saltstack/salt-cloud.git#egg=salt_cloud