Commit Graph

71 Commits

Author SHA1 Message Date
Takashi Kajinami 475bdd260f Remove parameters for certificate plugins
Certificate plugins were removed from barbican during 2024.1 cycle[1]
and we deprecated these parameters during the same cycle[2], so we can
remove these now.

[1] 9833751613c6a552025f50a5dcd280dc6391ec32
[2] d2625af949

Depends-on: https://review.opendev.org/916324
Change-Id: I321b4c2dd70664e5a45c97d1e605283e042f97f9
2024-04-19 02:02:24 +09:00
Takashi Kajinami 9a728d5a5d Expose rabbit_transient_quorum_queue
Depends-on: https://review.opendev.org/911021
Change-Id: Icdc456fb132d74037dff7ce5c502994103061258
2024-03-13 16:14:10 +09:00
Takashi Kajinami d2625af949 Deprecate parameters for certificate plugins
... because certificate plugins were deprecated some time ago in
Barbican and are being removed in this cycle.

Depends-on: https://review.opendev.org/c/openstack/barbican/+/909640
Change-Id: Ie2dacb037a3d5ba8f1732ddb8f4b8ea8ded1e5ed
2024-03-08 13:41:21 +09:00
Takashi Kajinami 7040e66812 Refactor resource dependencies
This refactors resource dependencies to improve the following points.

 - Avoid unnecessary dependencies across services. For example aodh
   service does not require cinder db.

 - Restart only api service when config files like paste.ini, which
   are used only be api service is changed.

Change-Id: Iad138f5d2e8c7427e02b889c43c26f00213636f3
2024-02-17 21:23:16 +09:00
Takashi Kajinami ca2fd10f71 Accept array for barbican::api::enabled_secret_stores
The parameter defines the value of [secretstore] stores_lookup_suffx
option, which is a ListOpt.

Change-Id: I78954f70700cbcfe1f76f311d1a61cd1c6e45abf
2023-11-08 01:05:56 +09:00
Takashi Kajinami 7bcaae05f6 Remove cleanup of [DEFAULT] bind_host and bind_port
The cleanup logic was added before 2023.1 release so we can assume
these options are purged before a deployment is upgraded.

Change-Id: If6949bb89b01104abe09515c6b93f7d7fed709d5
2023-10-13 21:49:08 +09:00
Takashi Kajinami 122686e238 RabbitMQ: Add support for quorum queue options
Depends-on: https://review.opendev.org/894866
Change-Id: I55b5eb5d6139f464f633d5c13827fea91378e3b7
2023-09-14 22:48:48 +09:00
Takashi Kajinami d3724a40b2 replace validate_legacy with proper data types
the validate_legacy function is marked for deprecation in
v9.0.0 from puppetlabs-stdlib.

Change-Id: I0707b0a8b200480dbfb8f52353596127cf4dc8b5
2023-06-16 02:07:13 +09:00
Takashi Kajinami 578e24a0b9 Add strict validation about boolean parameters
This ensures the parameters used by if-else logic accept only boolean
values because non-boolean can result in unexpected behavior.

Change-Id: I963d73e46f82a780486fa282b424151485e43d1e
2023-03-03 04:36:46 +00:00
Takashi Kajinami 729f5d286c Replace legacy facts and use fact hash
... because the latest lint no longer allows usage of legacy facts and
top scope fact.

Change-Id: I6e76d095bb0f78ef4962f1150da94e4d4153a374
2023-03-01 16:51:25 +09:00
Takashi Kajinami 9c6f3af402 api: Remove deprecated ssl parameters
These parameters were deprecated during the previous cycle[1] because
these are not actually used by barbican.

[1] 109ea49acb

Change-Id: I6471ed0fe696f2c6455150adc63c9c896037e404
2023-01-06 13:06:17 +09:00
Takashi Kajinami a79ac82ef2 Remove deprecated client_package_ensure
The parameter has had no effect for several cycles and was formally
deprecated during the previous cycle[1].

[1] 6c60f0d67e

Change-Id: Ib94130cf8215e3a832e4d44645ce90a2450627d2
2023-01-06 13:04:51 +09:00
Takashi Kajinami 5d4084a951 Remove the temporal logic to fix barbican_api pipeline
The old wrong value should be fixed when the deployment is updated to
stable/yoga, and the logic is no longer used in stable/zed and later.

Related-Bug: #1946378
Change-Id: I699847c127e5890857446585ededc9d860b0dc78
2022-08-20 12:10:13 +09:00
Takashi Kajinami 237c4b2fb0 Clean up baribcan::api::retry_scheduler_* parameters
... because these were deprecated during Yoga cycle[1].

[1] 0d4580b27d

Change-Id: I781d06e3ba9c9b9ab7fd8360095cdb67917f016c
2022-06-23 12:36:32 +09:00
Rajesh Tailor 3b1ecbed5c Fix some typos in parameter descriptions
Change-Id: I634698c222da7e5f570ac3bd2cdee924457791bd
2022-06-17 16:38:08 +05:30
Takashi Kajinami 109ea49acb api: Deprecate unused ssl parameters
These parameters are used by oslo.service library but Barbican does not
provide wsgi servce based on the library.

Change-Id: Ie035ec4a4dbce089e9911e11f91c2c013998192b
2022-05-19 14:47:45 +09:00
Zuul 3af0df5bb4 Merge "Remove non-existing bind_host/port" 2022-05-11 10:22:21 +00:00
Takashi Kajinami 043774f389 Remove non-existing bind_host/port
The bind_host parameter and the bind_port parameter are not implemented
in current Barbican. This change removes these ineffective parameters
from barbican.conf.

Change-Id: I7758a6e852795c5410e6dab023ce612f44ee27fd
2022-05-09 09:48:46 +09:00
Zuul f9da552219 Merge "Use more strict expression to look up the bind parameter" 2022-05-06 05:11:39 +00:00
Takashi Kajinami a1c8c935d8 Use more strict expression to look up the bind parameter
The current expression is too vague and can match a different parameter
like foobind. This change replaces it by strict one.

Change-Id: Icbe7a96808b8121f26645bb4f67923fe40b2f806
2022-04-26 08:47:02 +09:00
Takashi Kajinami 6c60f0d67e Deprecate unused client_package_ensure
This parameter is not actually used by any implementation.

Change-Id: I07bc7892a150f893d466a00cccbad731f728e833
2022-04-26 08:38:55 +09:00
Zuul 02157c9186 Merge "Create a separate class for [retry_scheduler] parameters" 2022-03-16 21:08:58 +00:00
Takashi Kajinami 0d4580b27d Create a separate class for [retry_scheduler] parameters
This change adds an independent class for [retry_scheduler] parameters,
because these parameters are used not by the api service but the retry
daemon.

Currently no distro provides a package to install the service so
the new class only set parameters, which is incomplete. This will be
fixed once the packaging issue is resolved.

Change-Id: Ib8b649c2e5ac5fee5e5a3bd52caeb21780fc1f61
2022-03-14 09:39:01 +09:00
Takashi Kajinami 405aee5a48 Do not manage /var/lib/barbican
... because the directory is now created by the packages automatically.

Change-Id: I1dd4841bb6a4a993dbd75731a38f3a5a03202868
2022-03-14 01:01:22 +09:00
Takashi Kajinami 2693f8c21b Avoid hard-coding OS user/group in each manifest
and replace hard-codes by definition in params.pp .

Change-Id: I778a1b705acfc224ffabd36384b9d6a2c6727ace
2022-02-20 19:05:32 +09:00
Takashi Kajinami d0f34f0d30 Stop converting service name in RHEL/CentOS
Usage of service_name='barbican-api' in RHEL/CentOS was deprecated
during Victoria cycle[1]. This change removes that deprecated usage and
enforces the actual service name which is 'openstack-barbican-api', as
is done in the other modules.

[1] 67e4879c75

Change-Id: I696b3e3b1daa346b6667b288c21b5389d59eeac2
2022-01-08 00:15:30 +09:00
Takashi Kajinami 9b0d38b342 Do not define service resource when service management is disabled
Change-Id: If8f1baacf56cc5a78032a72c8b24f1db487feb58
2022-01-08 00:07:16 +09:00
Takashi Kajinami 685301e737 Remove usage of custom os_package_type fact
Currently we support usage of distro packages only, and this custom
fact can be simply replaced by the default fact.

Change-Id: Ib8f47ce0bbe34970f9324289210fdb74da6f2098
2022-01-05 22:29:37 +09:00
Takashi Kajinami b23fdf4ca8 Clean up direct dependencies on puppetlabs-apache
This change removes direct reference to some classes in
puppetlabs-apache. Details are explained below.

- The api class doesn't need access to anything defined in
  apache::params

- The following classes are included by the openstacklib::wsgi::apache
  resource type, and current inclusions are just redundant.

Change-Id: Ib49308e63b18751ac4586f85dbac6d7b2775ca61
2021-12-08 22:33:49 +09:00
Takashi Kajinami f6ca184ac0 Add support for [DEFAULT] *_limit_paging
Change-Id: Ie8a5a259444b6a816977a4d296a1fe1ec4b181ad
2021-11-11 21:37:33 +09:00
Takashi Kajinami c94b67a6d1 Allow customizing separator for api-paste.ini
The api-paste.ini accepts not only "=" but also ":" and some services
like Barbican have been using ":" for their default api-paste.ini
files.

[composite:main]
use = egg:Paste#urlmap
/: barbican_version
/v1: barbican-api-keystone

This change allows users to use ":" so that they can update the ini
files with keeping it consistent with the default fules

Depends-on: https://review.opendev.org/813614
Change-Id: I6d516813cc6aac6012bd598bab73672d7a62c41d
2021-10-14 22:28:31 +09:00
Takashi Kajinami e983630199 Do not update barbican_api pipeline when keystone auth is used
The barbican_api pipeline is not longer used by default and the current
default pipeline, barbican-api, includes the required middleware to
use keystone auth.
This change removes the logic to tweak the barbican_api pipeline when
keystone auth is used.

One remaining knwon issue is that current barbican_api_paste_ini
doesn't support updating the root composite to replace the pipeline
used by the one without keystoneauth.
Currently usage of auth_strategy != 'keystone' just shows warning and
users should manually edit the pipeline.

Closes-Bug: #1946378
Change-Id: I34fecc5265cbc9bc6d5b46b5a96f056b47b64c59
2021-10-08 08:03:21 +09:00
Zuul 29f4f0b9eb Merge "Debian: do not configure gunicorn-config.py" 2020-05-31 15:12:27 +00:00
Thomas Goirand 60d3b68266 Debian: do not configure gunicorn-config.py
Debian isn't using gunicorn for Barbican, but UWSGI.
Without this patch, this module simply wouldn't work
for Debian.

Change-Id: Iaafc7f4b1499df471a35410228a7ad86938e94cc
2020-05-30 03:02:49 +02:00
Takashi Kajinami 67e4879c75 Accept actual service name for api service name
Currently the other puppet modules accept actual service name on the
platfomr for api service_name, while puppet-barbican always require
'barbican-api' and doesn't accept 'openstack-barbican-api' even in
Red Hat based OS.

This patch makes sure that we accept actual service name for api
service name, so that the accepted values are consistent among all
puppet modules.

Change-Id: I3ff64113e19a7c784d03afe3cb34865b88f8e39a
2020-05-29 12:00:14 +09:00
Tobias Urdin 57af2573d6 Convert all class usage to relative names
Change-Id: I3c86c44a0e190ea92180e792a291d4ee5ff63da0
2019-12-08 15:15:52 +01:00
ZhongShengping b3471b1b93 Introduce the new rabbit_heartbeat_in_pthread option
oslo.messaging RabbitMQ driver have now a new option that allow user to
run the RabbitMQ heartbeat over a native python thread.

These change allow user to use this new option.

Change-Id: I3debab140115a91f3df7aabf00c87eb1842b293b
Closes-Bug: #1840868
2019-08-21 14:22:41 +08:00
ZhongShengping def436a021 Manage oslo_middleware/max_request_body_size
So that we can increase it from the default 114688

Useful in case for example the OS-Federation mapping is too large.

If this limit is breached barbican will return a 413 Entity Too Large
and not log anything to barbican.log.

Change-Id: I2beb72f1ab37130eca340e691ca2dfd15cb5aa61
Closes-Bug: #1835161
2019-07-04 13:34:07 +08:00
Tobias Urdin 18d99b572b Dont include logging in init by default
Change-Id: I73169ecc103d9352306690e5fc945262907fc0ef
2018-11-29 10:07:51 +01:00
Tobias Urdin 87d6ae3970 Notify apache for barbican api in wsgi
Change-Id: I5cf9330181e13e041715719ea3d639809f57f3bc
2018-07-17 20:26:34 +02:00
Zuul 85722bf3a4 Merge "Remove deprecated parameters" 2018-05-24 02:31:32 +00:00
Tobias Urdin 9d6f124480 Remove deprecated parameters
Removes deprecated parameters that has been
deprecated for one cycle or more.

Change-Id: Ie56580c1f1980ed52bb2d390143767c416c4ba19
2018-05-20 02:09:13 +02:00
zhubingbing a72f5c634d Switch to www_authenticate_uri
Change-Id: I6be207d037209c16d291db02997e1ba337513f46
2018-05-11 14:43:26 +08:00
Thomas Goirand dea80f2eb9 Debian: fix barbican-api setup
Currently, it's not possible to use eventlet in Debian because the test
has been made on $::osfamily == 'Debian' instead of $::os_package_type.

Also, in Debian, the barbican-api service was never stopped before
configuring Apache, therefore, starting Apache just failed.

This patch also adds the $::barbican::params::api_service_name var if
using Debian packages.

Change-Id: Ide559f8fdc58ed3539325acd6696cec23c3de65b
2018-05-09 10:20:40 +02:00
ZhongShengping 8fc5ab3224 Remove deprecated ensure_package option
Change-Id: Ia368b6d359d20fe84e438bda23e558a5b71ed918
2018-03-29 12:01:16 +08:00
ZhongShengping 80b2b56169 Add some kombu options
Adds the kombu_failover_strategy option for configuring
oslo.messaging.rabbit. This will determines how the next RabbitMQ node
is chosen in case the one we are currently connected to becomes
unavailable.

Change-Id: I450966c0fc782671c51b8560c162a172f5f315ba
Closes-Bug: #1748353
2018-02-09 14:02:05 +08:00
Ade Lee 303f85c92b Add support for multiple backends
This will be essential for allowing migrations to
different (more secure) plugins

Change-Id: Ib45708fa6f8770b7737fff1990cc86e71e4bd634
2017-12-04 16:51:09 -05:00
Andrew Smith 16651dc5f5 Deprecate oslo.messaging rpc_backend option parameter
Oslo.messaging uses the transport_url to represent the rpc and
notification messaging driver to use and its full configuration. The
rpc_backend configuration option is deprecated for removal and
should not gate oslo.messaging driver configuration options.

This patch:
* deprecate rpc_backend
* remove conditional check
* add release note

Change-Id: I00948197fef80ce54a9a382d251b54e39053f7a7
2017-07-27 15:35:52 -04:00
Emilien Macchi 7da4ea0784 include policy class in api.pp
Like we do in other modules, include barbican::policy class in
barbican::api so users can define policies without taking care of the
class.

Change-Id: I5eb4fb17c3ba4a644efdc67ef4b60615c8e6831e
2017-06-15 14:00:01 -04:00
ZhongShengping 9f2b5f534d Fix deprecated rabbit parameters
The deprecated rabbit parameters are in class barbican::api, so fix it.

Change-Id: Ibfa8f537a53a4fd041304e7381c8983c47233cf2
2017-03-22 15:59:19 +08:00