The development versions of salt-cloud and the libcloud project from the Apache Foundation recently added support for deploying RackConnected instances on the Rackspace Public Cloud. Here's how to get it up and running on Ubuntu 12.04 LTS.
NOTE: These instructions assume that you already have a salt-master server configured and are deploying from it. Since we're also deploying into a virtualenv its safe to do this on your current salt-cloud server as well.
- Ensure all of the depencies are installed:
apt-get install python-pip python-virtualenv python-setuptools swig libssl-dev python-dev libzmq-dev libyaml-dev build-essential libgmp-dev git sshpass python-m2crypto
- Set up your virtualenv for salt-cloud and activate it:
virtualenv --system-site-packages ~/salt-cloud-dev source ~/salt-cloud-dev/bin/activate
- Install any missing salt-cloud dependcies in the virtualenv:
pip install pyzmq PyYAML pycrypto msgpack-python jinja2 psutil salt
- Install Apache Libcloud and salt-cloud from git:
pip install git+https://github.com/apache/libcloud.git@trunk#egg_name=apache-libcloud pip install git+https://github.com/saltstack/salt-cloud.git@develop#egg_name=salt-cloud
Once its installed run
salt-cloud --versions-report and make sure everything looks kosher.
Once salt-cloud is installed you'll need to set up the cloud providers and cloud profiles; samples for Rackspace with RackConnect can be found below. You might also need to create the needed folders if they're not already there.
mkdir /etc/salt/cloud.profiles.d mkdir /etc/salt/cloud.providers.d
rackspace: compute_name: cloudServersOpenStack protocol: ipv4 provider: openstack minion: master: <IP or FQDN of salt-master> compute_region: <DFW, ORD, IAD, LON, or SYD> identity_url: 'https://identity.api.rackspacecloud.com/v2.0/tokens' for DFW, ORD, IAD & SYD; 'https://lon.identity.api.rackspacecloud.com/v2.0/tokens' for LON user: <username> tenant: <cloud account number> apikey: <apikey>
precise-512: provider: rackspace size: 512MB Standard Instance image: Ubuntu 12.04 LTS (Precise Pangolin) rackconnect: True
rackconnect: True portion is what makes salt-cloud wait long enough to allow the RackConnect magic to happen.