-
Alex Pyrgiotis authored8a40ba3c
Installation
This guide describes how to install snf-image-creator on your machine. It is highly recommended to have virtualization capable hardware. snf-image-creator will work on processors that do not support virtualization but it will be extremely slow.
Dependencies
snf-image-creator depends on the following programs:
- Python 2 [http://www.python.org/]
- Python setuptools [http://pypi.python.org/pypi/setuptools]
- Python Dialog [http://pythondialog.sourceforge.net/]
- Python bindings for libguestfs [http://libguestfs.org/]
- Kamaki [https://code.grnet.gr/projects/kamaki]
- Python sh (previously pbs) [https://github.com/amoffat/sh]
- ANSI colors for Python [http://pypi.python.org/pypi/ansicolors]
- progress [http://pypi.python.org/pypi/progress]
- Python interface to sendfile [http://pypi.python.org/pypi/pysendfile]
The above dependencies are resolved differently, depending on the installation method you choose. There are two installation methods available:
- Install snf-image-creator using official packages (currently only for Ubuntu 12.04, more OSes will be supported soon)
- Install snf-image-creator from source (provided you meet the above dependencies)
Both methods are presented below.
Install snf-image-creator using official packages
This method of installing snf-image-creator has all the advantages of Ubuntu's APT installation:
- Automatic resolution of dependencies
- Simple installation of consequent updates
In order to proceed with the installation, you must first add GRNET's dev repo to your sources. You can use the following commands:
$ cd /etc/apt/sources.list.d
$ echo "deb http://apt.dev.grnet.gr precise main" | \
sudo tee -a apt.dev.grnet.gr.list
$ echo "deb-src http://apt.dev.grnet.gr precise main" | \
sudo tee -a apt.dev.grnet.gr.list
You will also need to import the repo's GPG key. You can use the curl
tool
for this.
$ sudo apt-get install curl
Use the following command to import the GPG key:
$ sudo curl https://dev.grnet.gr/files/apt-grnetdev.pub | sudo apt-key add -
You can verify that the repo has been added successfully if snf-image-creator exists as a package. First do an update of your sources:
$ sudo apt-get update
then check if snf-image-creator exists with the following command:
$ apt-cache showpkg snf-image-creator
If GRNET's dev repo has been added successfully, you can install snf-image-creator, along with its dependencies, with the following command:
$ sudo apt-get install snf-image-creator
The installation might take a while. Please note that at some point during the installation you will be prompted to create/update a "supermin appliance". This is a setting regarding libguestfs and you can safely choose "Yes".
Install snf-image-creator from source
This method provides you with the cutting edge of snf-image-creator, which gives you access to all the latest features. Keep in mind, however, that you may experience instability issues.
The first four dependencies (python2, setuptools, Python-Dialog, and libguestfs) need to be installed manually by the user. In an Ubuntu 12.04 LTS system this can be achieved by installing packages provided by the distribution, using the following command:
$ apt-get install python-setuptools python-guestfs python-dialog
The rest of the dependencies will be automatically resolved by setuptools. Note that at some point during the installation, you will be prompted to create/update a "supermin appliance". This is a setting regarding libguestfs and you can safely choose "Yes".
In order to download the source files, git needs to be installed. You can do so with the following command:
$ apt-get install git
Python Virtual Environment
Since snf-image-creator and the rest of its dependencies won't be installed using packages, it's better to work in an isolated python virtual environment (virtualenv). Installing the Virtual Python Environment builder in Ubuntu can be accomplished using the following command:
$ apt-get install python-virtualenv
Now, create a new python virtual environment like this:
$ virtualenv --system-site-packages ~/image-creator-env
and activate it by executing:
$ source ~/image-creator-env/bin/activate
You can later deactivate it using the following command:
$ deactivate
snf-common Installation
Install snf-common from source, by cloning it's repository:
$ cd ~
$ git clone https://code.grnet.gr/git/synnefo
$ cd synnefo/snf-common
$ python setup.py build
Then, make sure you are within the activated virtual environment before you execute:
$ python setup.py install
kamaki Installation
Install kamaki from source, by cloning it's repository:
$ cd ~
$ git clone https://code.grnet.gr/git/kamaki
$ cd kamaki
$ ./setup.py build
As above, make sure you are within the activated virtual environment before you execute:
$ ./setup.py install
snf-image-creator Installation
Install snf-image-creator the same way:
$ cd ~
$ git clone https://code.grnet.gr/git/snf-image-creator
$ git checkout stable-0.1
$ cd snf-image-creator
$ ./setup.py build
And from within the virtual environment execute:
$ ./setup.py install