Install snf-image-creator using packages
========================================
+Debian
+------
+
+For *Debian 7.0 (wheezy)* you can use our official packages found in our
+development repository.
+
+Add the following line to */etc/apt/sources.list*:
+
+.. code-block:: console
+
+ deb http://apt.dev.grnet.gr wheezy/
+
+And resynchronize the package index files from their sources:
+
+.. code-block:: console
+
+ $ sudo apt-get update
+
+You should be able to list the package by calling:
+
+.. code-block:: console
+
+ $ apt-cache showpkg snf-image-creator
+
+And install the package with this command:
+
+.. code-block:: console
+
+ $ apt-get install snf-image-creator
+
Ubuntu
------
-For *Ubuntu 12.04 LTS* and *12.10* systems, you can use our official packages
-found in *grnet/synnefo* Lauchpad PPA.
+For *Ubuntu 12.04 LTS*, *12.10* and *13.04* systems, you can use our official
+packages found in *grnet/synnefo* Lauchpad PPA.
Add the synnefo PPA in your system:
If *apt-add-repository* is missing, first install:
-*software-properties-common* (Ubuntu 12.10):
+*software-properties-common* (Ubuntu 12.10 & 13.04):
.. code-block:: console
If you are asked during the installation to create/update a
"supermin appliance", choose "Yes".
-.. warning::
- In *Ubuntu 12.10* the current package of libguestfs (1.18-2) is broken. Take
- a look at the open `bug report <https://bugs.launchpad.net/ubuntu/quantal/+source/libguestfs/+bug/1086974>`_.
- Until version 1.18-2ubunut1 is out, you may workaround this problem by
- creating a symlink like this:
-
- *sudo ln -s /usr/lib/guestfs /usr/lib/x86_64-linux-gnu/guestfs*
-
Fedora
------
------
For *CentOS 6* you can use our official packages hosted at the *synnefo*
-repository of the openSUSE Build Service.
+repository of the OpenSUSE Build Service.
Add the *synnefo* repository for *CentOS 6* to the yum repositories list:
Check the `Fedora <#fedora>`_ instructions on how to install the software.
+OpenSUSE
+--------
+
+For *OpenSUSE 12.3* you can use our official packages hosted at the *synnefo*
+repository of the OpenSUSE Build Service.
+
+Add the *Virtualization* repository for *OpenSUSE 12.3* to *YaST* with the
+*Zypper* package manager:
+
+.. code-block:: console
+
+ $ zypper ar -f http://download.opensuse.org/repositories/Virtualization/openSUSE_12.3/Virtualization.repo
+
+Add the *synnefo* repository:
+
+.. code-block:: console
+
+ $ zypper ar -f http://download.opensuse.org/repositories/home:/GRNET:/synnefo/openSUSE_12.3/home:GRNET:synnefo.repo
+
+To list the *snf-image-creator* package use the following command:
+
+.. code-block:: console
+
+ $ zypper se snf-image-creator
+
+Install the package by issuing:
+
+.. code-block:: console
+
+ $ zypper in snf-image-creator
+
+
Arch Linux
----------
Image Format
============
-The extracted images are in diskdump format. This is the recommended format for
+The extracted images are in diskdump format, which is a raw dump of a disk
+device (or file). This is the recommended format for
`snf-image <https://code.grnet.gr/projects/snf-image>`_, the Ganeti OS
Definition used by `Synnefo <https://code.grnet.gr/projects/synnefo>`_.
session['upload'] = filename
break
- gauge = GaugeOutput(d, "Image Upload", "Uploading...")
+ gauge = GaugeOutput(d, "Image Upload", "Uploading ...")
try:
out = image.out
out.add(gauge)
"Calculating block hashes",
"Uploading missing blocks")
# Upload md5sum file
- out.output("Uploading md5sum file...")
+ out.output("Uploading md5sum file ...")
md5str = "%s %s\n" % (session['checksum'], filename)
kamaki.upload(StringIO.StringIO(md5str), size=len(md5str),
remote_path="%s.md5sum" % filename)
metadata[key] = 'yes'
img_type = "public" if is_public else "private"
- gauge = GaugeOutput(d, "Image Registration", "Registering image...")
+ gauge = GaugeOutput(d, "Image Registration", "Registering image ...")
try:
out = session['image'].out
out.add(gauge)
try:
try:
- out.output("Registering %s image with the cloud..." % img_type)
+ out.output("Registering %s image with the cloud ..." %
+ img_type)
kamaki = Kamaki(session['account'], out)
result = kamaki.register(name, session['pithos_uri'], metadata,
is_public)
out.success('done')
# Upload metadata file
- out.output("Uploading metadata file...")
+ out.output("Uploading metadata file ...")
metastring = unicode(json.dumps(result, ensure_ascii=False))
kamaki.upload(StringIO.StringIO(metastring),
size=len(metastring),
remote_path="%s.meta" % session['upload'])
out.success("done")
if is_public:
- out.output("Sharing metadata and md5sum files...")
+ out.output("Sharing metadata and md5sum files ...")
kamaki.share("%s.meta" % session['upload'])
kamaki.share("%s.md5sum" % session['upload'])
out.success('done')
wrapper = textwrap.TextWrapper(width=WIDTH - 5)
- help_title = "System Preperation Tasks"
- sysprep_help = "%s\n%s\n\n" % (help_title, '=' * len(help_title))
-
syspreps = image.os.list_syspreps()
if len(syspreps) == 0:
while 1:
choices = []
index = 0
+
+ help_title = "System Preperation Tasks"
+ sysprep_help = "%s\n%s\n\n" % (help_title, '=' * len(help_title))
+
for sysprep in syspreps:
name, descr = image.os.sysprep_info(sysprep)
display_name = name.replace('-', ' ').capitalize()
break
elif choice == "Reset":
if confirm_reset(d):
- d.infobox("Resetting snf-image-creator. Please wait...",
+ d.infobox("Resetting snf-image-creator. Please wait ...",
width=SMALL_WIDTH)
raise Reset
elif choice == "Help":
-
__version__ = "0.4.3"
__version_vcs_info__ = {
'branch': 'master',
'revid': '9f0e45e',
'revno': 319}
+>>>>>>> master
__version_user_email__ = "skalkoto@grnet.gr"
__version_user_name__ = "Nikos Skalkotos"