A simple way to launch a virtual machine in the cloud with AWS and run simulations
Project description
Xbow has been built to mirror the elasticity of cloud computing. It provides an easy interface to the cloud but remains incredibly flexible allowing you to run your science how you like it.
Using Xbow
Xbow currently makes use of Amazon Web Services (AWS). If you have never run AWS from the command line an additional configuration step is necessary. If this is already setup you can ignore this step!
When communicating with cloud resources a user must use access keys. The Access Key and the Secret Access Key are not your standard user name and password, but are special tokens that allow our services to communicate with your AWS account by making secure REST or Query protocol requests to the AWS service API.
To find your Access Key and Secret Access Key:
Log in to your AWS Management Console.
Click on your user name at the top right of the page.
Click on the Security Credentials link from the drop-down menu.
Find the Access Credentials section, and copy the latest Access Key ID.
Click on the Show link in the same row, and copy the Secret Access Key.
Then in your terminal:
Make the directory: mkdir /home/$USER/.aws/
Create a file: touch /home/$USER/.aws/credentials
Add access and secret access keys to: /home/$USER/.aws/credentials
[default] aws_access_key_id = YOUR_ACCESS_KEY aws_secret_access_key = YOUR_SECRET_ACCESS_KEY
Change file permissions of this file for security: chmod 400 /home/$USER/.aws/credentials
Make sure there is no blank space at the end of each line.
IMPORTANT: NEVER MAKE THIS VISIBLE OR SHARE THIS INFORMATION!!!
Installing and Configuriing Xbow
Update: pip install or conda package?
Prerequisites
Xbow is being developed to work out of the box. For now, the following are currently necessary to be installed before using Xbow.
paramiko pip install paramiko --user
Currently if using a Linux distro (Ubuntu/centOS) is is necessary to pip install python-gssapi --user
boto pip install boto --user
Getting Xbow
git clone https://github.com/ChrisSuess/Project-Xbow
Running Xbow
Xbow is designed to give you the tools to work how you want to.
The recommended steps to using Xbow are as follows:
Load an instance python xbow.py -n $NAME_OF_JOB
Check if instance is ready (instances can take several minutes to boot!) python xbow.py -n $NAME_OF_JOB -r
Transfer (aim) data from client to cloud python xbow.py -n $NAME_OF_JOB -a
Fire job using a bash script python xbow.py -n $NAME_OF_JOB -s $SCRIPT_NAME
Collect data from cloud to client python xbow.py -n $NAME_OF_JOB -c
Terminate instance python xbow.py -n $NAME_OF_JOB -t
A. To interact directly with the cloud instance python xbow.py -n $NAME_OF_JOB -i
Example
cd Xbow/Example
python ../xbow.py -n TestSim
python ../xbow.py -n TestSim -r
python ../xbow.py -n TestSim -a
python ../xbow.py -n TestSim -s launch_instructions.sh
python ../xbow.py -n TestSim -c
python ../xbow.py -n TestSim -t
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.