blob: bd06ba59a39cbfc5dc8242060bc9c5848273aec2 [file] [log] [blame]
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +02001
OlgaGusarenko8c33bca2018-07-30 18:33:34 +03002=====
3Usage
4=====
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +02005
OlgaGusarenko8c33bca2018-07-30 18:33:34 +03006Horizon is the canonical implementation of OpenStack Dashboard, which
7provides a web-based user interface to OpenStack services including Nova,
Ales Komarek231eb652017-04-11 16:01:19 +02008Swift, Keystone, etc.
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +02009
Ales Komarek231eb652017-04-11 16:01:19 +020010Sample Pillars
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +020011==============
12
OlgaGusarenko8c33bca2018-07-30 18:33:34 +030013Simplest Horizon setup:
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +020014
Adam Tenglerdbd1f052016-01-25 21:12:26 +010015.. code-block:: yaml
16
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +020017 horizon:
18 server:
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +020019 enabled: true
Ales Komarek2e7d83b2016-11-22 22:58:12 +010020 secret_key: secret
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +020021 host:
22 name: cloud.lab.cz
23 cache:
24 engine: 'memcached'
25 host: '127.0.0.1'
26 port: 11211
27 prefix: 'CACHE_HORIZON'
Oleksii Chupryn7d3d6482017-03-07 11:23:27 +020028 api_versions:
29 identity: 2
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +020030 identity:
31 engine: 'keystone'
32 host: '127.0.0.1'
33 port: 5000
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +020034 mail:
35 host: '127.0.0.1'
36
OlgaGusarenko8c33bca2018-07-30 18:33:34 +030037Multidomain setup for Horizon:
Dmitry Stremkovskiy381e5602017-07-18 18:50:13 +030038
39.. code-block:: yaml
40
41 horizon:
42 server:
43 enabled: true
44 default_domain: MYDOMAIN
45 multidomain: True
46
OlgaGusarenko8c33bca2018-07-30 18:33:34 +030047Simple branded Horizon:
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +020048
Adam Tenglerdbd1f052016-01-25 21:12:26 +010049.. code-block:: yaml
50
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +020051 horizon:
52 server:
53 enabled: true
54 branding: 'OpenStack Company Dashboard'
55 default_dashboard: 'admin'
56 help_url: 'http://doc.domain.com'
57
Oleh Hryhorov179b8ee2019-02-13 16:04:11 +000058Dashboard settings with HORIZON_CONFIG dictionary:
59
60.. code-block:: yaml
61
62 horizon:
63 server:
64 enabled: true
65 horizon_config:
66 user_home: "openstack_dashboard.views.get_user_home"
67 ajax_queue_limit: 10
68 auto_fade_alerts:
69 delay: 3000
70 fade_duration: 1500
71 types:
72 - alert-success
73 - alert-info
74 help_url: "http://docs.openstack.org"
75 modal_backdrop: "static"
76 disable_password_reveal: True
77 password_validator:
78 regex: "^.{8,18}$"
79 help_text: "Password must be between 8 and 18 characters."
80 password_autocomplete: "off"
81
OlgaGusarenko8c33bca2018-07-30 18:33:34 +030082Horizon with policy files metadata. With source mine you can obtain real
83time policy file state from targeted node (OpenStack control node),
84provided you have policy file published to specified grain key. Source
85file will obtain static policy definition from formula files directory.
Adam Tengler08874e32017-05-05 17:24:29 +000086
87.. code-block:: yaml
88
89 horizon:
90 server:
91 enabled: true
92 policy:
93 identity:
94 source: mine
95 host: ctl01.my-domain.local
96 name: keystone_policy.json
97 grain_name: keystone_policy
98 enabled: true
99 compute:
100 source: file
101 name: nova_policy.json
102 enabled: true
103 network:
104 source: file
105 name: neutron_policy.json
106 enabled: true
107 image:
108 source: file
109 name: glance_policy.json
110 enabled: true
111 volume:
112 source: file
113 name: cinder_policy.json
114 enabled: true
115 telemetry:
116 source: file
117 name: ceilometer_policy.json
118 enabled: true
119 orchestration:
120 source: file
121 name: heat_policy.json
122 enabled: true
Ales Komarek231eb652017-04-11 16:01:19 +0200123
OlgaGusarenko8c33bca2018-07-30 18:33:34 +0300124Horizon with enabled SSL security (when SSL is realised by proxy):
Ales Komarek231eb652017-04-11 16:01:19 +0200125
126.. code-block:: yaml
127
128 horizon:
129 server:
130 enabled: True
131 secure: True
132
133
OlgaGusarenko8c33bca2018-07-30 18:33:34 +0300134Horizon package setup with SSL:
Adam Tengler250e9b32018-06-26 14:39:31 +0000135
OlgaGusarenko8c33bca2018-07-30 18:33:34 +0300136.. important:: For the sake of backwards compatibility, the ``ssl_no_verify``
137 attribute defaults to ``true`` when
138 ``horizon:server:identity:encryption`` is set to ``'ssl'``.
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200139
Adam Tenglerdbd1f052016-01-25 21:12:26 +0100140.. code-block:: yaml
141
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200142 horizon:
143 server:
144 enabled: true
145 secret_key: MEGASECRET
146 version: juno
Adam Tengler250e9b32018-06-26 14:39:31 +0000147 ssl_no_verify: false
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200148 ssl:
149 enabled: true
150 authority: CA_Authority
151 host:
152 name: cloud.lab.cz
153 cache:
154 engine: 'memcached'
155 host: '127.0.0.1'
156 port: 11211
157 prefix: 'CACHE_HORIZON'
Oleksii Chupryn7d3d6482017-03-07 11:23:27 +0200158 api_versions:
159 identity: 2
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200160 identity:
161 engine: 'keystone'
162 host: '127.0.0.1'
163 port: 5000
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200164 mail:
165 host: '127.0.0.1'
166
OlgaGusarenko8c33bca2018-07-30 18:33:34 +0300167Horizon with custom ``SESSION_ENGINE`` (default is
168``signed_cookies``, valid options are: ``signed_cookies``,
169``cache``, ``file``) and ``SESSION_TIMEOUT``:
Adam Tenglerddef0502017-05-04 11:36:54 +0000170
171.. code-block:: yaml
172
173 horizon:
174 server:
175 enabled: True
176 secure: True
177 session:
178 engine: 'cache'
179 timeout: 43200
180
OlgaGusarenko8c33bca2018-07-30 18:33:34 +0300181Multi-regional Horizon setup:
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200182
Adam Tenglerdbd1f052016-01-25 21:12:26 +0100183.. code-block:: yaml
184
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200185 horizon:
186 server:
187 enabled: true
188 version: juno
189 secret_key: MEGASECRET
190 cache:
191 engine: 'memcached'
192 host: '127.0.0.1'
193 port: 11211
194 prefix: 'CACHE_HORIZON'
Oleksii Chupryn7d3d6482017-03-07 11:23:27 +0200195 api_versions:
196 identity: 2
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200197 identity:
198 engine: 'keystone'
199 host: '127.0.0.1'
200 port: 5000
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200201 mail:
202 host: '127.0.0.1'
203 regions:
204 - name: cluster1
205 address: http://cluster1.example.com:5000/v2.0
206 - name: cluster2
207 address: http://cluster2.example.com:5000/v2.0
208
Pavel Cizinsky4c773642018-08-21 15:28:57 +0200209Configuration of LAUNCH_INSTANCE_DEFAULTS parameter:
210
211.. code-block:: yaml
212
213 horizon:
214 server:
215 launch_instance_defaults:
216 config_drive: False
217 enable_scheduler_hints: True
218 disable_image: False
219 disable_instance_snapshot: False
220 disable_volume: False
221 disable_volume_snapshot: False
222 create_volume: False
223
OlgaGusarenko8c33bca2018-07-30 18:33:34 +0300224Horizon setup with sensu plugin:
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200225
Adam Tenglerdbd1f052016-01-25 21:12:26 +0100226.. code-block:: yaml
227
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200228 horizon:
229 server:
230 enabled: true
231 version: juno
232 sensu_api:
233 host: localhost
234 port: 4567
Ales Komarek2e7d83b2016-11-22 22:58:12 +0100235 plugin:
236 monitoring:
237 app: horizon_monitoring
238 source:
239 type: git
240 address: git@repo1.robotice.cz:django/horizon-monitoring.git
241 rev: develop
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200242
OlgaGusarenko8c33bca2018-07-30 18:33:34 +0300243Sensu multi API:
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200244
Adam Tenglerdbd1f052016-01-25 21:12:26 +0100245.. code-block:: yaml
246
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200247 horizon:
248 server:
249 enabled: true
250 version: juno
251 sensu_api:
252 dc1:
253 host: localhost
254 port: 4567
255 dc2:
256 host: anotherhost
257 port: 4567
258
OlgaGusarenko8c33bca2018-07-30 18:33:34 +0300259Horizon setup with jenkins plugin:
Ales Komarek2e7d83b2016-11-22 22:58:12 +0100260
261.. code-block:: yaml
262
263 horizon:
264 server:
265 enabled: true
266 version: juno
267 jenkins_api:
268 url: https://localhost:8080
269 user: admin
270 password: pwd
271 plugin:
272 jenkins:
273 app: horizon_jenkins
274 source:
275 type: pkg
276
OlgaGusarenko8c33bca2018-07-30 18:33:34 +0300277Horizon setup with billometer plugin:
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200278
Adam Tenglerdbd1f052016-01-25 21:12:26 +0100279.. code-block:: yaml
280
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200281 horizon:
282 server:
283 enabled: true
284 version: juno
285 billometer_api:
286 host: localhost
287 port: 9753
288 api_version: 1
Ales Komarek2e7d83b2016-11-22 22:58:12 +0100289 plugin:
290 billing:
291 app: horizon_billing
292 source:
293 type: git
294 address: git@repo1.robotice.cz:django/horizon-billing.git
295 rev: develop
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200296
OlgaGusarenko8c33bca2018-07-30 18:33:34 +0300297Horizon setup with Contrail plugin:
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200298
Adam Tenglerdbd1f052016-01-25 21:12:26 +0100299.. code-block:: yaml
300
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200301 horizon:
302 server:
303 enabled: true
304 version: icehouse
Ales Komarek2e7d83b2016-11-22 22:58:12 +0100305 plugin:
306 contrail:
307 app: contrail_openstack_dashboard
308 override: true
309 source:
310 type: git
311 address: git@repo1.robotice.cz:django/horizon-contrail.git
312 rev: develop
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200313
OlgaGusarenko8c33bca2018-07-30 18:33:34 +0300314Horizon setup with sentry log handler:
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200315
Adam Tenglerdbd1f052016-01-25 21:12:26 +0100316.. code-block:: yaml
317
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200318 horizon:
319 server:
320 enabled: true
321 version: juno
322 ...
323 logging:
324 engine: raven
325 dsn: http://pub:private@sentry1.test.cz/2
326
327Multisite with Git source
328-------------------------
329
OlgaGusarenko8c33bca2018-07-30 18:33:34 +0300330Simple Horizon setup from Git repository:
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200331
Adam Tenglerdbd1f052016-01-25 21:12:26 +0100332.. code-block:: yaml
333
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200334 horizon:
335 server:
336 enabled: true
337 app:
338 default:
339 secret_key: MEGASECRET
340 source:
341 engine: git
342 address: https://github.com/openstack/horizon.git
343 rev: stable/havana
344 cache:
345 engine: 'memcached'
346 host: '127.0.0.1'
347 port: 11211
348 prefix: 'CACHE_DEFAULT'
Oleksii Chupryn7d3d6482017-03-07 11:23:27 +0200349 api_versions:
350 identity: 2
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200351 identity:
352 engine: 'keystone'
353 host: '127.0.0.1'
354 port: 5000
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200355 mail:
356 host: '127.0.0.1'
357
OlgaGusarenko8c33bca2018-07-30 18:33:34 +0300358Themed multisite setup:
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200359
Adam Tenglerdbd1f052016-01-25 21:12:26 +0100360.. code-block:: yaml
361
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200362 horizon:
363 server:
364 enabled: true
365 app:
366 openstack1c:
367 secret_key: MEGASECRET1
368 source:
369 engine: git
370 address: https://github.com/openstack/horizon.git
371 rev: stable/havana
372 plugin:
373 contrail:
374 app: contrail_openstack_dashboard
375 override: true
376 source:
377 type: git
378 address: git@repo1.robotice.cz:django/horizon-contrail.git
379 rev: develop
380 theme:
381 app: site1_theme
382 source:
383 type: git
384 address: git@repo1.domain.com:django/horizon-site1-theme.git
385 cache:
386 engine: 'memcached'
387 host: '127.0.0.1'
388 port: 11211
389 prefix: 'CACHE_SITE1'
Oleksii Chupryn7d3d6482017-03-07 11:23:27 +0200390 api_versions:
391 identity: 2
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200392 identity:
393 engine: 'keystone'
394 host: '127.0.0.1'
395 port: 5000
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200396 mail:
397 host: '127.0.0.1'
398 openstack2:
399 secret_key: MEGASECRET2
400 source:
401 engine: git
402 address: https://repo1.domain.com/openstack/horizon.git
403 rev: stable/icehouse
404 plugin:
405 contrail:
406 app: contrail_openstack_dashboard
407 override: true
408 source:
409 type: git
410 address: git@repo1.domain.com:django/horizon-contrail.git
411 rev: develop
412 monitoring:
413 app: horizon_monitoring
414 source:
415 type: git
416 address: git@domain.com:django/horizon-monitoring.git
417 rev: develop
418 theme:
419 app: bootswatch_theme
420 source:
421 type: git
422 address: git@repo1.robotice.cz:django/horizon-bootswatch-theme.git
423 rev: develop
424 cache:
425 engine: 'memcached'
426 host: '127.0.0.1'
427 port: 11211
428 prefix: 'CACHE_SITE2'
Oleksii Chupryn7d3d6482017-03-07 11:23:27 +0200429 api_versions:
430 identity: 3
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200431 identity:
432 engine: 'keystone'
433 host: '127.0.0.1'
434 port: 5000
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200435 mail:
436 host: '127.0.0.1'
437
Adam Tengler383e5712018-06-26 20:09:54 +0000438Set advanced theme options (for Horizon version Mitaka and newer).
439
440Full example:
441
442.. code-block:: yaml
443
444 horizon:
445 server:
446 themes:
447 default: default # optional, default: "default"
448 directory: themes # optional, default: "themes"
449 cookie_name: theme # optional, default: "theme"
450 available:
451 default: # slug
452 name: "Default" # display name
453 description: "Default style theme"
454 path: "themes/default" # optional, default: "<directory>/<slug>", e.g. "themes/default"
455 enabled: True
456 material:
457 name: "Material"
458 description: "Google's Material Design style theme"
459 path: "themes/material"
460 enabled: True
461
462Minimal example:
463
464.. code-block:: yaml
465
466 horizon:
467 server:
468 theme:
469 available:
470 default: # slug
471 name: "Default" # display name
472 description: "Default style theme"
473 material:
474 name: "Material"
475 description: "Google's Material Design style theme"
476
OlgaGusarenko8c33bca2018-07-30 18:33:34 +0300477API versions override:
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200478
Adam Tenglerdbd1f052016-01-25 21:12:26 +0100479.. code-block:: yaml
480
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200481 horizon:
482 server:
483 enabled: true
484 app:
485 openstack_api_overrride:
486 secret_key: MEGASECRET1
487 api_versions:
488 identity: 3
489 volume: 2
490 source:
491 engine: git
492 address: https://github.com/openstack/horizon.git
493 rev: stable/havana
494
OlgaGusarenko8c33bca2018-07-30 18:33:34 +0300495Control dashboard behavior:
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200496
Adam Tenglerdbd1f052016-01-25 21:12:26 +0100497.. code-block:: yaml
498
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200499 horizon:
500 server:
501 enabled: true
502 app:
503 openstack_dashboard_overrride:
Ales Komarek2e7d83b2016-11-22 22:58:12 +0100504 secret_key: password
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200505 dashboards:
506 settings:
507 enabled: true
508 project:
509 enabled: false
510 order: 10
511 admin:
512 enabled: false
513 order: 20
514 source:
515 engine: git
516 address: https://github.com/openstack/horizon.git
517 rev: stable/juno
518
OlgaGusarenko8c33bca2018-07-30 18:33:34 +0300519Enable WebSSO feature. Define a list of choices
520[supported choices: oidc, saml2], ``credentials`` choice
521will be automatically appended and choice description is
522predefined. DEPRECATED
Aleksieiev, Oleksii318d9de2018-05-18 16:37:18 -0700523
OlgaGusarenko8c33bca2018-07-30 18:33:34 +0300524WebSSO with credentials and saml2:
Alexander Noskov787a8122016-12-07 13:00:49 +0400525
526.. code-block:: yaml
527
528 horizon:
529 server:
530 enabled: true
531 websso:
532 login_url: "WEBROOT + 'auth/login/'"
533 logout_url: "WEBROOT + 'auth/logout/'"
Aleksieiev, Oleksii318d9de2018-05-18 16:37:18 -0700534 login_redirect_url: "WEBROOT + 'project/'"
Alexander Noskov787a8122016-12-07 13:00:49 +0400535 websso_choices:
536 - saml2
Alexander Noskov787a8122016-12-07 13:00:49 +0400537
OlgaGusarenko8c33bca2018-07-30 18:33:34 +0300538Enable WebSSO feature. Define a map of choices in the following
539format: ``{"<choice_name>": {"description": "<choice_description>"}``.
Aleksieiev, Oleksii318d9de2018-05-18 16:37:18 -0700540
OlgaGusarenko8c33bca2018-07-30 18:33:34 +0300541WebSSO with saml2 and credentials:
Aleksieiev, Oleksii318d9de2018-05-18 16:37:18 -0700542
543.. code-block:: yaml
544
545 horizon:
546 server:
547 enabled: true
548 websso:
549 login_url: "WEBROOT + 'auth/login/'"
550 logout_url: "WEBROOT + 'auth/logout/'"
551 login_redirect_url: "WEBROOT + 'project/'"
552 websso_choices:
553 saml2:
554 description: "Security Assertion Markup Language"
555 credentials:
556 description: "Keystone Credentials"
557
OlgaGusarenko8c33bca2018-07-30 18:33:34 +0300558WebSSO with IDP mapping:
Aleksieiev, Oleksii318d9de2018-05-18 16:37:18 -0700559
560.. code-block:: yaml
561
562 horizon:
563 server:
564 enabled: true
565 websso:
566 login_url: "WEBROOT + 'auth/login/'"
567 logout_url: "WEBROOT + 'auth/logout/'"
568 login_redirect_url: "WEBROOT + 'project/'"
569 websso_choices:
570 credentials:
571 description: "Keystone Credentials"
572 saml2:
573 description: "Security Assertion Markup Language"
574 oidc:
575 description: "OpenID Connect"
576 myidp_oidc:
577 description: "Acme Corporation - OpenID Connect"
578 myidp_saml2:
579 description: "Acme Corporation - SAML2"
580 idp_mapping:
581 myidp_oidc:
582 id: myidp
583 protocol: oidc
584 myidp_saml2:
585 id: myidp
586 protocol: saml2
Ales Komarek231eb652017-04-11 16:01:19 +0200587
Vasyl Saienkof976b522018-11-06 08:42:10 +0000588Images upload mode:
589Horizon allows to use different strategies when uploading images to glance that are
590controlled by `horizon:server:images_upload_mode` pillar, possible options are
Oleksandr Bryndzii2ca01fb2018-10-24 19:36:26 +0300591direct, ligacy, off. When `direct` mode is used CORS have to be enabled on glance
Vasyl Saienkof976b522018-11-06 08:42:10 +0000592side, and client should use modern browser.
593
594.. code-block:: yaml
595
596 horizon:
597 server:
598 images_upload_mode: "direct"
Vasyl Saienkoc9cfd1f2018-09-10 13:47:12 +0000599
Oleksandr Bryndzii2ca01fb2018-10-24 19:36:26 +0300600Images allow location:
601If set to True, this setting allows users to specify an image location (URL) as the image source
602when creating or updating images. Depending on the Glance version, the ability to set an image
603location is controlled by policies and/or the Glance configuration. Therefore IMAGES_ALLOW_LOCATION
604should only be set to True if Glance is configured to allow specifying a location.
605
606.. code-block:: yaml
607
608 horizon:
609 server:
610 images_allow_location: True
611
Vasyl Saienko0498a8f2018-11-30 08:41:04 +0000612Custom django settings.
613Django has a tonn of usefull settings that might be tuned for particular use case.
614Cover them all in templated manner is not possible. This sections shows how to
615configure custom django setting via horizon metadata.
616
617.. code-block:: yaml
618
619 horizon:
620 server:
621 django_settings:
622 CUSTOM_DJANGO_OPTION:
623 enabled: true
624 value: 'value'
625
Oleksandr Bryndzii2ca01fb2018-10-24 19:36:26 +0300626
Vasyl Saienkoc9cfd1f2018-09-10 13:47:12 +0000627Upgrades
628========
629
630Each openstack formula provide set of phases (logical bloks) that will help to
631build flexible upgrade orchestration logic for particular components. The list
632of phases and theirs descriptions are listed in table below:
633
634+-------------------------------+------------------------------------------------------+
635| State | Description |
636+===============================+======================================================+
637| <app>.upgrade.service_running | Ensure that all services for particular application |
638| | are enabled for autostart and running |
639+-------------------------------+------------------------------------------------------+
640| <app>.upgrade.service_stopped | Ensure that all services for particular application |
641| | disabled for autostart and dead |
642+-------------------------------+------------------------------------------------------+
643| <app>.upgrade.pkgs_latest | Ensure that packages used by particular application |
644| | are installed to latest available version. |
645| | This will not upgrade data plane packages like qemu |
646| | and openvswitch as usually minimal required version |
647| | in openstack services is really old. The data plane |
648| | packages should be upgraded separately by `apt-get |
649| | upgrade` or `apt-get dist-upgrade` |
650| | Applying this state will not autostart service. |
651+-------------------------------+------------------------------------------------------+
652| <app>.upgrade.render_config | Ensure configuration is rendered actual version. +
653+-------------------------------+------------------------------------------------------+
654| <app>.upgrade.pre | We assume this state is applied on all nodes in the |
655| | cloud before running upgrade. |
656| | Only non destructive actions will be applied during |
657| | this phase. Perform service built in service check |
658| | like (keystone-manage doctor and nova-status upgrade)|
659+-------------------------------+------------------------------------------------------+
660| <app>.upgrade.upgrade.pre | Mostly applicable for data plane nodes. During this |
661| | phase resources will be gracefully removed from |
662| | current node if it is allowed. Services for upgraded |
663| | application will be set to admin disabled state to |
664| | make sure node will not participate in resources |
665| | scheduling. For example on gtw nodes this will set |
666| | all agents to admin disable state and will move all |
667| | routers to other agents. |
668+-------------------------------+------------------------------------------------------+
669| <app>.upgrade.upgrade | This state will basically upgrade application on |
670| | particular target. Stop services, render |
671| | configuration, install new packages, run offline |
672| | dbsync (for ctl), start services. Data plane should |
673| | not be affected, only OpenStack python services. |
674+-------------------------------+------------------------------------------------------+
675| <app>.upgrade.upgrade.post | Add services back to scheduling. |
676+-------------------------------+------------------------------------------------------+
677| <app>.upgrade.post | This phase should be launched only when upgrade of |
678| | the cloud is completed. Cleanup temporary files, |
679| | perform other post upgrade tasks. |
680+-------------------------------+------------------------------------------------------+
681| <app>.upgrade.verify | Here we will do basic health checks (API CRUD |
682| | operations, verify do not have dead network |
683| | agents/compute services) |
684+-------------------------------+------------------------------------------------------+
685
686
OlgaGusarenko8c33bca2018-07-30 18:33:34 +0300687Read more
688=========
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200689
690* https://github.com/openstack/horizon
691* http://dijks.wordpress.com/2012/07/06/how-to-change-screen-resolution-of-novnc-client-in-openstack-essex-dashboard-nova-horizon/