Commit Graph

193 Commits

Author SHA1 Message Date
Zuul ae8f6f9f19 Merge "Detect OVN VPNaaS installation" 2024-04-02 17:20:30 +00:00
Andrew Bonney ec4b2b48f6 Use overridable URL for github rather than hard-coding
For isolated deployments which use mirrors it is necessary
to be able to override the github.com URL currently used
in horizon_pip_packages

Change-Id: I767b921dd9114fb6afa6a93d80e3927da481e5ae
2024-03-28 15:35:42 +00:00
Dmitriy Rabotyagov d6da9a947f Detect OVN VPNaaS installation
Since plugin name has changed for OVN, we need to count for it when
deciding if panel should be enabled or not.

Change-Id: Id0923a497e751350c9308726ccbb85b6aa6c36c4
2024-03-08 12:00:22 +00:00
Dmitriy Rabotyagov a57aeff938 Address Django Deprecations for 4.1
django.utils.translation.ugettext_lazy() is deprecated in favor of the
functions that they’re aliases for: django.utils.translationgettext_lazy()

With that MemcachedCache backend was also deprecated in favor of
PyMemcacheCache. MemcachedCache was removed in django 4.1

https: //docs.djangoproject.com/en/4.0/releases/3.0/#id3
Change-Id: I9b77b33fbc4a9560c72504f935bf7f9082fefdd7
2024-03-08 12:58:52 +01:00
Dmitriy Rabotyagov d4ef66fc02 Override pyScss version with a bugfixed one
In order to compress static files against pyhton 3.11 a fixed version
with fixed regexp in pyScss is needed. While fix is merged, pyScss is
not tagged/released yet.
While this required only for Debian12, it will work nicely also with older
python versions, since there're almost no changes in the package.

instead of building based on SHA.

Change-Id: I76f945310b70c1b081800c5ba0ec922795b60a73
2023-10-17 06:32:59 +00:00
Dmitriy Rabotyagov 5d635c469a Fix wrong neutron_ml2_drivers_type
neutron_ml2_drivers_type is a string, not a list, while default
value for it is a list. Local settings also assume that it is a list.

So we ensure that the falue is a string by default now and
treat it as string in the code.

Change-Id: Ida72c712153dcda4cd06e0959f98ade4fee8dfbd
2023-08-21 19:55:26 +00:00
Dmitriy Rabotyagov b9cc0f3cde Stop reffering _member_ role
Keystone has stopped providing or reffering `_member_` role for a while,
thus role should not be refferenced anymore.

Moreover, with 2023.1 service policies have dropped `_member_`
which resulted in the role to be insufficient for basic operations.

Change-Id: I99bf418c6cb93d5f3cafc818a8cc876a49fb0357
Related-Bug: #2029486
2023-08-15 13:08:36 +02:00
Dmitriy Rabotyagov a4ecbfc6dc Fix linters and metadata
With update of ansible-lint to version >=6.0.0 a lot of new
linters were added, that enabled by default. In order to comply
with linter rules we're applying changes to the role.

With that we also update metdata to reflect current state.

Change-Id: I40ff3ec0393bf90836d943fc09e74d6a5f207b48
2023-07-17 10:25:45 +02:00
Damian Dabrowski db7110d297 Add PKI support to horizon backends
Replace legacy SSL support with ansible-role-pki.
It is used to generate required TLS certificates if needed.

Depends-On: https://review.opendev.org/c/openstack/openstack-ansible/+/879085

Change-Id: Id2f9d6f911cee6e58c261c1a68c34a37ab9ced4f
2023-04-29 18:37:24 +02:00
Damian Dabrowski 4686326650 Rename horizon_enable_ssl to horizon_backend_ssl
To standarize variable name across roles, this change renames
`horizon_enable_ssl` to `horizon_backend_ssl`.
All other roles use `<service>_backend_ssl` format.
It also better describes what it does. With `horizon_enable_ssl` it's
unclear whether it is about frontend or backend.

Backward compatibility will be kept until 2024.1.

Change-Id: I218d45b7be667732e4204316b8d18fa3e136962b
2023-04-11 19:35:19 +02:00
Damian Dabrowski 9c07e79890 Change default value for horizon_enable_ssl
`horizon_enable_ssl` is responsible for enabling TLS on horizon backend.
It defaults to `haproxy_ssl` which is generally used to enable TLS on
haproxy frontends.
It is more reasonable to disable it by default as it's done for other
services.
This patch does not change current behavior in gating as backend TLS
works only with horizon_external_ssl=False(while it's set to True by
default).
It also does not affect behavior of horizon's haproxy frontend
encryption.

Change-Id: I8f207426c9dc5bcefdec42c0bfc0f5f0376509a3
2023-04-08 00:01:54 +00:00
Dmitriy Rabotyagov e61dab9a05 Allow to override supported_provider_types
Supported ML2 provided types depends on the ML2 driver
and we should make it configurable in order to reflect dropdown list
that appears for admin panel while creating a network.

Closes-Bug: #2002897
Change-Id: Iceedf6af9559d48c28e0ee782a44f9ceb480119d
2023-01-17 13:55:01 +01:00
Jonathan Rosser a20dfea4cf Install ironic-ui from git source rather than a pip package
This patch changes the horizon ironic dashboard to be installed from
git sources like all of the other dashboards in an openstack-ansible
deployment.

Without this change the package installed from pypi is always the
latest released version and not aligned with the release
being deployed with openstack-ansible. This will potentially
cause the horizon service to fail to start if there is a severe
mismatch between horizon and ironic-ui.

Change-Id: I4dd03f3cd13878dafb621c70dd44a4fd0ff99ae3
2022-11-25 13:08:23 +00:00
Kevin Carter 8f8a84f15c Add uwsgi option to horizon
This change provides the horizon role the ability to deploy its services
using uWSGI instead of apache. This feature produces a minimal horizon
deployment which is perfectly functional in cases where capabilities
like federation and SSL terminated all the way through are not needed.

Change-Id: I457a111511543731746d868ae7f7184743e5703b
Signed-off-by: Kevin Carter <kevin@cloudnull.com>
2022-09-21 01:18:34 +00:00
Kevin Carter 10126daa9c Add the ability to define CSRF_TRUSTED_ORIGINS
This change adds the ability within horizon to define a list of domains
which are trusted through the CSRF functions of django.

Change-Id: Ib92480e6caa74e050a99b36a54b2032714efb509
Signed-off-by: Kevin Carter <kevin@cloudnull.com>
2022-09-08 00:02:00 -05:00
Zuul 24ce4641bc Merge "Add support for websso http referer variable added in yoga" 2022-08-12 12:00:23 +00:00
Andrew Bonney 2814ae269d tls1.2: update ciphers to latest recommendations
Based upon usual recommendations from:
https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/

Change-Id: Ic7bd2c04e850f31952493163c2a4050909b38388
2022-08-05 10:45:23 +01:00
Andrew Bonney 694169c700 Add support for websso http referer variable added in yoga
This variable was added in the Yoga release to permit changes
to how Horizon contacts Keystone in an IDP setup.

Change-Id: I959f0f84b264ffc25481e9becb3059f28a233010
2022-08-03 08:50:14 +01:00
Dmitriy Rabotyagov 2c9f231d6a Release pyscss constraints
With [1] pyscss version was bumped to 1.4.0. With that horizon also
requires pyscss>=1.4.0 which means there's no need to additionally
constraint it.

We also temporary disable all functional jobs to resolve circular
dependency.

Needed-By: https://review.opendev.org/c/openstack/openstack-ansible/+/847272
[1] 4fa5acc415

Change-Id: I5676d358d1ec38904fc067ab5f14711358f6031c
2022-07-05 07:17:48 +00:00
Zuul aa9468459f Merge "Override pyScss version for python3.10" 2022-05-04 15:15:09 +00:00
Jonathan Rosser 39c6022bf6 Override pyScss version for python3.10
Openstack upper-constraints for the Yoga release does not specify
a version of pyScss which is compatible with python3.10, this only
starts to happen with the Zed release.

To obtain experimental support for Ubuntu Jammy with the Yoga
release we adjust the upper-constraints to describe a python3.10
compatible version of pyScss.

Change-Id: I04b7b8bc2c8e666f155cccf58bd920ee7d699d72
2022-05-03 09:11:02 +01:00
Zuul 1ed0cea42a Merge "Improve defining horizon_lib_dir" 2022-04-27 19:10:47 +00:00
Jonathan Herlin 51bea10951 Disable barbican-ui dashboard
barbican-ui has not yet reached a 1.0.0 release and does not provide
a functioning UI for the key manager service at this time.

Once barbican-ui has basic functionality we can consider enabling this again.

Change-Id: I9fc9147263881cc96f8e51b739d2ccf6f1f9fbf9
2022-02-07 14:52:31 +01:00
Dmitriy Rabotyagov 3c20e3607e Improve defining horizon_lib_dir
Instead of hardcoding lib directory for distro installs, we can
retrieve it dynamically based on the horizon.__file__ output

Change-Id: I8e87f9a9945b7526c90ca8c4dc09e43a86ab62e0
Closes-Bug: #1950798
2022-02-04 11:40:17 +00:00
Zuul aa976a0544 Merge "Fix default multidomain choices" 2022-01-26 17:01:19 +00:00
Dmitriy Rabotyagov db1bd3091d Fix default multidomain choices
We're missing comma at the end of set, which leads to error.

We additionally define condition when choices will be added to config.

Change-Id: I6b1c24fae22e9adb9e16fade4229d5761ac0b520
Closes-Bug: #1958645
2022-01-25 22:28:29 +00:00
Andrew Bonney 32e332b329 Adjust default configuration to support TLS v1.3
This adds a new variable to manage TLS v1.3 cipher suites.

The old variable for TLS v1.2 and below ciphers is renamed for
consistency, but is still supported as a default where overridden
by deployments.

Depends-On: https://review.opendev.org/c/openstack/openstack-ansible/+/823943
Change-Id: Ib43d465c8fa24ec7d14174ecc17bce0b3e8bd7a4
2022-01-10 13:47:50 +00:00
Dmitriy Rabotyagov 2447deec62 Add option to override horizon policies
In case policies are overriden for services,
horizon maintain and ship it's own set of policies that should be
separatelly overriden.

Depends-On: https://review.opendev.org/754382
Change-Id: I7099a5b11390d3296c7b4bb74d69670c7fe64f58
2021-08-20 11:16:04 +00:00
Zuul 87205757c6 Merge "Implement WEBSSO redirect" 2021-04-20 16:45:06 +00:00
Dmitriy Rabotyagov 3b0abcbcd3 Implement WEBSSO redirect
This patch adds ability to configure horizon auto redirections when
WEBSSO is used.

Depends-On: https://review.opendev.org/c/openstack/openstack-ansible/+/785800
Change-Id: I2a1beddaed3a31d1c01d1310dc8b739c9c93d9dd
Closes-Bug: #1922687
2021-04-19 14:44:33 +00:00
Jonathan Herlin 0634bf19b4 Add adjutant dashboard
Depends-On: Ibd11a9c12c924b8e51b42fe4c8879baa25d410f4
Change-Id: I13fc2417e234cd3312fa741ab91c59d8cc970b38
2021-04-01 14:40:05 +02:00
Zuul e3a57e288a Merge "Add hide_create_volume option to defaults" 2021-03-11 23:45:12 +00:00
Jonathan Rosser 7c799e96e0 Switch default virtualenv to python3
Change-Id: I17cd0f7fad5b90516a81bf36030cdb9cdf13f8c9
2021-03-10 08:53:23 +00:00
Jonathan Rosser 9c8062fb51 Use ansible_facts[] instead of fact variables
See https://github.com/ansible/ansible/issues/73654

Change-Id: Ia8eca0c54079f96f1160ac88670392794e7f747a
2021-02-26 22:53:36 +00:00
Erik Berg d7fdb694ac Add hide_create_volume option to defaults
If you were ever looking for a way to hide this button, the
feature was added in Stein, via https://review.opendev.org/c/openstack/horizon/+/605813

The default is False, and astute users will see this setting and
override it in their user_variables.yml if needed.

Change-Id: I293c3a8e806f7af3b540afa3d2040ec73e925008
2021-02-24 11:17:14 +01:00
Jonathan Rosser 8e712e93b5 Install barbican-ui when the barbican service is deployed
Change-Id: Id2c7ecdcbd276c9057816c7049dd1a25864b1a32
2021-02-12 17:18:49 +00:00
Jonathan Rosser bd81eb7290 Move horizon pip packages from constraints to requirements
This is necessary to support the new pip resolver.

Depends-On: I9be6bbf4a29a4da2ddf96dc0336bc2a7d8ec9281
Depends-On: I49c75dd11d6c4e8d37fe013b7ffdfd56ff193fcd
Change-Id: Ibab50a351d5e14bfc993884036c27cc3f2eee424
2021-01-26 17:20:11 +00:00
Dmitriy Rabotyagov bb300f75d9 Use global service variables
Instead of overriding each service separatelly it might make
sense for deployers to define some higher level variable that
will be used first or fallback to default variable.

Change-Id: Ib652b5cf4f8fb7066ca3e29222ed7b4949d073f8
2021-01-08 17:07:54 +02:00
Marc Gariepy 8e3570e002 Add ability to configure ALLOWED_HOSTS for horizon.
This patch add the ability to configure the ALLOWED_HOSTS in
horizon_local_settings.py.

Depends-On: https://review.opendev.org/c/openstack/openstack-ansible-repo_server/+/766257
Change-Id: I9712dc1e9a41757cf71d3d0704e9885493ce1583
2020-12-09 13:37:16 -05:00
gugug fe00ea83d0 Remove the neutron-fwaas since it retired
Depends-On: I561504160e5548c54d1af31821c3366ab34cf0ec
Change-Id: Ib03f3d25a2b28fc7a856a1838440acfd4d7656e4
2020-06-20 12:13:25 +00:00
Dmitriy Rabotyagov 657648b033 Add octavia version to constraints
As we do octavia dashboard bumps, we should provide it's specific version
as a constraint while creating venv

Change-Id: Ie02ef3dd6180128645e4932d50b489f399ea440d
Closes-bug: 1881874
2020-06-10 18:53:31 +03:00
Dmitriy Rabotyagov e7e94e786f Cleanup after repo_build and pip_install retirement
Change-Id: I07f892d2be98338defc355260c572c2bb0f7f147
2020-05-12 23:36:43 +03:00
Dmitriy Rabotyagov 9678045a70 Use horizon native wsgi app
The only difference between our and native wsgi app
were adding extra path [1] to sys.path.
However, nowadays this path is already part of syspath

[1] /openstack/venvs/horizon-20.1.1.dev7/lib/python3.6

Change-Id: I90a502fbdeb0040832b66e9df389ab3517b951f4
2020-05-06 10:48:09 +03:00
Zuul 124d7aca73 Merge "[doc] Add description to horizon_images_upload_mode" 2020-04-14 11:24:09 +00:00
Zuul dfce587e72 Merge "Horizon configuration to support domains dropdown" 2020-04-10 22:25:18 +00:00
Dmitriy Rabotyagov abbfeb0529 [doc] Add description to horizon_images_upload_mode
Change-Id: Ic670e4e5070df748e9f0b2e23630ffe60cc87bab
Closes-Bug: #1815631
2020-04-08 19:09:41 +03:00
Max Kochubey d86285b377 Horizon configuration to support domains dropdown
An openstack-ansible deployment does not have options to set the local_settings.py params
for Horizon to support Keystone V3 multiple domains dropdown menu and its variants to choose.

These options in local_settings.py are:
OPENSTACK_KEYSTONE_DOMAIN_CHOICES - default value to "(('Default', 'Default'))"

Change-Id: I9f1b8e4c6f5b4fe2601e5ee1dacf90bded60f93d
Closes-Bug: 1795788
2020-04-07 17:24:11 +03:00
Zuul 81bf5ed316 Merge "Add murano-dashboard" 2020-03-26 01:47:56 +00:00
Dmitriy Rabotyagov 61caabf325 Add murano-dashboard
This patch adds deployement of murano-dashboard to horizon,
once `horizon_enable_murano_ui` variable is set to True.

Depends-On: https://review.opendev.org/710773
Change-Id: I9a2f1920611ca8ad2b2f2cdb625281132b968ec2
2020-03-25 20:06:28 +00:00
Guilherme Steinmüller 68fc70ef04 Refactor memcached_servers
This patch aims to add a prefix for memcached_server
on each role to give the ability for deployers to
override the location of memcached cluster. I.e users
wants to create a single memcached cluster with k8s
for each service.

We also add pymemcache based on [1]

[1] https://review.opendev.org/711429

Change-Id: I59fd6bd2e9557e8806e74bae8980ce322dcc748c
2020-03-25 16:06:38 +00:00