Installation ^^^^^^^^^^^^ This guide describes how to install snf-image-creator on an Ubuntu 12.04 LTS system. 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. The first uses official packages whereas the second installs snf-image-creator and its dependencies from source. 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: .. code-block:: console $ 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. .. code-block:: console $ sudo apt-get install curl Use the following command to import the GPG key: .. code-block:: console $ 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: .. code-block:: console $ sudo apt-get update then check if snf-image-creator exists with the following command: .. code-block:: console $ 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: .. code-block:: console $ 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: .. code-block:: console $ 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: .. code-block:: console $ 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: .. code-block:: console $ apt-get install python-virtualenv Now, create a new python virtual environment like this: .. code-block:: console $ virtualenv --system-site-packages ~/image-creator-env and activate it by executing: .. code-block:: console $ source ~/image-creator-env/bin/activate You can later deactivate it using the following command: .. code-block:: console $ deactivate snf-common Installation ----------------------- Install snf-common from source, by cloning it's repository: .. code-block:: console $ 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: .. code-block:: console $ python setup.py install kamaki Installation ------------------- Install kamaki from source, by cloning it's repository: .. code-block:: console $ 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: .. code-block:: console $ ./setup.py install snf-image-creator Installation ------------------------------ Install snf-image-creator the same way: .. code-block:: console $ 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: .. code-block:: console $ ./setup.py install