66 Commits

Author SHA1 Message Date
Jonathan Rosser
6cd87c5598 Add FWaaS dashboard.
The firewall-as-a-service project is active again in neutron so
re-enable deployment of the FWaaS dashboard.

Depends-On: https://review.opendev.org/c/openstack/openstack-ansible/+/935798
Change-Id: Ie4eef5f397baca75bcf282e736373deececd6e9d
2024-11-20 14:50:58 +00:00
Dmitriy Rabotyagov
92b1b97885 Ensure that selected Apache MPM is enforced
At the moment services might have different MPM selected while all
operating the same Apache setup, ie on metal setup.
This results in failures to set selected MPMs, so eventually second run
of roles after initial deployment will end up in failure (ie upgrade).

This patch ensures that all except selected MPMs are disabled and do
role get's the desired state of deployment.

We also need to align selected MPM across all roles to avoid
future conflicts.

Depends-On: https://review.opendev.org/c/openstack/openstack-ansible-openstack_hosts/+/930272
Depends-On: https://review.opendev.org/c/openstack/openstack-ansible-repo_server/+/929690
Depends-On: https://review.opendev.org/c/openstack/openstack-ansible-rabbitmq_server/+/930446
Change-Id: I480222993a63af41cfba65464f5b5c8585b2d4fd
2024-09-25 15:46:05 +00:00
Dmitriy Rabotyagov
b0d9b99f70 Implement ability to define arbitrary options in local_settings.py
Unfortunatelly having `horizon_config_overrides` is not sufficient, as
not all options can be defined in HORIZON_CONFIG.
Some are expected to be preset inside local_settings themselves.

We introduce new variable that can be used to extend local_settings file
with arbitrary parameters.

Change-Id: Ic119105189c9158aa3b38c4deb07040110d9d660
2024-06-07 17:44:43 +02:00
Dmitriy Rabotyagov
7cd77a7b92 Add support for deploying Horizon with Skyline
We change a default value of `horizon_webroot` to reflect the usecase
where both Horizon and Skyline are deployed. When it is the case,
horizon webroot URL will be changed to `/horizon`.

Depends-On: https://review.opendev.org/c/openstack/openstack-ansible/+/859446
Change-Id: Ia38311a6fde88292c090cf6289bf5b6c6279c479
2024-03-15 19:38:48 +00:00
Dmitriy Rabotyagov
552fcac122 Reflect horizon_webroot setting in Apache vhost configuration
Changing only horizon_webroot is not sufficient without adjustments
to horizon Apache vhost.

Change-Id: I25707600c2b05a7f816a7c4ea38c8985717df2d3
2024-03-15 20:36:16 +01: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
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
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
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
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
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
Dmitriy Rabotyagov
9c3c776c7a Switch SESSION_ENGINE to memcached
Previously we were using cached_db session backend by default.
However with django version update, it requires more recent
mysqlclient module which is not part of requirements.
Moreover usage of cached_db makes us to carry and maintain
extra stuff, which can be dropped with memcached backend.

Change-Id: I8df7ee967d8dcbeb09a42fd568f98acc3e88adad
2019-12-18 19:52:38 +02:00
Marc Gariepy
10aa884a16 Add new config to disable openrc_v2 in horizon
it's now possible to remove the openstack rc file v2 from horizon download list.

Change-Id: I7aa8d7a911585e00d8ede92bf909492cf70cba6e
2019-10-28 15:48:54 -04:00
Dmitriy Rabotyagov
9f9b66a985 Allow to configure horizon bind address
Added variable horizon_bind_address which allows to define address
on which horizon will be listening.

horizon_listen_ports variable was converted to dict()
and used in apache vhost template.

As an addition metal jobs were added for horizon CI.

Depends-On: https://review.opendev.org/681722
Change-Id: I11c3edec6d58e39da8de5e214fab9731eb5df9e2
2019-09-19 09:32:09 +00:00
Dmitriy Rabotyagov
a2280e2e90 Retire neutron-lbaas UI plugin
Because of global retirement process of neutron-lbaas  we stop providing
neutron-lbaas-ui plugin installation for horizon.

Change-Id: Ic39a4d1cc03df72a4080abd6513bf8f4036da456
2019-09-13 13:37:54 +03:00
Matthew Thode
1a9184e9c5
Force force-tlsv12 only
Secure by default

Change-Id: I61aaa82ac705a4cf6a082a149d78db85e0365706
2018-12-17 10:56:46 -06:00
jacky06
f32909cb7f Add watcher dashboard into horizon
Co-Authored-By: zhulingjie <easyzlj@gmail.com>
Change-Id: I2b2739bf1f0d746e0ef9582078f0720300354b06
Closes-Bug: #1792951
2018-12-08 17:02:43 +00:00
Dmitriy Rabotjagov
9a25d2507b Implements masakari-dashboard to be installed in horizon
Added masakari dashboard to horizon installation.
As for now it's installation is available only from source.

Change-Id: I07937e2d97080ec5f4aece61a6bf032cd8790f5f
Implements: blueprint masakari-ansible-plugin
2018-11-21 11:51:54 +00:00
Damian Cikowski
09b8a7d9e1 Add Neutron VPNaaS Dashboard to Horizon
This patch brings back VPNaaS Dashboard after its split out
into a separate project.

Change-Id: Iefa92fdb348df6d07bc557749e1f96dd47c68e30
2018-11-14 09:37:09 +01:00
Amy Marrich (spotz)
4283200534 Add ability for HTTP access to horizon
Horizon has, since OSA's inception, been deployed with HTTPS
access enabled, and has had no way to turn it off. Some use-cases
may want to access via HTTP instead, so this patch enables
the following:

1. Listen via HTTPS on a load balancer, but via HTTP on the
   horizon host and have the load balancer forward the correct
   headers. It will do this by default in the integrated build
   due to the presence of the load balancer, so the current
   behaviour is retained.

2. Enable HTTPS on the horizon host without a load balancer.
   This is the role's default behaviour which matches what it
   always has been.

3. Disable HTTPS entirely by setting ``haproxy_ssl: no`` (which
   will also disable https on haproxy. This setting is inherited
   by the new ``horizon_enable_ssl`` variable by default. This
   is a new option.

Co-Authored-By: Jesse Pretorius <jesse.pretorius@rackspace.co.uk>
Change-Id: I823f2f949258157e306dbf80570abe53373da0c3
Closes-Bug: 1794337
2018-10-17 11:56:26 +00:00
Zuul
89ed3ea27d Merge "Add cloudkitty dashboard" 2018-10-07 00:08:26 +00:00
jacky06
f40fdfd01f Add zun dashboard into horizon
Change-Id: Iba816088a8babb6f2f1975021ded84eefdfe2eee
Closes-Bug: #1792951
2018-10-05 13:51:04 +00:00
jacky06
c40b50dfc4 Add cloudkitty dashboard
Change-Id: Ia9edd43aecce88291053357f7184607486318868
Closes-Bug: #1792858
2018-10-05 13:50:51 +00:00
ZhijunWei
7c007fffa1 Add tacker dashboard into horizon
Co-Authored-By: jacky06 <zhang.min@99cloud.net>

Change-Id: I4f5fb39f1e7f9ba9dc3ca989317d2870d487ca2d
Closes-Bug: #1792951
2018-09-19 15:38:15 +00:00
jacky06
0aad898848 Add blazar dashboard into horizon
Change-Id: I1dfd7fa99a5422877b579caf9bae984fcd5c38a5
Closes-Bug: #1792951
2018-09-17 07:35:02 -04:00
Dmitriy R
acf7a29609 Implements custom theme distribution
Adds key ``theme_src_archive`` to ``horizon_custom_themes``,
which should point to archive with packed theme inside.
Archive should be placed on the deployment host and it
may be easily created by git-archive, or ansible git module.
Structure inside archive should be as a standard theme,
without any leading folders.

Unarchive is used instead of synchronize with flat files,
as synchronize establishes independent SSH connection
and doesn't use nspawn or any other methods from
custom ssh plugin and may case connection errors.
Recursive copy has limitations on number of files inside of the
directory. This limit is pretty high, but still it's a limit.

This method differs from uploading custom files, as themes may
have complex structure and include a lot of files.

As a result, if ``horizon_custom_themes`` contains
``theme_src_archive`` key, theme will be distributed by role.

Change-Id: Icbfff0793a703de94091cfdcdecf5a2c91bae4be
Related-Bug: 1778098
2018-08-14 18:35:55 +03:00
Markos Chandras
2af1b7a6c4 Add support for using distribution packages for OpenStack services
Distributions provide packages for the OpenStack services so we add
support for using these instead of the pip ones.

Implements: blueprint openstack-distribution-packages
Change-Id: Ie6eeff541a319967715e619dcdc26177aec5be72
2018-07-23 17:29:14 +01:00
Jesse Pretorius
4ac6093e36 Execute service setup against a delegated host using Ansible built-in modules
In order to reduce the packages required to pip install on to the hosts,
we allow the service setup to be delegated to a specific host, defaulting
to the deploy host. We also switch as many tasks as possible to using the
built-in Ansible modules which make use of the shade library.

The 'virtualenv' package is now installed appropriately by the openstack_hosts
role, so there's no need to install it any more. The 'httplib2' package is a
legacy Ansible requirement for the get_url/get_uri module which is no longer
needed. The keystone client library is not required any more now that we're
using the upstream modules. As there are no required packages left, the task
to install them is also removed.

With the dependent patches, the openstack_openrc role is now executed once
on the designated host, so it is no longer required as a meta-dependency for
the role.

Depends-On: https://review.openstack.org/579233
Depends-On: https://review.openstack.org/579959
Depends-On: https://review.openstack.org/580156
Change-Id: Ic3c0bb31c12a83fe8fe475091e97e5d5537fab6f
2018-07-05 19:41:30 +00:00
Guoqiang Ding
935b20deb4 Update the doc link
Change-Id: I688f0d54056ef94835b1e9ccf5ed98143863d442
2017-11-13 18:13:56 +08:00
Marc Gariepy
2d6664d3c5 Allow possibility to disable heatstack password
This allow the possibility to disable the heat stack password field.

Change-Id: I8dcf212398570c5d124bac769614b968d8b8cb12
2017-06-28 08:51:35 -04:00
Adrien Cunin
cd604dac71 Added support for horizon_launch_instance_defaults
This variable allows customizing the default values for properties found
in the Launch Instance modal, using the LAUNCH_INSTANCE_DEFAULTS config
option.

Change-Id: I1a795b788b3fbc78e814c93f56fd996090c7463b
2017-06-20 11:59:06 +02:00
Andy McCrae
0fa5b59428 Add Translations update steps.
To facilitiate a translations check site this patch enables the ability
to perform a pull_catalog and compilemessages, which will update the
translations site. By default this won't run at all.

Change-Id: Ib9b527d60226d3133206675b394d83f1185631b2
2017-06-18 13:48:30 +00:00
Marc Gariepy
e20f12cc3a Add IMAGES_ALLOW_LOCATION configuration option.
IMAGES_ALLOW_LOCATION is needed to be able to specify an external location
during image creation.

Change-Id: I102a14577415549ac12e6cf7d62bafd48d95c1bf
2017-06-02 15:27:09 +00:00
Ravi Gummadi
24f7d80fba Cap the number of worker threads
Users can configure the number of worker threads however when it's
not specified the calculated number of workers can get too large on
hosts with a large number of CPUs.

Change-Id: I09433117941dcd543775d5c347cb03912c21475c
2017-02-23 02:00:38 -05:00
Jean-Philippe Evrard
83efb05c6c Make possible to use embed iframes
Because horizon local settings cannot use config_template, we
have to maintain the features possible in the template ourselves.

This adds the possibility to allow/deny the use of embedded
iframes.

Change-Id: I12470ac156a433eee795b4090b21d106418ecd5a
2017-01-09 09:03:19 +00:00
Marc Gariepy
21499f4366 Add CentOS support for os_horizon role
Change-Id: I1cd6d4b8f4626331a47575be330f4a4fc4ba593f
2016-11-29 15:31:16 +00:00
Donovan Francesco (drifterza)
262140d646 Adding Designate UI to horizon role.
Change-Id: I754c07c2b963b5a4f105ba2144a44f7caaa5f155
2016-11-14 10:46:48 +00:00
Jesse Pretorius
d1f10b66fa Simplify pip options/constraints mechanism
The current constraints generation for the
installation involves multiple tasks and multiple
variables.

Using multiple tasks extends the installation time
unnecessarily and the additional variables are
unnecessary.

This patch aims to simplify the mechanism and
hopes to speed it up a little.

Change-Id: I66974d89e3a89620abaf1d228e10a70575b2e067
2016-11-02 16:43:03 +00:00
Donovan Francesco (drifterza)
174c69d0af Add Trove Dashboard to Horizon
Change-Id: Ia0c32e9bc86a28471a9909e2ee43a2c36e26973b
2016-09-23 07:18:43 +02:00
Jesse Pretorius
0b6085c007 Rename package lists (and related vars) appropriately
In order to make it easier to differentiate between the lists of
python packages, distribution packages, downloaded packages,
package pins and other similar variables the variable names are
being changed to ensure that they have a more explicit suffix
that defines the purpose and makes the naming more consistent.

This is to facilitate a lookup plugin which will be able to look
up all the package lists and present them as a consolidated piece
of data which may be used for artifact preparation.

Change-Id: Ib4b177992753ad53b8bdb7a7652f1fbc6cc5267d
2016-08-30 18:04:39 +01:00
Flavio Ramalho
02b04397b7 Enable Sahara panel in Horizon
This change adds an option to deploy the data-processing panel
in Horizon.

Change-Id: I7f88dce5b9d1a82412ddb3ef18f3cc16de2140c3
2016-08-29 14:53:27 +00:00
Nolan Brubaker
c7ebd28341 Add variable override for OPENSTACK_KEYSTONE_ADMIN_ROLES
As Horizon treats admins differently and can't discern what roles are
administrative in nature, we have to tell it if there are roles
beyond/besides "admin".

If not overriden by the user, then the default is `['admin']` as seen
in the code:
https://github.com/openstack/horizon/blob/stable/mitaka/openstack_dashboard/utils/identity.py#L20-L25.

Closes-Bug: #1614213

Change-Id: I5e475db52be7d6390a1ab29a08b58fc102e16037
Co-Author: Corey Wright <corey.wright@rackspace.com>
2016-08-17 17:05:11 -04:00
Donovan Francesco
0b984893c9 Add Magnum-UI plugin support to Horizon
This patch adds Magnum-UI plugin support to Horizon.

Additionally some commenting is added to clarify the purpose of the
developer mode variables.

Change-Id: I79c532cbadd5f9cd84ac993d94eb795ba20ea003
Implements: blueprint role-magnum
2016-08-07 13:46:20 -05:00
Jesse Pretorius
05daa35ccc Add ability to change apt/yum package state
The current method of installing the distribution packages required is
set in the tasks and cannot be changed by a deployer.

Currently the apt task always installs the latest package. This results
in unexpected binary changes when a deployer may simply be trying to
execute a configuration change.

This patch adds the ability for a deployer to change the desired state
so that the results are predictable.

Change-Id: Iebd947fc93738e6ccb62460061b00306b96437d6
2016-08-07 18:04:10 +00:00
Neill Cox
097c01fe72 Enable Horizon Ironic dashboard plugin
Enable the Ironic dashboard plugin if ironic is configured.

Implements: blueprint role-ironic
Change-Id: I4da4720ad3deb587a0131930028f4628a22bb72f
2016-07-25 15:41:16 +00:00
Jenkins
7a0b2665fe Merge "Add support for custom Horizon themes" 2016-07-12 07:31:56 +00:00