Revision 73ebcd68

b/docs/admin-guide.rst
1086 1086

  
1087 1087
   $ kamaki config list
1088 1088

  
1089
To chage a setting use ``kamaki config set``:
1089
To change a setting use ``kamaki config set``:
1090 1090

  
1091 1091
.. code-block:: console
1092 1092

  
1093
   $ kamaki config set image.url https://cyclades.example.com/plankton
1093
   $ kamaki config set image.url https://cyclades.example.com/image
1094 1094
   $ kamaki config set file.url https://pithos.example.com/v1
1095 1095
   $ kamaki config set user.url https://accounts.example.com
1096 1096
   $ kamaki config set token ...
b/docs/dev-guide.rst
11 11
have been written for advanced operations wherever needed, and minor changes
12 12
for things that were missing or change frequently.
13 13

  
14
All Synnefo services have the analogous OpenStack API:
14
Most Synnefo services have a corresponding OpenStack API:
15 15

  
16 16
| Cyclades/Compute Service -> OpenStack Compute API
17 17
| Cyclades/Network Service -> OpenStack Compute/Network API (not Quantum yet)
18
| Cyclades/Image Service -> OpenStack Compute/Image API
19
| Cyclades/Plankton/Image Service -> OpenStack Glance API
18
| Cyclades/Image Service -> OpenStack Glance API
20 19
| Pithos/Storage Service -> OpenStack Object Store API
21 20
| Astakos/Identity Service -> Proprietary, moving to OpenStack Keystone API
21
| Astakos/Quota Service -> Proprietary API
22
| Astakos/Resource Service -> Proprietary API
22 23

  
23 24
Below, we will describe all Synnefo APIs with conjuction to the OpenStack APIs.
24 25

  
......
37 38
    Identity API <astakos-api-guide>
38 39

  
39 40

  
40
Resource and Quota API (Astakos)
41
================================
41
Resource and Quota Service API (Astakos)
42
========================================
42 43

  
43 44
.. toctree::
44 45
    :maxdepth: 2
......
71 72
details.
72 73

  
73 74

  
74
Images Service API (Cyclades/Plankton)
75
======================================
75
Image Service API (Cyclades)
76
============================
76 77

  
77
Plankton is the Image Service of Synnefo, currently implemented inside
78
Cyclades. Plankton exposes the OpenStack Glance API with minor changes wherever
79
needed.
78
The Image Service is implemented inside Cyclades. It exposes the OpenStack
79
Glance API with minor changes wherever needed.
80 80

  
81
This is the Cyclades/Plankton Image API:
81
This is the Cyclades/Image API:
82 82

  
83 83
.. toctree::
84 84
   :maxdepth: 2
b/docs/index.rst
20 20
   Object Storage Service (codename: pithos) <pithos>
21 21
   Compute Service (codename: cyclades) <cyclades>
22 22
   Network Service (part of Cyclades) <networks>
23
   Image Service (codename: plankton) <plankton>
23
   Image Service (part of Cyclades) <plankton>
24 24
   Volume Storage Service (codename: archipelago) <archipelago>
25 25

  
26 26
.. image:: images/synnefo-overview.png
b/docs/plankton.rst
1 1
.. _plankton:
2 2

  
3
Image Registry Service (plankton)
4
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3
Image Registry Service
4
^^^^^^^^^^^^^^^^^^^^^^
5 5

  
6 6
Introduction
7 7
============
8 8

  
9
Plankton is the synnefo Image Registry Service. It is implemented as a very thin
10
layer on top of Pithos+; every Image on Plankton is a file on a Pithos+ backend,
11
with special metadata. At the frontend, Plankton implements the OpenStack
12
Glance API; at the backend it queries an existing Pithos+ backend. In the
13
current implementation the service runs Plankton and Pithos+ on a single,
14
unified backend: users may synchronize their Images, using the Pithos+ clients,
15
then register them with Plankton, with zero data movement. Then spawn new VMs
16
from those images with Cyclades.
9
The Image Registry Service is a part of Cyclades. It is implemented as a very
10
thin layer on top of Pithos; every Image on the Image Service is a file on
11
Pithos, with special metadata which are stored on Cyclades. At the frontend,
12
Cyclades implement the OpenStack Glance API; at the backend it queries an
13
existing Pithos backend. In the current implementation the service runs the
14
Image Service and Pithos on a single, unified backend: users may synchronize
15
their Images, using the Pithos clients, then register them with Cyclades, with
16
zero data movement. Then spawn new VMs from those Images with Cyclades.
17 17

  
18 18
Let's see below:
19 19

  
20

  
21 20
.. image:: images/synnefo-clonepath.png
22 21

  
23 22
The figure shows a sailor bundling his physical machine with the
24
``snf-image-creator`` tool, uploading the file to pithos+, registering the file
25
as a new image with plankton and then spawning two new VMs with Cyclades from
26
this image.
27

  
28
The :ref:`Plankton API <plankton-api-guide>` is implemented inside Cyclades, so please consult the
29
:ref:`Cyclades Documentation <cyclades>` for more details.
23
``snf-image-creator`` tool, uploading the file to Pithos, registering the file
24
as a new Image, and then spawning two new VMs with Cyclades from this Image.
30 25

  
26
The :ref:`Image API <plankton-api-guide>` is implemented inside Cyclades, so
27
please consult the :ref:`Cyclades Documentation <cyclades>` for more details.
b/docs/quick-install-admin-guide.rst
13 13
    * Identity Management (Astakos)
14 14
    * Object Storage Service (Pithos+)
15 15
    * Compute Service (Cyclades)
16
    * Image Registry Service (Plankton)
16
    * Image Service (part of Cyclades)
17
    * Network Service (part of Cyclades)
17 18

  
18 19
and a single unified Web UI to manage them all.
19 20

  
......
27 28
Installation of Synnefo / Introduction
28 29
======================================
29 30

  
30
We will install the services with the above list's order. Cyclades and Plankton
31
will be installed in a single step (at the end), because at the moment they are
32
contained in the same software component. Furthermore, we will install all
33
services in the first physical node, except Pithos+ which will be installed in
34
the second, due to a conflict between the snf-pithos-app and snf-cyclades-app
35
component (scheduled to be fixed in the next version).
31
We will install the services with the above list's order. The last three
32
services will be installed in a single step (at the end), because at the moment
33
they are contained in the same software component (Cyclades). Furthermore, we
34
will install all services in the first physical node, except Pithos+ which will
35
be installed in the second, due to a conflict between the snf-pithos-app and
36
snf-cyclades-app component (scheduled to be fixed in the next version).
36 37

  
37 38
For the rest of the documentation we will refer to the first physical node as
38 39
"node1" and the second as "node2". We will also assume that their domain names
......
53 54
=====================
54 55

  
55 56
These are the general synnefo prerequisites, that you need on node1 and node2
56
and are related to all the services (Astakos, Pithos+, Cyclades, Plankton).
57
and are related to all the services (Astakos, Pithos+, Cyclades).
57 58

  
58 59
To be able to download all synnefo components you need to add the following
59 60
lines in your ``/etc/apt/sources.list`` file:
......
1035 1036
please continue with the rest of the guide.
1036 1037

  
1037 1038

  
1038
Cyclades (and Plankton) Prerequisites
1039
=====================================
1039
Cyclades Prerequisites
1040
======================
1040 1041

  
1041
Before proceeding with the Cyclades (and Plankton) installation, make sure you
1042
have successfully set up Astakos and Pithos+ first, because Cyclades depends
1043
on them. If you don't have a working Astakos and Pithos+ installation yet,
1044
please return to the :ref:`top <quick-install-admin-guide>` of this guide.
1042
Before proceeding with the Cyclades installation, make sure you have
1043
successfully set up Astakos and Pithos+ first, because Cyclades depends on
1044
them. If you don't have a working Astakos and Pithos+ installation yet, please
1045
return to the :ref:`top <quick-install-admin-guide>` of this guide.
1045 1046

  
1046 1047
Besides Astakos and Pithos+, you will also need a number of additional working
1047 1048
prerequisites, before you start the Cyclades installation.
......
1636 1637
More about Ganeti's RAPI users `here.
1637 1638
<http://docs.ganeti.org/ganeti/2.5/html/rapi.html#introduction>`_
1638 1639

  
1639
You have now finished with all needed Prerequisites for Cyclades (and
1640
Plankton). Let's move on to the actual Cyclades installation.
1640
You have now finished with all needed Prerequisites for Cyclades. Let's move on
1641
to the actual Cyclades installation.
1641 1642

  
1642 1643

  
1643
Installation of Cyclades (and Plankton) on node1
1644
================================================
1644
Installation of Cyclades on node1
1645
=================================
1645 1646

  
1646 1647
This section describes the installation of Cyclades. Cyclades is Synnefo's
1647
Compute service. Plankton (the Image Registry service) will get installed
1648
automatically along with Cyclades, because it is contained in the same Synnefo
1649
component right now.
1648
Compute service. The Image Service will get installed automatically along with
1649
Cyclades, because it is contained in the same Synnefo component.
1650 1650

  
1651
We will install Cyclades (and Plankton) on node1. To do so, we install the
1652
corresponding package by running on node1:
1651
We will install Cyclades on node1. To do so, we install the corresponding
1652
package by running on node1:
1653 1653

  
1654 1654
.. code-block:: console
1655 1655

  
1656 1656
   # apt-get install snf-cyclades-app memcached python-memcache
1657 1657

  
1658
If all packages install successfully, then Cyclades and Plankton are installed
1659
and we proceed with their configuration.
1658
If all packages install successfully, then Cyclades are installed and we
1659
proceed with their configuration.
1660 1660

  
1661 1661
Since version 0.13, Synnefo uses the VMAPI in order to prevent sensitive data
1662 1662
needed by 'snf-image' to be stored in Ganeti configuration (e.g. VM password).
......
1665 1665
request. Synnefo uses `memcached <http://memcached.org/>`_ as a
1666 1666
`Django <https://www.djangoproject.com/>`_ cache backend.
1667 1667

  
1668
Configuration of Cyclades (and Plankton)
1669
========================================
1668
Configuration of Cyclades
1669
=========================
1670 1670

  
1671 1671
Conf files
1672 1672
----------
......
1733 1733
   BACKEND_DB_CONNECTION = 'postgresql://synnefo:example_passw0rd@node1.example.com:5432/snf_pithos'
1734 1734
   BACKEND_BLOCK_PATH = '/srv/pithos/data/'
1735 1735

  
1736
In this file we configure the Plankton Service. ``BACKEND_DB_CONNECTION``
1736
In this file we configure the Image Service. ``BACKEND_DB_CONNECTION``
1737 1737
denotes the Pithos+ database (where the Image files are stored). So we set that
1738 1738
to point to our Pithos+ database. ``BACKEND_BLOCK_PATH`` denotes the actual
1739 1739
Pithos+ data location.
......
1774 1774

  
1775 1775
   CHUID="nobody:www-data"
1776 1776

  
1777
We have now finished with the basic Cyclades and Plankton configuration.
1777
We have now finished with the basic Cyclades configuration.
1778 1778

  
1779 1779
Database Initialization
1780 1780
-----------------------
......
1989 1989
   node1 # snf-manage reconcile-resources-cyclades --fix
1990 1990

  
1991 1991
If all the above return successfully, then you have finished with the Cyclades
1992
and Plankton installation and setup.
1992
installation and setup.
1993 1993

  
1994 1994
Let's test our installation now.
1995 1995

  
1996 1996

  
1997
Testing of Cyclades (and Plankton)
1998
==================================
1997
Testing of Cyclades
1998
===================
1999 1999

  
2000 2000
Cyclades Web UI
2001 2001
---------------
......
2019 2019
Cyclades Images
2020 2020
---------------
2021 2021

  
2022
To test our Cyclades (and Plankton) installation, we will use an Image stored on
2023
Pithos+ to spawn a new VM from the Cyclades interface. We will describe all
2024
steps, even though you may already have uploaded an Image on Pithos+ from a
2025
:ref:`previous <snf-image-images>` section:
2022
To test our Cyclades installation, we will use an Image stored on Pithos+ to
2023
spawn a new VM from the Cyclades interface. We will describe all steps, even
2024
though you may already have uploaded an Image on Pithos+ from a :ref:`previous
2025
<snf-image-images>` section:
2026 2026

  
2027 2027
 * Upload an Image file to Pithos+
2028
 * Register that Image file to Plankton
2028
 * Register that Image file to Cyclades
2029 2029
 * Spawn a new VM from that Image from the Cyclades Web UI
2030 2030

  
2031 2031
We will use the `kamaki <http://www.synnefo.org/docs/kamaki/latest/index.html>`_
......
2055 2055

  
2056 2056
   $ kamaki config set user.url "https://node1.example.com"
2057 2057
   $ kamaki config set compute.url "https://node1.example.com/api/v1.1"
2058
   $ kamaki config set image.url "https://node1.example.com/plankton"
2058
   $ kamaki config set image.url "https://node1.example.com/image"
2059 2059
   $ kamaki config set file.url "https://node2.example.com/v1"
2060 2060
   $ kamaki config set token USER_TOKEN
2061 2061

  
......
2121 2121

  
2122 2122
Alternatively check if the new container and file appear on the Pithos+ Web UI.
2123 2123

  
2124
Register an existing Image file to Plankton
2124
Register an existing Image file to Cyclades
2125 2125
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2126 2126

  
2127 2127
For the purposes of the following example, we assume that the user UUID is
2128 2128
``u53r-un1qu3-1d``.
2129 2129

  
2130 2130
Once the Image file has been successfully uploaded on Pithos+ then we register
2131
it to Plankton (so that it becomes visible to Cyclades), by running:
2131
it to Cyclades, by running:
2132 2132

  
2133 2133
.. code-block:: console
2134 2134

  
......
2143 2143

  
2144 2144
This command registers the Pithos+ file
2145 2145
``pithos://u53r-un1qu3-1d/images/debian_base-6.0-7-x86_64.diskdump`` as an
2146
Image in Plankton. This Image will be public (``--public``), so all users will
2146
Image in Cyclades. This Image will be public (``--public``), so all users will
2147 2147
be able to spawn VMs from it and is of type ``diskdump``. The first two
2148 2148
properties (``OSFAMILY`` and ``ROOT_PARTITION``) are mandatory. All the rest
2149 2149
properties are optional, but recommended, so that the Images appear nicely on
......
2152 2152
inside the ``20-snf-cyclades-app-ui.conf`` configuration file.
2153 2153

  
2154 2154
``OSFAMILY`` and ``ROOT_PARTITION`` are mandatory because they will be passed
2155
from Plankton to Cyclades and then to Ganeti and `snf-image` (also see
2155
from Cyclades to Ganeti and then `snf-image` (also see
2156 2156
:ref:`previous section <ganeti-with-pithos-images>`). All other properties are
2157 2157
used to show information on the Cyclades UI.
2158 2158

  
b/docs/quick-install-intgrt-guide.rst
17 17
 * Identity Management (Astakos)
18 18
 * Object Storage Service (Pithos+)
19 19
 * Compute Service (Cyclades)
20
 * Image Registry Service (Plankton)
20
 * Image Service (part of Cyclades)
21
 * Network Service (part of Cyclades)
21 22

  
22 23
and a single unified Web UI to manage them all.
23 24

  
b/docs/scale/i-kamaki.rst
40 40

  
41 41
    # kamaki config set astakos.url "https://accounts.example.com"
42 42
    # kamaki config set compute.url "https://cyclades.example.com/api/v1.1"
43
    # kamaki config set image.url "https://cyclades.example.com/plankton"
43
    # kamaki config set image.url "https://cyclades.example.com/image"
44 44
    # kamaki config set store.enable on
45 45
    # kamaki config set store.pithos_extensions on
46 46
    # kamaki config set store.url "https://pithos.example.com/v1"
......
63 63
   # kamaki store create images
64 64
   # kamaki store upload --container images /tmp/debian_base.diskdump debian_base.diskdump
65 65

  
66
and register it to plankton:
66
and register it with Cyclades:
67 67

  
68 68
.. code-block:: console
69 69

  
b/docs/scale/i-synnefo.rst
26 26
 * Identity Management (Astakos)
27 27
 * Object Storage Service (Pithos+)
28 28
 * Compute Service (Cyclades)
29
 * Image Registry Service (Plankton)
29
 * Image Service (part of Cyclades)
30
 * Network Service (part of Cyclades)
30 31

  
31 32
and a single unified Web UI to manage them all.
32 33

  

Also available in: Unified diff