Statistics
| Branch: | Tag: | Revision:

root / docs / scale / i-cyclades.rst @ 42646d5c

History | View | Annotate | Download (5.5 kB)

1 6928da52 Dimitris Aragiorgis
.. _i-cyclades:
2 6928da52 Dimitris Aragiorgis
3 6928da52 Dimitris Aragiorgis
Synnefo
4 6928da52 Dimitris Aragiorgis
-------
5 6928da52 Dimitris Aragiorgis
6 6928da52 Dimitris Aragiorgis
7 6928da52 Dimitris Aragiorgis
:ref:`synnefo <i-synnefo>` ||
8 6928da52 Dimitris Aragiorgis
:ref:`ns <i-ns>` ||
9 6928da52 Dimitris Aragiorgis
:ref:`apt <i-apt>` ||
10 6928da52 Dimitris Aragiorgis
:ref:`mq <i-mq>` ||
11 6928da52 Dimitris Aragiorgis
:ref:`db <i-db>` ||
12 6928da52 Dimitris Aragiorgis
:ref:`gunicorn <i-gunicorn>` ||
13 6928da52 Dimitris Aragiorgis
:ref:`apache <i-apache>` ||
14 6928da52 Dimitris Aragiorgis
:ref:`webproject <i-webproject>` ||
15 6928da52 Dimitris Aragiorgis
:ref:`astakos <i-astakos>` ||
16 6928da52 Dimitris Aragiorgis
:ref:`cms <i-cms>` ||
17 6928da52 Dimitris Aragiorgis
:ref:`pithos <i-pithos>` ||
18 6928da52 Dimitris Aragiorgis
cyclades ||
19 6928da52 Dimitris Aragiorgis
:ref:`kamaki <i-kamaki>` ||
20 6928da52 Dimitris Aragiorgis
:ref:`backends <i-backends>`
21 6928da52 Dimitris Aragiorgis
22 6928da52 Dimitris Aragiorgis
Cyclades Setup
23 6928da52 Dimitris Aragiorgis
++++++++++++++
24 6928da52 Dimitris Aragiorgis
25 6928da52 Dimitris Aragiorgis
The following apply to ``cyclades`` node. In the rest of the sections
26 6928da52 Dimitris Aragiorgis
we will refer to its IP with FQDN ``cyclades.example.com``.Please make sure you have
27 6928da52 Dimitris Aragiorgis
db, mq, gunicorn, apache, webproject, pithos and astakos already setup.
28 6928da52 Dimitris Aragiorgis
29 76db6d5e Dimitris Aragiorgis
Install the corresponding package. Please note that memcache is needed for
30 76db6d5e Dimitris Aragiorgis
versions >= 0.13 :
31 6928da52 Dimitris Aragiorgis
32 6928da52 Dimitris Aragiorgis
.. code-block:: console
33 6928da52 Dimitris Aragiorgis
34 76db6d5e Dimitris Aragiorgis
    # apt-get install memcached
35 76db6d5e Dimitris Aragiorgis
    # apt-get install python-memcache
36 84809111 Dimitris Aragiorgis
    # apt-get install kamaki
37 84809111 Dimitris Aragiorgis
    # apt-get install snf-pithos-backend
38 6928da52 Dimitris Aragiorgis
    # apt-get install snf-cyclades-app
39 6928da52 Dimitris Aragiorgis
40 6928da52 Dimitris Aragiorgis
In `/etc/synnefo/cyclades.conf` add:
41 6928da52 Dimitris Aragiorgis
42 6928da52 Dimitris Aragiorgis
.. code-block:: console
43 6928da52 Dimitris Aragiorgis
44 6928da52 Dimitris Aragiorgis
    MAX_CIDR_BLOCK = 21
45 6928da52 Dimitris Aragiorgis
    PUBLIC_USE_POOL = True
46 6928da52 Dimitris Aragiorgis
47 84809111 Dimitris Aragiorgis
    CPU_BAR_GRAPH_URL = 'https://cyclades.example.com/stats/%s/cpu-bar.png'
48 84809111 Dimitris Aragiorgis
    CPU_TIMESERIES_GRAPH_URL = 'https://cyclades.example.com/stats/%s/cpu-ts.png'
49 84809111 Dimitris Aragiorgis
    NET_BAR_GRAPH_URL = 'https://cyclades.example.com/stats/%s/net-bar.png'
50 84809111 Dimitris Aragiorgis
    NET_TIMESERIES_GRAPH_URL = 'https://cyclades.example.com/stats/%s/net-ts.png'
51 84809111 Dimitris Aragiorgis
52 e3ff6830 Georgios D. Tsoukalas
    ASTAKOS_BASE_URL = 'https://accounts.example.synnefo.org/'
53 6928da52 Dimitris Aragiorgis
54 6928da52 Dimitris Aragiorgis
    SECRET_ENCRYPTION_KEY= "oEs0pt7Di1mkxA0P6FiK"
55 6928da52 Dimitris Aragiorgis
56 6928da52 Dimitris Aragiorgis
    GANETI_CREATEINSTANCE_KWARGS = {
57 6928da52 Dimitris Aragiorgis
        'os': 'snf-image+default',
58 25d7843d Dimitris Aragiorgis
        'hvparams': {'serial_console': False},
59 6928da52 Dimitris Aragiorgis
        'wait_for_sync': False}
60 6928da52 Dimitris Aragiorgis
61 6928da52 Dimitris Aragiorgis
    GANETI_USE_HOTPLUG = True
62 6928da52 Dimitris Aragiorgis
    CLOUDBAR_LOCATION = 'https://accounts.example.com/static/im/cloudbar/'
63 fb814235 Kostas Papadimitriou
    CLOUDBAR_SERVICES_URL = 'https://accounts.example.com/ui/get_services'
64 fb814235 Kostas Papadimitriou
    CLOUDBAR_MENU_URL = 'https://accounts.example.com/ui/get_menu'
65 6928da52 Dimitris Aragiorgis
    BACKEND_DB_CONNECTION = 'postgresql://synnefo:example_passw0rd@db.example.com:5432/snf_pithos'
66 6928da52 Dimitris Aragiorgis
    BACKEND_BLOCK_PATH = '/srv/pithos/data/'
67 6928da52 Dimitris Aragiorgis
68 6928da52 Dimitris Aragiorgis
    AMQP_HOSTS = ["amqp://synnefo:example_rabbitmq_passw0rd@mq.example.com:5672"]
69 6928da52 Dimitris Aragiorgis
70 84809111 Dimitris Aragiorgis
    TIMEOUT = 60 * 1000
71 84809111 Dimitris Aragiorgis
    UI_UPDATE_INTERVAL = 2000
72 84809111 Dimitris Aragiorgis
    FEEDBACK_CONTACTS = (
73 84809111 Dimitris Aragiorgis
        ('feedback@example.com', 'feedback@example.com'),
74 84809111 Dimitris Aragiorgis
    )
75 84809111 Dimitris Aragiorgis
    UI_FLAVORS_DISK_TEMPLATES_INFO = {
76 84809111 Dimitris Aragiorgis
        'rbd': {'name': 'Rbd',
77 84809111 Dimitris Aragiorgis
               'description': 'Volumes residing inside a RADOS cluster'},
78 84809111 Dimitris Aragiorgis
79 84809111 Dimitris Aragiorgis
        'plain': {'name': 'Local',
80 84809111 Dimitris Aragiorgis
                 'description': 'Fast, not high available local storage (LVM)'},
81 84809111 Dimitris Aragiorgis
82 84809111 Dimitris Aragiorgis
        'drbd': {'name': 'Standard',
83 84809111 Dimitris Aragiorgis
                 'description': 'High available persistent storage (DRBD)'},
84 84809111 Dimitris Aragiorgis
85 84809111 Dimitris Aragiorgis
        'ext_vlmc': {'name': 'Tmp',
86 84809111 Dimitris Aragiorgis
                    'description': 'Volatile storage'},
87 84809111 Dimitris Aragiorgis
    }
88 84809111 Dimitris Aragiorgis
    UI_SUPPORT_SSH_OS_LIST = ['debian', 'fedora', 'okeanos', 'ubuntu', 'kubuntu',
89 84809111 Dimitris Aragiorgis
                              'centos', 'archlinux', 'gentoo']
90 84809111 Dimitris Aragiorgis
    UI_SYSTEM_IMAGES_OWNERS = {
91 84809111 Dimitris Aragiorgis
        'images@okeanos.io': 'system',
92 84809111 Dimitris Aragiorgis
    }
93 84809111 Dimitris Aragiorgis
94 76db6d5e Dimitris Aragiorgis
    CACHE_BACKEND = 'memcached://127.0.0.1:11211/'
95 76db6d5e Dimitris Aragiorgis
96 18c4414d Giorgos Korfiatis
    CYCLADES_SERVICE_TOKEN = "XXXXXXXXXX"
97 84809111 Dimitris Aragiorgis
98 84809111 Dimitris Aragiorgis
    UI_SYSTEM_IMAGES_OWNERS = {
99 84809111 Dimitris Aragiorgis
        'admin@synnefo.gr': 'system',
100 84809111 Dimitris Aragiorgis
        'images@synnefo.gr': 'system'
101 84809111 Dimitris Aragiorgis
    }
102 84809111 Dimitris Aragiorgis
103 84809111 Dimitris Aragiorgis
XXXXXXXX is the token for cyclades registered service and can be found
104 84809111 Dimitris Aragiorgis
in astakos node running:
105 84809111 Dimitris Aragiorgis
106 84809111 Dimitris Aragiorgis
.. code-block:: console
107 84809111 Dimitris Aragiorgis
108 84809111 Dimitris Aragiorgis
   snf-manage service-list
109 84809111 Dimitris Aragiorgis
110 6928da52 Dimitris Aragiorgis
111 6928da52 Dimitris Aragiorgis
Restart services and initialize database:
112 6928da52 Dimitris Aragiorgis
113 6928da52 Dimitris Aragiorgis
.. code-block:: console
114 6928da52 Dimitris Aragiorgis
115 6928da52 Dimitris Aragiorgis
   # /etc/init.d/gunicorn restart
116 6928da52 Dimitris Aragiorgis
   # /etc/init.d/apache2 restart
117 6928da52 Dimitris Aragiorgis
   # snf-manage syncdb
118 84809111 Dimitris Aragiorgis
   # snf-manage migrate --delete-ghost-migrations
119 6928da52 Dimitris Aragiorgis
   # snf-manage loaddata flavors
120 6928da52 Dimitris Aragiorgis
121 6928da52 Dimitris Aragiorgis
Enable dispatcher:
122 6928da52 Dimitris Aragiorgis
123 6928da52 Dimitris Aragiorgis
.. code-block:: console
124 6928da52 Dimitris Aragiorgis
125 6928da52 Dimitris Aragiorgis
   # sed -i 's/false/true/' /etc/default/snf-dispatcher
126 6928da52 Dimitris Aragiorgis
   # /etc/init.d/snf-dispatcher start
127 6928da52 Dimitris Aragiorgis
128 6928da52 Dimitris Aragiorgis
In order end-user to have access to the VM's console:
129 6928da52 Dimitris Aragiorgis
130 6928da52 Dimitris Aragiorgis
.. code-block:: console
131 6928da52 Dimitris Aragiorgis
132 6928da52 Dimitris Aragiorgis
   # apt-get install snf-vncauthproxy
133 6928da52 Dimitris Aragiorgis
134 6928da52 Dimitris Aragiorgis
Edit `/etc/default/vncauthproxy`:
135 6928da52 Dimitris Aragiorgis
136 6928da52 Dimitris Aragiorgis
.. code-block:: console
137 6928da52 Dimitris Aragiorgis
138 6928da52 Dimitris Aragiorgis
   CHUID="www-data:nogroup"
139 6928da52 Dimitris Aragiorgis
140 6928da52 Dimitris Aragiorgis
141 6928da52 Dimitris Aragiorgis
At this point you should setup a :ref:`backend <i-backends>`. Please refer to the
142 6928da52 Dimitris Aragiorgis
coresponding section.  Here we assume that at least one backend is up and running,
143 6928da52 Dimitris Aragiorgis
so we can add it in Cyclades with:
144 6928da52 Dimitris Aragiorgis
145 6928da52 Dimitris Aragiorgis
.. code-block:: console
146 6928da52 Dimitris Aragiorgis
147 6928da52 Dimitris Aragiorgis
   # snf-manage backend-add --clustername=ganeti.example.com --user=synnefo --pass=example_rapi_passw0rd
148 6928da52 Dimitris Aragiorgis
149 c5e6a4b6 Dimitris Aragiorgis
After 0.13 every backend added stays in drained mode (no VMs can be added).
150 c5e6a4b6 Dimitris Aragiorgis
Therefore get your backend ID (propably 1) and run:
151 c5e6a4b6 Dimitris Aragiorgis
152 c5e6a4b6 Dimitris Aragiorgis
.. code-block:: console
153 c5e6a4b6 Dimitris Aragiorgis
154 c5e6a4b6 Dimitris Aragiorgis
   # snf-manage backend-list
155 c5e6a4b6 Dimitris Aragiorgis
   # snf-manage backend-modify --drained=False 1
156 c5e6a4b6 Dimitris Aragiorgis
157 6928da52 Dimitris Aragiorgis
Further assumptions:
158 6928da52 Dimitris Aragiorgis
159 6928da52 Dimitris Aragiorgis
- Preprovisioned Bridges: ``br0``, ``prv0``, ``prv1..prv20``
160 6928da52 Dimitris Aragiorgis
- Available "public" Subnet: ``10.0.1.0/24``
161 6928da52 Dimitris Aragiorgis
- Available "public" Gateway: ``10.0.1.1``
162 6928da52 Dimitris Aragiorgis
- Connectivity link for public network: ``br0``
163 6928da52 Dimitris Aragiorgis
164 6928da52 Dimitris Aragiorgis
165 6928da52 Dimitris Aragiorgis
Here admin has to define two different resource pools in Synnefo:
166 6928da52 Dimitris Aragiorgis
167 6928da52 Dimitris Aragiorgis
 - MAC prefix Pool
168 6928da52 Dimitris Aragiorgis
 - Bridge Pool
169 6928da52 Dimitris Aragiorgis
170 6928da52 Dimitris Aragiorgis
.. code-block:: console
171 6928da52 Dimitris Aragiorgis
172 6928da52 Dimitris Aragiorgis
   # snf-manage pool-create --type=mac-prefix --base=aa:00:0 --size=65536
173 6928da52 Dimitris Aragiorgis
   # snf-manage pool-create --type=bridge --base=prv --size=20
174 6928da52 Dimitris Aragiorgis
175 6928da52 Dimitris Aragiorgis
Add the synnefo setting in :file:`/etc/synnefo/cyclades.conf`:
176 6928da52 Dimitris Aragiorgis
177 6928da52 Dimitris Aragiorgis
.. code-block:: console
178 6928da52 Dimitris Aragiorgis
179 84809111 Dimitris Aragiorgis
   DEFAULT_MAC_FILTERED_BRIDGE = 'prv0'
180 6928da52 Dimitris Aragiorgis
181 6928da52 Dimitris Aragiorgis
Add public network where the VM's will eventually connect to in order to
182 6928da52 Dimitris Aragiorgis
access Internet:
183 6928da52 Dimitris Aragiorgis
184 6928da52 Dimitris Aragiorgis
.. code-block:: console
185 6928da52 Dimitris Aragiorgis
186 6928da52 Dimitris Aragiorgis
   # snf-manage network-create --subnet=10.0.1.0/24 --gateway=10.0.1.1 --public --dhcp --flavor=CUSTOM --mode=bridged --link=br0 --name=Internet --backend-id=1
187 81b92b0f Dimitris Aragiorgis
188 81b92b0f Dimitris Aragiorgis
189 81b92b0f Dimitris Aragiorgis
Test your Setup:
190 81b92b0f Dimitris Aragiorgis
++++++++++++++++
191 84809111 Dimitris Aragiorgis
192 84809111 Dimitris Aragiorgis
In cyclades node run:
193 84809111 Dimitris Aragiorgis
194 84809111 Dimitris Aragiorgis
.. code-block:: console
195 84809111 Dimitris Aragiorgis
196 84809111 Dimitris Aragiorgis
    snf-manage backend-list
197 84809111 Dimitris Aragiorgis
    snf-manage network-list
198 84809111 Dimitris Aragiorgis
    snf-manage server-list
199 84809111 Dimitris Aragiorgis
200 84809111 Dimitris Aragiorgis
Visit https://cyclades.example.com/ui/ and create a VM or network.