blob: ab5e74a7ba2092047ad7e68d617c68a585189e2f [file] [log] [blame]
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +02001
2=======
3Horizon
4=======
5
Ales Komarek3b2babb2015-11-28 00:35:15 +01006Horizon is the canonical implementation of OpenStacks Dashboard, which provides a web based user interface to OpenStack services including Nova, Swift, Keystone, etc.
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +02007
8Sample pillars
9==============
10
11Packaged version of horizon
12---------------------------
13
Ales Komarek2e7d83b2016-11-22 22:58:12 +010014Simplest horizon setup
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +020015
Adam Tenglerdbd1f052016-01-25 21:12:26 +010016.. code-block:: yaml
17
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +020018 horizon:
19 server:
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +020020 enabled: true
Ales Komarek2e7d83b2016-11-22 22:58:12 +010021 secret_key: secret
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +020022 host:
23 name: cloud.lab.cz
24 cache:
25 engine: 'memcached'
26 host: '127.0.0.1'
27 port: 11211
28 prefix: 'CACHE_HORIZON'
Oleksii Chupryn7d3d6482017-03-07 11:23:27 +020029 api_versions:
30 identity: 2
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +020031 identity:
32 engine: 'keystone'
33 host: '127.0.0.1'
34 port: 5000
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +020035 mail:
36 host: '127.0.0.1'
37
38Simple branded horizon
39
Adam Tenglerdbd1f052016-01-25 21:12:26 +010040.. code-block:: yaml
41
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +020042 horizon:
43 server:
44 enabled: true
45 branding: 'OpenStack Company Dashboard'
46 default_dashboard: 'admin'
47 help_url: 'http://doc.domain.com'
48
49Horizon package setup with SSL
50
Adam Tenglerdbd1f052016-01-25 21:12:26 +010051.. code-block:: yaml
52
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +020053 horizon:
54 server:
55 enabled: true
56 secret_key: MEGASECRET
57 version: juno
58 ssl:
59 enabled: true
60 authority: CA_Authority
61 host:
62 name: cloud.lab.cz
63 cache:
64 engine: 'memcached'
65 host: '127.0.0.1'
66 port: 11211
67 prefix: 'CACHE_HORIZON'
Oleksii Chupryn7d3d6482017-03-07 11:23:27 +020068 api_versions:
69 identity: 2
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +020070 identity:
71 engine: 'keystone'
72 host: '127.0.0.1'
73 port: 5000
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +020074 mail:
75 host: '127.0.0.1'
76
77Multi-regional horizon setup
78
Adam Tenglerdbd1f052016-01-25 21:12:26 +010079.. code-block:: yaml
80
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +020081 horizon:
82 server:
83 enabled: true
84 version: juno
85 secret_key: MEGASECRET
86 cache:
87 engine: 'memcached'
88 host: '127.0.0.1'
89 port: 11211
90 prefix: 'CACHE_HORIZON'
Oleksii Chupryn7d3d6482017-03-07 11:23:27 +020091 api_versions:
92 identity: 2
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +020093 identity:
94 engine: 'keystone'
95 host: '127.0.0.1'
96 port: 5000
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +020097 mail:
98 host: '127.0.0.1'
99 regions:
100 - name: cluster1
101 address: http://cluster1.example.com:5000/v2.0
102 - name: cluster2
103 address: http://cluster2.example.com:5000/v2.0
104
105Horizon setup with sensu plugin
106
Adam Tenglerdbd1f052016-01-25 21:12:26 +0100107.. code-block:: yaml
108
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200109 horizon:
110 server:
111 enabled: true
112 version: juno
113 sensu_api:
114 host: localhost
115 port: 4567
Ales Komarek2e7d83b2016-11-22 22:58:12 +0100116 plugin:
117 monitoring:
118 app: horizon_monitoring
119 source:
120 type: git
121 address: git@repo1.robotice.cz:django/horizon-monitoring.git
122 rev: develop
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200123
124Sensu multi API
125
Adam Tenglerdbd1f052016-01-25 21:12:26 +0100126.. code-block:: yaml
127
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200128 horizon:
129 server:
130 enabled: true
131 version: juno
132 sensu_api:
133 dc1:
134 host: localhost
135 port: 4567
136 dc2:
137 host: anotherhost
138 port: 4567
139
Ales Komarek2e7d83b2016-11-22 22:58:12 +0100140Horizon setup with jenkins plugin
141
142.. code-block:: yaml
143
144 horizon:
145 server:
146 enabled: true
147 version: juno
148 jenkins_api:
149 url: https://localhost:8080
150 user: admin
151 password: pwd
152 plugin:
153 jenkins:
154 app: horizon_jenkins
155 source:
156 type: pkg
157
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200158Horizon setup with billometer plugin
159
Adam Tenglerdbd1f052016-01-25 21:12:26 +0100160.. code-block:: yaml
161
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200162 horizon:
163 server:
164 enabled: true
165 version: juno
166 billometer_api:
167 host: localhost
168 port: 9753
169 api_version: 1
Ales Komarek2e7d83b2016-11-22 22:58:12 +0100170 plugin:
171 billing:
172 app: horizon_billing
173 source:
174 type: git
175 address: git@repo1.robotice.cz:django/horizon-billing.git
176 rev: develop
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200177
178Horizon setup with contrail plugin
179
Adam Tenglerdbd1f052016-01-25 21:12:26 +0100180.. code-block:: yaml
181
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200182 horizon:
183 server:
184 enabled: true
185 version: icehouse
Ales Komarek2e7d83b2016-11-22 22:58:12 +0100186 plugin:
187 contrail:
188 app: contrail_openstack_dashboard
189 override: true
190 source:
191 type: git
192 address: git@repo1.robotice.cz:django/horizon-contrail.git
193 rev: develop
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200194
195Horizon setup with sentry log handler
196
Adam Tenglerdbd1f052016-01-25 21:12:26 +0100197.. code-block:: yaml
198
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200199 horizon:
200 server:
201 enabled: true
202 version: juno
203 ...
204 logging:
205 engine: raven
206 dsn: http://pub:private@sentry1.test.cz/2
207
208Multisite with Git source
209-------------------------
210
211Simple Horizon setup from git repository
212
Adam Tenglerdbd1f052016-01-25 21:12:26 +0100213.. code-block:: yaml
214
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200215 horizon:
216 server:
217 enabled: true
218 app:
219 default:
220 secret_key: MEGASECRET
221 source:
222 engine: git
223 address: https://github.com/openstack/horizon.git
224 rev: stable/havana
225 cache:
226 engine: 'memcached'
227 host: '127.0.0.1'
228 port: 11211
229 prefix: 'CACHE_DEFAULT'
Oleksii Chupryn7d3d6482017-03-07 11:23:27 +0200230 api_versions:
231 identity: 2
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200232 identity:
233 engine: 'keystone'
234 host: '127.0.0.1'
235 port: 5000
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200236 mail:
237 host: '127.0.0.1'
238
239Themed multisite setup
240
Adam Tenglerdbd1f052016-01-25 21:12:26 +0100241.. code-block:: yaml
242
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200243 horizon:
244 server:
245 enabled: true
246 app:
247 openstack1c:
248 secret_key: MEGASECRET1
249 source:
250 engine: git
251 address: https://github.com/openstack/horizon.git
252 rev: stable/havana
253 plugin:
254 contrail:
255 app: contrail_openstack_dashboard
256 override: true
257 source:
258 type: git
259 address: git@repo1.robotice.cz:django/horizon-contrail.git
260 rev: develop
261 theme:
262 app: site1_theme
263 source:
264 type: git
265 address: git@repo1.domain.com:django/horizon-site1-theme.git
266 cache:
267 engine: 'memcached'
268 host: '127.0.0.1'
269 port: 11211
270 prefix: 'CACHE_SITE1'
Oleksii Chupryn7d3d6482017-03-07 11:23:27 +0200271 api_versions:
272 identity: 2
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200273 identity:
274 engine: 'keystone'
275 host: '127.0.0.1'
276 port: 5000
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200277 mail:
278 host: '127.0.0.1'
279 openstack2:
280 secret_key: MEGASECRET2
281 source:
282 engine: git
283 address: https://repo1.domain.com/openstack/horizon.git
284 rev: stable/icehouse
285 plugin:
286 contrail:
287 app: contrail_openstack_dashboard
288 override: true
289 source:
290 type: git
291 address: git@repo1.domain.com:django/horizon-contrail.git
292 rev: develop
293 monitoring:
294 app: horizon_monitoring
295 source:
296 type: git
297 address: git@domain.com:django/horizon-monitoring.git
298 rev: develop
299 theme:
300 app: bootswatch_theme
301 source:
302 type: git
303 address: git@repo1.robotice.cz:django/horizon-bootswatch-theme.git
304 rev: develop
305 cache:
306 engine: 'memcached'
307 host: '127.0.0.1'
308 port: 11211
309 prefix: 'CACHE_SITE2'
Oleksii Chupryn7d3d6482017-03-07 11:23:27 +0200310 api_versions:
311 identity: 3
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200312 identity:
313 engine: 'keystone'
314 host: '127.0.0.1'
315 port: 5000
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200316 mail:
317 host: '127.0.0.1'
318
319API versions override
320
Adam Tenglerdbd1f052016-01-25 21:12:26 +0100321.. code-block:: yaml
322
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200323 horizon:
324 server:
325 enabled: true
326 app:
327 openstack_api_overrride:
328 secret_key: MEGASECRET1
329 api_versions:
330 identity: 3
331 volume: 2
332 source:
333 engine: git
334 address: https://github.com/openstack/horizon.git
335 rev: stable/havana
336
337Control dashboard behaviour
338
Adam Tenglerdbd1f052016-01-25 21:12:26 +0100339.. code-block:: yaml
340
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200341 horizon:
342 server:
343 enabled: true
344 app:
345 openstack_dashboard_overrride:
Ales Komarek2e7d83b2016-11-22 22:58:12 +0100346 secret_key: password
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200347 dashboards:
348 settings:
349 enabled: true
350 project:
351 enabled: false
352 order: 10
353 admin:
354 enabled: false
355 order: 20
356 source:
357 engine: git
358 address: https://github.com/openstack/horizon.git
359 rev: stable/juno
360
Alexander Noskov787a8122016-12-07 13:00:49 +0400361Enable WebSSO feature
362
363.. code-block:: yaml
364
365 horizon:
366 server:
367 enabled: true
368 websso:
369 login_url: "WEBROOT + 'auth/login/'"
370 logout_url: "WEBROOT + 'auth/logout/'"
371 websso_choices:
372 - saml2
373 - oidc
374
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200375Read more
376=========
377
378* https://github.com/openstack/horizon
379* http://dijks.wordpress.com/2012/07/06/how-to-change-screen-resolution-of-novnc-client-in-openstack-essex-dashboard-nova-horizon/
Filip Pytloun219343c2017-02-02 13:02:03 +0100380
381Documentation and Bugs
382======================
383
384To learn how to install and update salt-formulas, consult the documentation
385available online at:
386
387 http://salt-formulas.readthedocs.io/
388
389In the unfortunate event that bugs are discovered, they should be reported to
390the appropriate issue tracker. Use Github issue tracker for specific salt
391formula:
392
393 https://github.com/salt-formulas/salt-formula-horizon/issues
394
395For feature requests, bug reports or blueprints affecting entire ecosystem,
396use Launchpad salt-formulas project:
397
398 https://launchpad.net/salt-formulas
399
400You can also join salt-formulas-users team and subscribe to mailing list:
401
402 https://launchpad.net/~salt-formulas-users
403
404Developers wishing to work on the salt-formulas projects should always base
405their work on master branch and submit pull request against specific formula.
406
407 https://github.com/salt-formulas/salt-formula-horizon
408
409Any questions or feedback is always welcome so feel free to join our IRC
410channel:
411
412 #salt-formulas @ irc.freenode.net