A quick guide to built-in Bellatrix provisioning commands
A table of Bellatrix provisioning commands as at 1.1.2
As mentioned in my previous post Bellatrix allows you to start and provision Amazon Web Services EC2 instances.In this context ‘provision’ refers to the process of installing software, creating directories, changing file permissions etc.
The built in commands are documented here in the official doco but before I found that I’d ripped the cmds.py file apart and produced the following table. It’s a little more succinct than the official version so I think it’s worth publishing here.
For obvious reasons this type of thing is prone to Bellatrix changing. This page is valid as of the 1.1.2 version of Bellatrix.
||Return the “sudo apt-get install” command
||Executes apt-get update.
||Applies the chmod command
||Creates a new soft link
||Copy a file using -f so it doesn’t fail if the destination exists
||Creates a Django project
||Generate a new Python virtual environment using virtualenv
||Execute a command within a virtualenv environmen
||Given a list of commands it will return a single one concatenated by ‘&&’ so they will be executed in sequence until any of them fail
||Install pip using apt-get install
||Install Nginx in Ubuntu using the repo they provide as described in http://wiki.nginx.org/Install#Ubuntu_PPA
||Install a Python package into a virtualenv
||Created a new directory. “-p” flag is used so the command generates the same result regardless whether the directory exists or not.
||Install a Python package using pip
||Execute a list of commands using sudo
||Downloads a web resource using wget
Bellatrix – Windows Idiosyncracies
Two things you might find useful if you’re starting to use Bellatrix on Windows.
What’s Bellatrix Again ?
Bellatrix allows you browse and control Amazon EC2 instances using simple commands on your local machine.
For instance :
bellatrix start ami key_name
run on your machine will launch an EC2 instance within Amazon Web Services based on the named ami (Amazon Machine Image) and allow you to contact it using the key_name you have specified.
You’ve been able to do something like this with the Python package Boto for some time but Bellatrix provides a lot of ready to use commands rather than having to write your own scripts.
Bellatrix on Windows Then ?
Location of Home
I’m a bit embarrassed to write this but in the Bellatrix doco which describes what config files you need and where to place them it refers to
I’m familiar with the idea of ‘Home’ on a unix box but in a Windows enviroment ? I wasn’t really sure what it meant (I’ve only been using Windows for 15 years so you can see where the confusion crept in). I managed to persuade myself it was referring to the Bellatrix directory within the Python site-packages directory !
Well here’s the news for the Windows users out there who are as ‘home-challenged’ as I am. It turns out you should putting those config files in a directory located at :
which for me is
Yes but what about the dots ?
Which brings me onto another windows specific thing – how do you produce a directory with a dot as its first character ? I started off trying to do it via File Explorer and discovered something strange. File Explorer won’t let you specify a directory name that starts with a dot … unless you specify the directory name as having a trailing dot as well … if you do that File Explorer quietly throws away the trailing dot and you have the name you wanted in the first place ! Weird … or perhaps “only on Windows”
Anyway the good news is I’ve got it up and running and listing my instances ! Next step is to to use Bellatrix to start an EC2 instance and provision it as a Nagare environment. There’ll be a blog post about that by the time I’ve done, I’m sure !