blob: ebe58a71802f714749f4bf1935af0d7f5da546e9 [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'
29 identity:
30 engine: 'keystone'
31 host: '127.0.0.1'
32 port: 5000
33 api_version: 2
34 mail:
35 host: '127.0.0.1'
36
37Simple branded horizon
38
Adam Tenglerdbd1f052016-01-25 21:12:26 +010039.. code-block:: yaml
40
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +020041 horizon:
42 server:
43 enabled: true
44 branding: 'OpenStack Company Dashboard'
45 default_dashboard: 'admin'
46 help_url: 'http://doc.domain.com'
47
48Horizon package setup with SSL
49
Adam Tenglerdbd1f052016-01-25 21:12:26 +010050.. code-block:: yaml
51
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +020052 horizon:
53 server:
54 enabled: true
55 secret_key: MEGASECRET
56 version: juno
57 ssl:
58 enabled: true
59 authority: CA_Authority
60 host:
61 name: cloud.lab.cz
62 cache:
63 engine: 'memcached'
64 host: '127.0.0.1'
65 port: 11211
66 prefix: 'CACHE_HORIZON'
67 identity:
68 engine: 'keystone'
69 host: '127.0.0.1'
70 port: 5000
71 api_version: 2
72 mail:
73 host: '127.0.0.1'
74
75Multi-regional horizon setup
76
Adam Tenglerdbd1f052016-01-25 21:12:26 +010077.. code-block:: yaml
78
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +020079 horizon:
80 server:
81 enabled: true
82 version: juno
83 secret_key: MEGASECRET
84 cache:
85 engine: 'memcached'
86 host: '127.0.0.1'
87 port: 11211
88 prefix: 'CACHE_HORIZON'
89 identity:
90 engine: 'keystone'
91 host: '127.0.0.1'
92 port: 5000
93 api_version: 2
94 mail:
95 host: '127.0.0.1'
96 regions:
97 - name: cluster1
98 address: http://cluster1.example.com:5000/v2.0
99 - name: cluster2
100 address: http://cluster2.example.com:5000/v2.0
101
102Horizon setup with sensu plugin
103
Adam Tenglerdbd1f052016-01-25 21:12:26 +0100104.. code-block:: yaml
105
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200106 horizon:
107 server:
108 enabled: true
109 version: juno
110 sensu_api:
111 host: localhost
112 port: 4567
Ales Komarek2e7d83b2016-11-22 22:58:12 +0100113 plugin:
114 monitoring:
115 app: horizon_monitoring
116 source:
117 type: git
118 address: git@repo1.robotice.cz:django/horizon-monitoring.git
119 rev: develop
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200120
121Sensu multi API
122
Adam Tenglerdbd1f052016-01-25 21:12:26 +0100123.. code-block:: yaml
124
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200125 horizon:
126 server:
127 enabled: true
128 version: juno
129 sensu_api:
130 dc1:
131 host: localhost
132 port: 4567
133 dc2:
134 host: anotherhost
135 port: 4567
136
Ales Komarek2e7d83b2016-11-22 22:58:12 +0100137Horizon setup with jenkins plugin
138
139.. code-block:: yaml
140
141 horizon:
142 server:
143 enabled: true
144 version: juno
145 jenkins_api:
146 url: https://localhost:8080
147 user: admin
148 password: pwd
149 plugin:
150 jenkins:
151 app: horizon_jenkins
152 source:
153 type: pkg
154
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200155Horizon setup with billometer plugin
156
Adam Tenglerdbd1f052016-01-25 21:12:26 +0100157.. code-block:: yaml
158
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200159 horizon:
160 server:
161 enabled: true
162 version: juno
163 billometer_api:
164 host: localhost
165 port: 9753
166 api_version: 1
Ales Komarek2e7d83b2016-11-22 22:58:12 +0100167 plugin:
168 billing:
169 app: horizon_billing
170 source:
171 type: git
172 address: git@repo1.robotice.cz:django/horizon-billing.git
173 rev: develop
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200174
175Horizon setup with contrail plugin
176
Adam Tenglerdbd1f052016-01-25 21:12:26 +0100177.. code-block:: yaml
178
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200179 horizon:
180 server:
181 enabled: true
182 version: icehouse
Ales Komarek2e7d83b2016-11-22 22:58:12 +0100183 plugin:
184 contrail:
185 app: contrail_openstack_dashboard
186 override: true
187 source:
188 type: git
189 address: git@repo1.robotice.cz:django/horizon-contrail.git
190 rev: develop
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200191
192Horizon setup with sentry log handler
193
Adam Tenglerdbd1f052016-01-25 21:12:26 +0100194.. code-block:: yaml
195
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200196 horizon:
197 server:
198 enabled: true
199 version: juno
200 ...
201 logging:
202 engine: raven
203 dsn: http://pub:private@sentry1.test.cz/2
204
205Multisite with Git source
206-------------------------
207
208Simple Horizon setup from git repository
209
Adam Tenglerdbd1f052016-01-25 21:12:26 +0100210.. code-block:: yaml
211
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200212 horizon:
213 server:
214 enabled: true
215 app:
216 default:
217 secret_key: MEGASECRET
218 source:
219 engine: git
220 address: https://github.com/openstack/horizon.git
221 rev: stable/havana
222 cache:
223 engine: 'memcached'
224 host: '127.0.0.1'
225 port: 11211
226 prefix: 'CACHE_DEFAULT'
227 identity:
228 engine: 'keystone'
229 host: '127.0.0.1'
230 port: 5000
231 api_version: 2
232 mail:
233 host: '127.0.0.1'
234
235Themed multisite setup
236
Adam Tenglerdbd1f052016-01-25 21:12:26 +0100237.. code-block:: yaml
238
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200239 horizon:
240 server:
241 enabled: true
242 app:
243 openstack1c:
244 secret_key: MEGASECRET1
245 source:
246 engine: git
247 address: https://github.com/openstack/horizon.git
248 rev: stable/havana
249 plugin:
250 contrail:
251 app: contrail_openstack_dashboard
252 override: true
253 source:
254 type: git
255 address: git@repo1.robotice.cz:django/horizon-contrail.git
256 rev: develop
257 theme:
258 app: site1_theme
259 source:
260 type: git
261 address: git@repo1.domain.com:django/horizon-site1-theme.git
262 cache:
263 engine: 'memcached'
264 host: '127.0.0.1'
265 port: 11211
266 prefix: 'CACHE_SITE1'
267 identity:
268 engine: 'keystone'
269 host: '127.0.0.1'
270 port: 5000
271 api_version: 2
272 mail:
273 host: '127.0.0.1'
274 openstack2:
275 secret_key: MEGASECRET2
276 source:
277 engine: git
278 address: https://repo1.domain.com/openstack/horizon.git
279 rev: stable/icehouse
280 plugin:
281 contrail:
282 app: contrail_openstack_dashboard
283 override: true
284 source:
285 type: git
286 address: git@repo1.domain.com:django/horizon-contrail.git
287 rev: develop
288 monitoring:
289 app: horizon_monitoring
290 source:
291 type: git
292 address: git@domain.com:django/horizon-monitoring.git
293 rev: develop
294 theme:
295 app: bootswatch_theme
296 source:
297 type: git
298 address: git@repo1.robotice.cz:django/horizon-bootswatch-theme.git
299 rev: develop
300 cache:
301 engine: 'memcached'
302 host: '127.0.0.1'
303 port: 11211
304 prefix: 'CACHE_SITE2'
305 identity:
306 engine: 'keystone'
307 host: '127.0.0.1'
308 port: 5000
309 api_version: 3
310 mail:
311 host: '127.0.0.1'
312
313API versions override
314
Adam Tenglerdbd1f052016-01-25 21:12:26 +0100315.. code-block:: yaml
316
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200317 horizon:
318 server:
319 enabled: true
320 app:
321 openstack_api_overrride:
322 secret_key: MEGASECRET1
323 api_versions:
324 identity: 3
325 volume: 2
326 source:
327 engine: git
328 address: https://github.com/openstack/horizon.git
329 rev: stable/havana
330
331Control dashboard behaviour
332
Adam Tenglerdbd1f052016-01-25 21:12:26 +0100333.. code-block:: yaml
334
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200335 horizon:
336 server:
337 enabled: true
338 app:
339 openstack_dashboard_overrride:
Ales Komarek2e7d83b2016-11-22 22:58:12 +0100340 secret_key: password
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200341 dashboards:
342 settings:
343 enabled: true
344 project:
345 enabled: false
346 order: 10
347 admin:
348 enabled: false
349 order: 20
350 source:
351 engine: git
352 address: https://github.com/openstack/horizon.git
353 rev: stable/juno
354
Alexander Noskov787a8122016-12-07 13:00:49 +0400355Enable WebSSO feature
356
357.. code-block:: yaml
358
359 horizon:
360 server:
361 enabled: true
362 websso:
363 login_url: "WEBROOT + 'auth/login/'"
364 logout_url: "WEBROOT + 'auth/logout/'"
365 websso_choices:
366 - saml2
367 - oidc
368
Filip Pytlounf8a1d5b2015-10-06 16:28:32 +0200369Read more
370=========
371
372* https://github.com/openstack/horizon
373* 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 +0100374
375Documentation and Bugs
376======================
377
378To learn how to install and update salt-formulas, consult the documentation
379available online at:
380
381 http://salt-formulas.readthedocs.io/
382
383In the unfortunate event that bugs are discovered, they should be reported to
384the appropriate issue tracker. Use Github issue tracker for specific salt
385formula:
386
387 https://github.com/salt-formulas/salt-formula-horizon/issues
388
389For feature requests, bug reports or blueprints affecting entire ecosystem,
390use Launchpad salt-formulas project:
391
392 https://launchpad.net/salt-formulas
393
394You can also join salt-formulas-users team and subscribe to mailing list:
395
396 https://launchpad.net/~salt-formulas-users
397
398Developers wishing to work on the salt-formulas projects should always base
399their work on master branch and submit pull request against specific formula.
400
401 https://github.com/salt-formulas/salt-formula-horizon
402
403Any questions or feedback is always welcome so feel free to join our IRC
404channel:
405
406 #salt-formulas @ irc.freenode.net