Commit Graph

120 Commits

Author SHA1 Message Date
Ghanshyam Mann e06f50cb06 Retire Tripleo: remove repo content
TripleO project is retiring
- https://review.opendev.org/c/openstack/governance/+/905145

this commit remove the content of this project repo

Change-Id: I73df79a8698625815ea4e3099904da448a49887e
2024-02-24 11:42:30 -08:00
Zuul d649079ee7 Merge "Disable keystone domain creation by keystone::ldap_backend" 2022-10-26 18:24:42 +00:00
Rajesh Tailor c4890a2b00 Fix typos in parameter descriptions, comments and tests
Change-Id: I75b17e41aff3a63b618b6cada01f225f93a4ff4f
2022-09-17 11:34:15 +05:30
Cédric Jeanneret 0592be3ad6 Allow disabling puppet tasks to configure apache/vhost
The new parameter allows to toggle the apache configuration management.
This will be useful once we get [1] so that we can migrate services to
the new configuration management one by one.

[1] https://review.opendev.org/c/openstack/tripleo-ansible/+/853481

Change-Id: Id1ddbae4946e5c428d0f21ef89e20a11665a370e
2022-09-05 15:14:01 +02:00
Takashi Kajinami 491d9b422f Disable keystone domain creation by keystone::ldap_backend
Change-Id: Id299aef6eb7209ea6a9c8897c0d8312603c479bd
2022-06-10 16:43:23 +09:00
Takashi Kajinami 7e6dd3050d Keystone: Replace hiera by lookup
The hiera function is deprecated and does not work with the latest
hieradata version 5. It should be replaced by the new lookup
function[1].

[1] https://puppet.com/docs/puppet/7/hiera_automatic.html

With the lookup function, we can define value type and merge behavior,
but these are kept default at this moment to limit scope of this change
to just simple replacement. Adding value type might be useful to make
sure the value is in expected type (especially when a boolean value is
expected), but we will revisit that later.

example:
lookup(<NAME>, [<VALUE TYPE>], [<MERGE BEHAVIOR>], [<DEFAULT VALUE>])

Change-Id: I48b647bf5c908c93bf1e297cf4a108050cbc2c81
2022-04-27 10:32:16 +09:00
Takashi Kajinami c127941d8f Format [oslo_cache] memcache_server when IPv6 is used
When Memcached uses IPv6 network, python-memcached requires that each
server name is formatted as is described in the following example.
 inet6:[<host>]:<port>

This change ensures the format is properly applied according to
the IP protocol version and cache backend used.

Note that the parameter in keystone was not properly formatted even
when IPs are used to set the parameter. This change fixes that and
ensure the parameter is properly configured.

Also, this change fixes the timing to apply any2array. The function
should be applied before we check the first memcache server by [0],
otherwise the logic to detect IPv6 address does not work as intended.

Closes-Bug: #1964824
Change-Id: I22f8fc7f59b4eeac10c3a274c36daeaa1861fd69
2022-03-15 12:15:41 +00:00
Takashi Kajinami 42a8771fcf Remove unused parameters
These parameters were used before we introduced tripleo-ansible roles
to manage keystone resources.

Change-Id: Ib23ceb4c15cc4f430bfd037f72c119c50fce7203
2022-03-03 22:11:52 +09:00
Takashi Kajinami 7b3a8cd891 Include db classes explicitly
Since database parameters in the base classes were deprecated, it is
likely that db classes are no longer included automatically in a future
release. Let's ensure that the db classes are included so that
database parameters are always set.

Change-Id: I2a28cd1b7a92776b711eb784db3c4a486dcf6a85
2021-07-26 10:13:30 +09:00
Zuul a14513292f Merge "Set memcached server list from memcached_node_names" 2021-07-20 16:39:12 +00:00
Grzegorz Grasza 49921d57f5 Set memcached server list from memcached_node_names
This follows other clustered services (like RabbitMQ) and
uses *_node_names (which contain FQDNs), instead of *_node_ips.

Certificate for Memcached TLS is also created using FQDN.
Because of this, validation failed when using pymemcache.
This patch fixes this issue.

Closes-Bug: #1929574
Change-Id: I9d0ddcc88098a5b891829192f1ce656842d0aa15
2021-07-13 11:31:34 +09:00
Takashi Kajinami 46024cd5bf haproxy: Use healthcheck middleware to monitor service availability
This change makes that haproxy monitors service availability by sending
HTTP request which is responsed by healthcheck middleware, to ensure
that backend api can respond to requests.

Change-Id: Idbfe6a8e110ec24d9fe64e43d82772bb05fa00ba
2021-06-03 00:58:07 +09:00
Takashi Kajinami 91629ff680 Remove parameters to manage keystone resources and volume type
These parameters are always set to False since we implemented
management of keystone resources and default volume type in tht.

Change-Id: Ib53c6c10ba737b0504f30e7260cace6d18c2f033
2021-01-14 08:09:42 +09:00
Grzegorz Grasza f460e659ba Add ability to specify memcached port
The port defaults to hiera('memcached_authtoken_port', 11211)
for authtoken middleware and hiera('memcached_port', 11211)
for other uses. Different ports might be set for security
and performance tuning.

Change-Id: I567d6b2cd66d5eb98971cd54987c1fbea3c1da78
2021-01-05 16:32:30 +01:00
Tobias Urdin e644fef49c Use keystone::cache
This patch includes and starts using the
keystone::cache class explicitly.

The other parameters will be removed in [1].

[1] https://review.opendev.org/#/c/746643/

Change-Id: I6c0e8d33538edc1d521e38f028ff2772614feb99
2020-08-18 13:18:46 +02:00
Zuul 17354e25af Merge "Remove support for token_flush cron job" 2020-07-21 02:52:48 +00:00
Zuul 207c5ef9c5 Merge "Add support for trust_flush cron job in keystone" 2020-07-21 02:52:47 +00:00
Takashi Kajinami a37229ff98 Remove support for token_flush cron job
The token_flush cron job is no longer required, because now tripleo use
fernet token which doesn't persist token in database.

Change-Id: I8ad037cf59a5216c0d799be8bd499b7fb2d811c9
2020-07-06 09:34:37 +09:00
Takashi Kajinami 4e8a393330 Add support for trust_flush cron job in keystone
This patch introduces a cron job configuration to purge expired or
soft-deleted trust from keystone database.

Depends-on: https://review.opendev.org/#/c/739378/
Change-Id: Ic140f8466e5f561b2936e7e4b29fdd8393cea01c
2020-07-06 09:34:04 +09:00
Takashi Kajinami 344c4b5c4f Remove deprecated keystone::enable_bootstrap
This patch removes usage of the keystone::enable_bootstrap parameter,
because it has been deprecated[1] and has no effect now.

Note that we currently implement bootstrap process in t-h-t, thus
we don't need to include keystone::bootstrap in puppet-tripleo.

[1] bc1ff1d7cb01ac02790c3302a3da6e994598d9f6

Change-Id: I9e29f774afe26c56f0091aa28ef5517f26fe1e4b
2020-06-29 15:36:20 +09:00
Takashi Kajinami e2ea1206c8 Accept missing memcached_node_ips
Currently when Memcached is disabled in the deployment, puppet-tripleo
fails because some manifests expect that memcached_node_ips is defined
in hieradata.

This patch ensures that we define the default value ([]) for
memcached_node_ips, so that puppet-tripleo doesn't fail even if
the parameter doesn't appear in heradata.

Change-Id: I6d3e32f7f8f0751bdfbd0b6f2e79c5d85e1af284
2020-05-02 15:51:17 +00:00
Takashi Kajinami b7ec567884 Do not set cache parameter for openidc
... because now the parameter is defined in tht.

Depends-on: https://review.opendev.org/#/c/724870/
Change-Id: I19dc7e041a3c5afff348e897150c61f1c0d70969
2020-05-02 00:24:45 +09:00
Alexey Stupnikov da9b1a3ecb Hardcode openidc_cache_type parameter for keystone federation with OpenIdc
By default OpenIdc uses shared memory caching mode, which will
not work for multiple controller nodes. puppet-tripleo already
configured to calculate memcached servers for OpenIdc, but for
some reason doesn't set "openidc_cache_type" to "memcache", so
shm is used.

There are a number of options available for "openidc_cache_type",
but memcache is the only one that will currently work for multiple
controllers:

- shm and file are stored locally on every node;
- redis requires mod_auth_openidc to be compiled with redis
  support, but it is not generally the case.

To avoid providing illusion of freedom of choice, it would
be right to hardcode this in puppet-tripleo.

Closes-Bug: #1873239
rhbz: #1824506

Change-Id: I7cbc462b2ff99b7b0d3ff58fda1b52ccf85fc86d
2020-04-16 12:26:42 +02:00
Alex Schultz a566d6b9b8 Add check for bootstrap_node for downcase
Downcase in puppet 6.14 throws an error if the input to it is Undef. We
can avoid this by checking for a value before trying to downcase.

See context https://review.rdoproject.org/r/#/c/26297/

Change-Id: Ib2e97060523a4198a14949a15c9171b56928699c
2020-04-07 14:51:41 -06:00
Takashi Kajinami c570d18f93 Autonatically set memcache_servers for keystone cache
... so that operators can enable keystone caching with memcache
easilty.

Change-Id: Ie1ff8e774e3a2115ca7b19a2183c43d3c15849d6
2020-04-04 09:49:51 +09:00
Emilien Macchi c914a4edb3 keystone: remove the keystone resource management
It's now done by Ansible, we don't need this code anymore.

Depends-On: I96a3351fca26cd8bb122a86cb4c3a58d5f88573e
Change-Id: I3fa4448fc81935d4df61f873a73d3fffc6f9e3bb
2020-01-07 23:39:57 +00:00
Tobias Urdin 1523a4b804 Convert all class usage to relative names
Change-Id: Ib2ed745b682cf12f9469a5a64451adcabec400af
2019-12-08 23:23:25 +01:00
Emilien Macchi 03eedf0bff keystone: add a new parameter 'keystone_resources_managed'
keystone_resources_managed, default to
hiera('keystone_resources_managed', true) for backward compatibility,
will allow to disable Puppet to manage the keystone resources, like
endpoints, roles, services, projects and users; and instead use Ansible.

Change-Id: If4b275d3caf6098e7774d938ab89333396fbc15d
2019-12-06 18:30:23 +00:00
Zuul 5f1b0010f4 Merge "Revert "Add support to configure token caching in keystone"" 2019-10-16 05:42:02 +00:00
yatin 63dd90aacc Revert "Add support to configure token caching in keystone"
Changing cache/enabled=False by default has dropped performance.
keystone local cache also got disabled with this.

This reverts commit 469d432195.


Depends-On: https://review.opendev.org/#/c/688770/
Closes-Bug: #1847585
Change-Id: I2af70755746f3fc3eb10eba2188ad2772704d988
2019-10-15 17:53:40 +00:00
Zuul 06e901c215 Merge "Remove Tacker service" 2019-10-10 22:59:40 +00:00
Takashi Kajinami 469d432195 Add support to configure token caching in keystone
Add support to configure token caching in keystone[1] using
memcached, so that we can improve performance about token
validation.

[1] https://docs.openstack.org/keystone/latest/admin/configuration.html#caching-layer

Change-Id: I351eb64ff1df652b0a284d8cd3d835cec58a310f
2019-09-21 09:24:38 +09:00
Takashi Kajinami f907b0ec26 Disable keystone token_flush by default
We don't need token_flush job for keystone now as we use fernet
token which does not require to be persisted inside database.

Change-Id: I164b42d292481530b024ed9f329dd9bfa11aceaf
2019-09-19 08:31:23 +09:00
Alex Schultz 4fa490f03f Remove Tacker service
Cleaning up the puppet tacker code since we're removing the service
definitions.

Change-Id: Iee2e75c1afd836b08132823ffe26cccdd6ef0002
Depends-On: https://review.opendev.org/#/c/682463/
Related-Bug: #1714270
2019-09-16 13:13:34 -06:00
Harry Rybacki 970462b562 Ensure Barbican required roles are created by Keystone
Presently there are several roles: audit, observer, and key-manger:
service-admin that are used in Barbican policy but not generated
by Keystone during a TripleO Deployment.

This change updates Keystone's manifest to include creation of these
missing roles then the Barbican API is included as part of a depl-
oyment.

Change-Id: I6d5d0a37abeb54600bb70e22fabde9479320ab81
2019-08-15 17:52:26 +00:00
Nathan Kinder d585e8a17d Don't require memcached_node_ips when deploying keystone
The keystone module always expects memcached_node_ips to be defined
in hieradata, the value of which is used to configure mod_auth_openidc
when OpenID Connect is enabled for federation.  In some cases, such as
when using a trimmed down custom Controller role for development purposes,
memcached may not even be deployed.  This will result in memcached_node_ips
not being set, which causes a deployment failure.

This patch defaults memcached_ips to an empty list, which allows a
deployment of keystone to succeed even when memcached is not being
deployed.

Change-Id: If44b6d11f8c41c96bd823c3e38bacdc08034986d
2019-06-03 15:27:55 +02:00
Alex Schultz 710c617367 Remove deprecated admin ssl options
The ssl_cert_admin and ssl_key_admin are being removed from
puppet-keystone so we need to stop using them in puppet-tripleo.

Change-Id: Ibe97accb22820d02abfa076515967336da4c8800
Needed-By: https://review.opendev.org/#/c/658382/
2019-05-16 08:07:23 -06:00
Zuul 2b448c10b3 Merge "nova: Remove profile::base::nova::placement" 2019-04-27 01:22:22 +00:00
Zuul e0677e0b1a Merge "Use validate_legacy" 2019-04-26 03:21:54 +00:00
Lee Yarwood 953b4c3633 nova: Remove profile::base::nova::placement
Depends-On: https://review.openstack.org/#/c/635141/
Change-Id: I523dcbe4559fce067d815a3972df3a909ed87b2e
2019-04-23 13:58:33 +00:00
Lee Yarwood 3af5c2f267 placement: Initial extraction of the Placement service from Nova
This initial change duplicates the existing Nova Placement parameters
and classes with extracted versions to avoid disrupting CI during the
switch.

Change-Id: Ieb5b6586bfcdcf4fe5aef7338ee17f7c9e55b607
2019-03-27 13:10:06 +01:00
Zuul c9d107c368 Merge "pass list of memcache servers to keystone::federation::openidc" 2019-03-19 20:38:05 +00:00
Emilien Macchi 00818969cf Remove Congress
Depends-On: Idca6b12f1c0ca3bc15bedf6469d4063a4dac31fa
Change-Id: I2489581b040f4798aad752b50cfd1a53b4c3d4fd
2019-03-13 23:59:06 +00:00
Tobias Urdin a07db29002 Use validate_legacy
This changes all the puppet 3 validate_* functions
to use the validate_legacy function.

The validate_legacy function has been available since
about three years but require Puppet >= 4.4.0 and since
there is Puppet 4.10.12 as latest we should assume people
are running a fairly new Puppet 4 version.

This is the first step to then remove all validate function
calls and use proper types for parameter as described in spec [1].

[1] https://review.openstack.org/#/c/568929/

Change-Id: Iee8c082b5e4dcb7b035faa56a2182718947ad495
2019-02-25 22:51:07 +01:00
Juan Antonio Osorio Robles dfd408a73d Create barbican's creator role by default
Barbican has a very specific set of keystone roles that it uses in order
to properly enforce RBAC. One of them (and the most important) is the
creator role. Which you'll assign to your users in order to allow them
to create and retrieve secrets (the other role that can do this is
admin... but we don't want to rely on this).

For usability, lets create this role automatically as part of the
TripleO installation.

Closes-Bug: #1812209
Change-Id: I9d5f912684a0987a6bdf244321215bd5595a0fa0
2019-01-17 17:38:41 +02:00
Lars Kellogg-Stedman a2efd3cbd1 pass list of memcache servers to keystone::federation::openidc
Change-Id: I58e364a3a6c0ebc7bc57ff5821ccdb882324ff81
Depends-on: I9ff976854b93cdf9ca3175d1fd39c2b268b9f7fa
2018-12-18 17:09:14 -05:00
Alex Schultz 3ec92d3efc Add explicit logging class inclusion
These have been dropped from some of the puppet classes by default. We
still need to include them so our debug logging works.

Change-Id: I4e65219d9669fdd16b2663b7239354330ffbae38
2018-12-17 14:49:44 -07:00
Lars Kellogg-Stedman 4413b2c3e2 Enable support for openidc federation in keystone
This enables the support for OpenIDC federation in
keystone::federation::openidc.

Change-Id: Id2ef3558a359883bf3182f50d6a082b1789a900a
2018-12-09 10:27:13 -05:00
Sofer Athlan-Guyot 00524bfb7f Make sure that the _member_ role is assigned to admin.
When we switch to not using instack_undercloud, we missed the role
assignment that was done in there.

By simply adding it to the puppet role we get it back.

Change-Id: I074d2878ee9cfc6061d68ecd989832c636c065ec
Closes-Bug: #1799177
2018-11-05 20:39:42 +00:00
Steven Hardy 9cde9139c4 Replace bootstrap_nodeid with SERVICE_short_bootstrap_node_name
This solves the problem that bootstrap_nodeid, which is set to the
first node in each role via t-h-t, can match potentially more than
one node - e.g in the event that a service is deployed such that it
spans more than one role.

The SERVICE_short_bootstrap_node_name is automatically generated
based on the composable service template service_name, and this
considers all roles where the service is enabled, e.g it should
only evaluate true once regardles off the roles where the service
is enabled.

Change-Id: I48ec4549552910f3cb8db960b0ff10a6c61b4bb9
Partial-Bug: #1792613
2018-10-12 10:14:48 +00:00