forked from openstack/openstack-ansible-os_horizon
/
main.yml
428 lines (361 loc) · 15.9 KB
/
main.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
---
# Copyright 2014, Rackspace US, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
## Verbosity Options
debug: False
# Set the package install state for distribution and pip packages
# Options are 'present' and 'latest'
horizon_package_state: "latest"
horizon_pip_package_state: "latest"
## Toggle developer mode
horizon_developer_mode: false
## The git source/branch for Horizon
horizon_git_repo: https://github.com/b3lab/horizon.git
horizon_git_install_branch: safir/pike
## The git source/branch for the B3LAB Safir Monitor Dashboard plugin
safir_monitor_dashboard_git_repo: https://github.com/b3lab/safir_monitor_dashboard.git
safir_monitor_dashboard_git_install_branch: stable/pike
## The git source/branch for the B3LAB Safir Openstack User Manager
safir_openstack_user_manager_git_repo: https://github.com/b3lab/safir_openstack_user_manager
safir_openstack_user_manager_git_install_branch: safir/pike
## The git source/branch for the B3LAB Safir Email Notifier
safir_email_notifier_git_repo: https://github.com/b3lab/safir_email_notifier
safir_email_notifier__git_install_branch: master
## The git source/branch for the Magnum UI plugin
magnum_dashboard_git_repo: https://github.com/b3lab/magnum-ui
magnum_dashboard_git_install_branch: stable/pike
## The git source/branch for the Sahara UI plugin
sahara_dashboard_git_repo: https://github.com/b3lab/sahara-dashboard
sahara_dashboard_git_install_branch: stable/pike
## The git source/branch for the Designate UI plugin
designate_dashboard_git_repo: https://git.openstack.org/openstack/designate-dashboard
designate_dashboard_git_install_branch: stable/pike
## The git source/branch for the Trove UI plugin
trove_dashboard_git_repo: https://git.openstack.org/openstack/trove-dashboard
trove_dashboard_git_install_branch: stable/pike
## The packages to build from source (used in developer mode)
horizon_developer_constraints:
- "git+{{ horizon_git_repo }}@{{ horizon_git_install_branch }}#egg=horizon"
- "git+{{ magnum_dashboard_git_repo }}@{{ magnum_dashboard_git_install_branch }}#egg=magnum-ui"
- "git+{{ sahara_dashboard_git_repo }}@{{ sahara_dashboard_git_install_branch }}#egg=sahara-dashboard"
- "git+{{ designate_dashboard_git_repo }}@{{ designate_dashboard_git_install_branch }}#egg=designate_dashboard"
- "git+{{ trove_dashboard_git_repo }}@{{ trove_dashboard_git_install_branch }}#egg=trove_dashboard"
- "git+{{ safir_monitor_dashboard_git_repo }}@{{ safir_monitor_dashboard_git_install_branch }}#egg=monitor-dashboard"
- "git+{{ safir_openstack_user_manager_git_repo }}@{{ safir_openstack_user_manager_git_install_branch }}#egg=safir_openstack_user_manager"
- "git+{{ safir_email_notifier_git_repo }}@{{ safir_email_notifier__git_install_branch }}#egg=safir_email_notifier"
# Name of the virtual env to deploy into
horizon_venv_tag: untagged
horizon_bin: "/openstack/venvs/horizon-{{ horizon_venv_tag }}/bin"
# venv_download, even when true, will use the fallback method of building the
# venv from scratch if the venv download fails.
horizon_venv_download: "{{ not horizon_developer_mode | bool }}"
horizon_venv_download_url: http://127.0.0.1/venvs/untagged/ubuntu/horizon.tgz
## System info
horizon_system_user_name: horizon
horizon_system_group_name: horizon
horizon_system_shell: /bin/false
horizon_system_comment: horizon system user
horizon_system_user_home: "/var/lib/{{ horizon_system_user_name }}"
## Service Type and Data
horizon_service_region: RegionOne
horizon_service_name: horizon
## DB info
horizon_galera_database: dash
horizon_galera_user: dash
## Session configuration
# Specifies the timespan in seconds inactivity, until a user is considered as
# logged out
horizon_session_timeout: 1800
## Horizon Help URL Path
horizon_help_url: http://docs.openstack.org
## Installation directories
horizon_lib_dir: "{{ horizon_bin | dirname }}/lib/python2.7/dist-packages"
horizon_lib_wsgi_file: "{{ horizon_lib_dir }}/openstack_dashboard/wsgi/django.wsgi"
horizon_endpoint_type: internalURL
horizon_server_name: "{{ ansible_hostname | default('horizon') }}"
horizon_apache_servertokens: "Prod"
horizon_apache_serversignature: "Off"
horizon_log_level: info
horizon_apache_custom_log_format: combined
horizon_dropdown_max_items: 30
horizon_instance_log_length: 35
horizon_overview_days_range: 1
horizon_images_upload_mode: direct
horizon_images_allow_location: False
horizon_time_zone: UTC
horizon_enforce_password_check: False
horizon_disable_password_reveal: False
horizon_enable_password_retrieve: False
horizon_enable_password_autocomplete: False
horizon_enable_heatstack_user_pass: True
# If nova_libvirt_inject_password is set to True, then this can also be enabled:
horizon_can_set_password: False
horizon_enable_cinder_backup: False
# Enables IPv6 support in Horizon, such as managing network subnets
horizon_enable_ipv6: True
# Disable/Enable simplified floating IP address management for deployments with
# multiple floating IP pools or complex network requirements.
horizon_simple_ip_management: True
# To enable ha router support in horizon set to True
horizon_enable_ha_router: False
# DISALLOW_IFRAME_EMBED can be used to prevent Horizon from being embedded
# within an iframe. Legacy browsers are still vulnerable to a Cross-Frame
# Scripting (XFS) vulnerability, so this option allows extra security hardening
# where iframes are not used in deployment. Default setting is True.
# For more information see:
# http://tinyurl.com/anticlickjack
horizon_disallow_iframe_embed: True
# WSGI tuning parameters
# horizon_wsgi_processes: 4
# horizon_wsgi_threads: 4
## Cap the maximun number of threads / workers when a user value is unspecified.
horizon_wsgi_threads_max: 16
horizon_wsgi_threads: "{{ [[ansible_processor_vcpus|default(2) // 2, 1] | max, horizon_wsgi_threads_max] | min }}"
## Horizon SSL
horizon_ssl_cert: /etc/ssl/certs/horizon.pem
horizon_ssl_key: /etc/ssl/private/horizon.key
horizon_ssl_ca_cert: /etc/ssl/certs/horizon-ca.pem
horizon_ssl_protocol: "{{ ssl_protocol | default('ALL -SSLv2 -SSLv3') }}"
horizon_ssl_cipher_suite: "{{ ssl_cipher_suite | default('ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS') }}"
# if using a self-signed certificate, set this to true to regenerate it
horizon_ssl_self_signed_regen: false
horizon_ssl_self_signed_subject: "/C=US/ST=Texas/L=San Antonio/O=IT/CN={{ horizon_server_name }}/subjectAltName=IP.1={{ external_lb_vip_address }}"
# Set these variables to deploy custom certificates
# horizon_user_ssl_cert: <path to cert on ansible deployment host>
# horizon_user_ssl_key: <path to cert on ansible deployment host>
# horizon_user_ssl_ca_cert: <path to cert on ansible deployment host>
# Set this to True if you do ssl termination on an external device, like the
# load balancer
horizon_external_ssl: false
# Set this to the header that your device sets when doing ssl termination
horizon_secure_proxy_ssl_header: "X-Forwarded-Proto"
horizon_secure_proxy_ssl_header_django: "HTTP_{{ horizon_secure_proxy_ssl_header | replace('-', '_') | upper }}"
# For multiple regions uncomment this configuration, and
# add the extra endpoints below the first list item.
# horizon_available_regions:
# - { url: "{{ keystone_service_internalurl }}", name: "{{ keystone_service_region }}" }
# - { url: "http://cluster1.example.com:5000/v2.0", name: "RegionTwo" }
## Horizon's keystone endpoint settings
horizon_keystone_host: "{{ internal_lb_vip_address }}"
horizon_keystone_endpoint: "{{ keystone_service_internalurl }}"
## Horizon Multi-Domain Support
# these variables should only be changed if horizon_keystone_endpoint is a Keystone v3 API endpoint
horizon_keystone_multidomain_support: False
horizon_keystone_default_domain: Default
### Set the cacert pem for Keystone if you'd like Horizon to verify it.
# horizon_cacert_pem: /path/to/cacert.pem
## alternatively, you can set horizon to turn off ssl verification for Keystone
horizon_ssl_no_verify: "{{ (keystone_service_adminuri_insecure | bool or keystone_service_internaluri_insecure | bool) | default(false) }}"
## The role which Horizon should use as a default for users
horizon_default_role_name: _member_
## Launch instance
horizon_launch_instance_legacy: False
horizon_launch_instance_ng: True
horizon_launch_instance_defaults:
config_drive: False
enable_scheduler_hints: True
disable_image: False
disable_instance_snapshot: False
disable_volume: False
disable_volume_snapshot: False
create_volume: True
## Ironic UI Panel
horizon_enable_ironic_ui: False
## Magnum UI Panel
horizon_enable_magnum_ui: False
## Sahara UI Panel
horizon_enable_sahara_ui: False
## Trove UI Panel
horizon_enable_trove_ui: False
## Designate UI Panel
horizon_enable_designate_ui: False
## Neutron features to enable
horizon_enable_neutron_lbaas: False
horizon_enable_neutron_fwaas: False
horizon_enable_neutron_vpnaas: False
## Safir Monitor UI Panel
horizon_enable_safir_monitor_dashboard : True
## Swift
horizon_swift_file_transfer_chunk_size: 524288
## Panel
horizon_default_panel: overview
# For blacklisting certain Nova extensions uncomment this configuration,
# and add necessary list items.
# horizon_nova_extensions_blacklist:
# - "SimpleTenantUsage"
## Customization module
## See http://docs.openstack.org/developer/horizon/topics/customizing.html#horizon-customization-module-overrides
# horizon_customization_module: /local/path/to/customization_module.py
## Replace default theme files with your own
# horizon_custom_uploads:
# logo:
# src: "path_on_deployment_host_of_your_custom_logo.svg"
# dest: "img/logo.svg"
# logo_splash:
# src: "path_on_deployment_host_of_your_custom_logo-splash.svg"
# dest: "img/logo-splash.svg"
_horizon_available_themes:
default:
theme_name: "default"
theme_label: "Default"
theme_path: "themes/default"
material:
theme_name: "material"
theme_label: "Material"
theme_path: "themes/material"
# Add custom themes. Deployers need to place the theme directories
# and files on the horizon containers in:
# {{ horizon_lib_dir }}/openstack_dashboard/themes
# See http://docs.openstack.org/developer/horizon/topics/customizing.html#themes
# for more details on custom themes
# Example:
#
# horizon_custom_themes:
# custom_theme:
# theme_name: "custom"
# theme_label: "Custom"
# theme_path: "themes/custom"
#
horizon_custom_themes: {}
# Which of the available themes will be used by default
# value is the theme_name from the vars above
horizon_default_theme: "default"
horizon_webroot: /
horizon_listen_ports:
- "80"
- "443"
# horizon packages that must be installed before anything else
horizon_requires_pip_packages:
- virtualenv
- virtualenv-tools
- python-keystoneclient # Keystoneclient needed to OSA keystone lib
- httplib2
horizon_pip_packages:
- git+https://github.com/b3lab/safir_monitor_dashboard.git@stable/pike#egg=monitor-dashboard
- git+https://github.com/b3lab/safir_openstack_user_manager@safir/pike#egg=safir_openstack_user_manager
- git+https://github.com/b3lab/safir_email_notifier@master#egg=safir_email_notifier
- git+https://github.com/b3lab/django_openstack_auth@safir/pike#egg=django_openstack_auth
- cryptography
- django-appconf
- greenlet
- git+https://github.com/b3lab/horizon.git@safir/pike#egg=horizon
- git+https://github.com/b3lab/magnum-ui@stable/pike#egg=magnum-ui
- git+https://github.com/b3lab/sahara-dashboard@stable/pike#egg=sahara-dashboard
- ironic-ui
- keystonemiddleware
- MySQL-python
- PyMySQL
- neutron-lbaas-dashboard
- oslo.config
- ply
- python-memcached
- python-keystoneclient
- trove_dashboard
- designate_dashboard
- aodhclient
- gnocchiclient
- python_cloudkittyclient
- itsdangerous
- Pint>=0.5
- django-babel>=0.5.1 # BSD
- django-compressor>=2.0 # MIT
- django-pyscss>=2.0.2 # BSD License (2 clause)
- futurist!=0.15.0,>=0.11.0 # Apache-2.0
- iso8601>=0.1.11 # MIT
- netaddr!=0.7.16,>=0.7.13 # BSD
- oslo.concurrency>=3.8.0 # Apache-2.0
- oslo.i18n!=3.15.2,>=2.1.0 # Apache-2.0
- oslo.policy>=1.23.0 # Apache-2.0
- oslo.serialization!=2.19.1,>=1.10.0 # Apache-2.0
- oslo.utils>=3.20.0 # Apache-2.0
- osprofiler>=1.4.0 # Apache-2.0
- pymongo!=3.1,>=3.0.2 # Apache-2.0
- pyScss!=1.3.5,>=1.3.4 # MIT License
- python-cinderclient>=3.1.0 # Apache-2.0
- python-glanceclient>=2.8.0 # Apache-2.0
- python-heatclient>=1.6.1 # Apache-2.0
- python-neutronclient>=6.3.0 # Apache-2.0
- python-novaclient>=9.0.0 # Apache-2.0
- python-swiftclient>=3.2.0 # Apache-2.0
- pytz>=2013.6 # MIT
- PyYAML>=3.10.0 # MIT
- semantic-version>=2.3.1 # BSD
- six>=1.9.0 # MIT
- XStatic>=1.0.0 # MIT License
- XStatic-Angular>=1.5.8.0 # MIT License
- XStatic-Angular-Bootstrap>=2.2.0.0 # MIT License
- XStatic-Angular-FileUpload>=12.0.4.0 # MIT License
- XStatic-Angular-Gettext>=2.3.8.0 # MIT License
- XStatic-Angular-lrdragndrop>=1.0.2.2 # MIT License
- XStatic-Angular-Schema-Form>=0.8.13.0 # MIT
- XStatic-Bootstrap-Datepicker>=1.3.1.0 # Apache 2.0 License
- XStatic-Bootstrap-SCSS>=3.3.7.1 # Apache 2.0 License
- XStatic-bootswatch>=3.3.7.0 # MIT License
- XStatic-D3>=3.5.17.0 # BSD License (3 clause)
- XStatic-Hogan>=2.0.0.2 # Apache 2.0 License
- XStatic-Font-Awesome>=4.7.0 # SIL OFL 1.1 License, MIT License
- XStatic-Jasmine>=2.4.1.1 # MIT License
- XStatic-jQuery>=1.8.2.1 # MIT License
- XStatic-JQuery-Migrate>=1.2.1.1 # MIT License
- XStatic-JQuery.quicksearch>=2.0.3.1 # MIT License
- XStatic-JQuery.TableSorter>=2.14.5.1 # MIT License
- XStatic-jquery-ui>=1.10.4.1 # MIT License
- XStatic-JSEncrypt>=2.3.1.1 # MIT License
- XStatic-mdi>=1.4.57.0 # SIL OPEN FONT LICENSE Version 1.1
- XStatic-objectpath>=1.2.1.0 # MIT
- XStatic-Rickshaw>=1.5.0.0 # BSD License (prior)
- XStatic-roboto-fontface>=0.5.0.0 # Apache 2.0 License
- XStatic-smart-table>=1.4.13.2 # MIT License
- XStatic-Spin>=1.2.5.2 # MIT License
- XStatic-term.js>=0.0.7.0 # MIT License
- XStatic-tv4>=1.2.7.0 # MI
# This variable is used to install additional pip packages
# that could be needed for additional dashboards
horizon_optional_pip_packages: []
# This variable is used to update the horizon translations from
# Zanata, this can be set to "True" when testing translations,
# but should otherwise be left as False.
horizon_translations_update: False
# This variable is used by the repo_build process to determine
# which host group to check for members of before building the
# pip packages required by this role. The value is picked up
# by the py_pkgs lookup.
horizon_role_project_group: horizon_all
# Set arbitrary horizon configuration options
horizon_config_overrides: {}
horizon_email_host: ''
horizon_email_port: 587
horizon_email_host_user: ''
horizon_email_host_password: ''
horizon_email_use_TLS: True
#Defining network settings on b3lab horizon
openstack_ext_net: 'provider'
openstack_dns_servers: '8.8.8.8'
openstack_default_subnet_cidr: '10.0.0.0/24'
openstack_default_gateway_ip: '10.0.0.1'
horizon_token_secret_key: 'secret'
horizon_token_security_password_salt: 'secret'
#please do not change this
cloud_config_name: 'default'
#AODH action settings on b3lab safir monitor dashboard
AODH_alarm_actions: 'None'
AODH_ok_actions: 'None'
horizon_domain_url: {{ external_lb_vip_address }} + WEBROOT
horizon_signup_url: WEBROOT + 'auth/register/'
horizon_keystone_admin_roles:
- admin
# Set the "credentials" authentication choice to show as default.
# The list of authentication mechanisms which include keystone
# federation protocols and identity provider/federation protocol
horizon_websso_initial_choice: "credentials"