Create an image of a instance from data obtained from within the instance
Create an Image from within an Instance
This application has been created to work with Openstack if using the XenServer Hypervisor. At this time the code base supports Openstack as a whole, however the application has only been tested on Rackspace Cloud Servers.
XenOsImager will create an image from information obtained from within the instance. The application will look at the “xenstore” data to determine the UUID of the instance, and the region. The user is only required to input their OpenStack API Credentials into a simple configuration file. These credentials are only used to make API calls for image creation.
Simply the application will allow you to create images of instances as a simple automation task; CRON job, on demand, or anythine else you can think of.
- Prerequisites :
- Python => 2.6 but < 3.0
Installation is simple :
from Python.org, IE “pip”pip install xenosimager
from Github, which is Trunk.git clone git://github.com/cloudnull/transporter.git cd transporter python setup.py install
Setup is Simple too edit the file “/etc/xenosimager/config.cfg” :
In the previous file, add your credentials. If you feel so inclined, you can also add your mail relay information and the system will send you a message when the images are created or if there are overall issues.
Available Options in the config file or on the CLI :
Required Variables from CLI
- system-config | Where your config file exists
- image-name | the name of the image
- os_user | YOU
- os_apikey | SuperSecretInformation
- os_auth_url | Authentication URL
- os_rax_auth | A-LOCATION
- os_verbose | True or False
- os_password | SuperSecretInformation
- os_tenant | UsernameGenerally
- os_region | WhereIsThisInstance
- os_version | v2.0
- mail-main-contact | WhoReadsEmail
- mail_debug | True or False
- mail_url | AURL
- mail_user | Username
- mail_password | Password
- mail_cert | /location/cert
- mail_key | KeyForCert
- mail_tls | True or False
- mail_port | Port Number
How to use this tool
Application is simple to use. Simply follow this command and add your own custom name to the end.
xenosimager --system-config /etc/xenosimager/config.cfg --image-name $NAME_OF_THE_IMAGE
Logs are created for all interaction of the imager, and can be found here :
For automated image create please have a look at the example.cron.txt file, which is where you can find cron job examples, but with little to no ingenuity I am sure you could figure out other methods for automated command execution.