Commit Graph

69 Commits

Author SHA1 Message Date
Takashi Kajinami d9840e99d0 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: Iadb8552abf55228729bf5d31795b1e4bbb8b9929
2024-03-01 02:31:36 +09:00
Takashi Kajinami cda67444f9 authtoken: Make password required
The password parameter is not really optional. This makes it
a required parameter to give more sensible validation error.

Change-Id: I1e7ef82de4f41f79ceeb089dc29de3119c6b01f0
2023-07-12 22:00:38 +09:00
Takashi Kajinami 3021cd9daf replace validate_legacy with proper data types
the validate_legacy function is marked for deprecation in
v9.0.0 from puppetlabs-stdlib.

Depends-on: https://review.opendev.org/c/openstack/puppet-openstacklib/+/885996
Change-Id: I144468b4f5536a48702e457f2a5db879f3ca217a
2023-06-23 09:26:59 +09:00
Takashi Kajinami da45ce8a21 Replace legacy facts and use fact hash
... because the latest lint no longer allows usage of legacy facts and
top scope fact.

Change-Id: Ib395d70d0d528adfef6600f67f9cd6bb238f8206
2023-03-02 11:31:36 +09:00
Takashi Kajinami 6ce889d3f2 Simplify definition to ensure keystone resource creation
Use the whole resource type instead of its individual resources, to
rely on interface instead of implementation of the dependent module.

Change-Id: Ie28adb28dba6f8fd04520b1e5deea30fa66d775b
2022-02-07 00:08:43 +09:00
Takashi Kajinami 525d58d621 Use consistent spelling, OpenStack, instead of Openstack
Change-Id: I5f0320959ecae3ba3724114d91e7f89406f6404f
2022-01-24 16:28:42 +09:00
Takashi Kajinami d3a63122cb Accept system scope credentials for Keystone API request
This change is the first step to support secure RBAC and allows usage
of system scope credentials for Keystone API request.

This change covers the following two items.
 - assignment of system scope roles to system user
 - credential parameters for authtoken middleware

Depends-on: https://review.opendev.org/804325
Change-Id: I1429b2cc6f3c01c07ec26b1a7242e451072be368
2021-11-26 00:59:17 +09:00
Takashi Kajinami b3685e6e13 Use consistent spelling, OpenStack, instead of Openstack
Change-Id: I6ad5fecb4accd51d3de3e9ee2594bf96483c5f63
2021-11-18 14:30:47 +00:00
Takashi Kajinami 79ee6b5c8f Use a 'params' hash for authtoken parameters
This change adds the 'params' hash in authtoken class, to implement
the same functionality as the one recently introduced into
puppet-nova[1].

[1] 5c38281e1b698f157f03bf1815733277c541c30b

Change-Id: I62c36a4521ca9b3c5062d88fe9a7ee55c748fbd3
2021-08-26 22:15:34 +09:00
Zuul 002b814933 Merge "Cleanup redundant default" 2020-10-19 16:58:58 +00:00
Takashi Kajinami 27d6be10ed Cleanup redundant default
This change removes redundant default value for heat::keystone::auth,
so that more clear error message when password is not set.

Change-Id: If585a3b6175d9aa2506786d2d158a8261403bd51
2020-10-18 21:43:45 +09:00
Christopher Brown 261f4b1cf6 Add support for the keystone_authtoken/service_type parameter
Change-Id: I2c3a5d3c005963fe490310f6b81619cc85b28cc9
2020-10-18 18:23:41 +10:00
Takashi Kajinami e633bc0ae5 Add support for the interface parameter in authtoken middleware
This patch adds support for [keystone_authtoken] interface parameter,
so that operators can define which endpoint should be used by authtoken
middleware.

Change-Id: I5325bdfbcec13b53b83ac669fb2b91885c370e60
2020-07-08 11:20:39 +09:00
Tobias Urdin 5f6411c3dd Convert all class usage to relative names
Change-Id: I9982b8476ca9dab8a338b66db75d6da6519f9266
2019-12-08 23:07:36 +01:00
Takashi Kajinami 9b4f933b4e Add support to configure service_token_roles in authtoken middleware
Change-Id: Idca4a0285d818b59920a26080bc594268a826b81
2019-09-21 10:21:36 +09:00
ZhongShengping 4656591f71 Remove deprecated pki related options
The deprecated pki related options check_revocations_for_cached and
hash_algorithms option has been removed.

Change-Id: I316beed11236a11d4789974da3656196e2795694
2019-08-15 11:51:37 +08:00
Zuul e968b0b8cc Merge "Use validate_legacy" 2019-02-25 19:06:18 +00:00
Tobias Urdin e46b67d242 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: I422be4bfb6fd6f73f0b24ae9464c5c85689594e1
2019-02-23 14:52:57 +01:00
ZhongShengping 532ab0ec88 Service_token_roles_required missing in the server config file
Service_token_roles_required missing in the server config file which
allows backwards compatibility to ensure that the service tokens are
compared against a list of possible roles for validity.

Change-Id: Ia22d5b59adea42c4f3d0792bf83b92fa0e11b0c5
Closes-Bug: 1778198
2019-02-15 10:03:04 +08:00
ZhongShengping eb98733764 keystone/auth: make service description configurable
This commit adds the service description as a class parameter in order to allow
users to update from a previous version if the service description is changed
(incorrectly spelled or wrong description)

Change-Id: Ibe18499a1ad815ce42f9b64821261fe721d40aff
Closes-Bug: #1468407
2018-12-17 14:22:01 +08:00
ZhongShengping f765eb0b0b Cleanup documentation
Make sure documentation is the same and follow
the standard which we are trying to enforce on
all modules.

Change-Id: I3ec7774580b861371290d0ce3aa257d2aa7a15ab
2018-12-13 17:11:11 +08:00
Tobias Urdin 0c4a5b581a Remove auth_uri
Change-Id: Ia85a124e9893e3e09c6f41d59090a42050e5c8d0
2018-11-29 00:16:54 +01:00
ZhongShengping d8e1123122 Deprecate pki related options
check_revocations_for_cached and hash_algorithms are deprecated for
removel because of PKI token format is no longer supported.
Update warning message and add a release note.

Change-Id: I6ed03f77f4a13bab4593b7669b331fc35a68854c
Closes-Bug: #1804562
Closes-Bug: #1804720
2018-11-23 10:22:42 +08:00
ZhijunWei 016e2634c9 Replace port 35357 with 5000
Now that the v2.0 API has been removed, we don't have a reason to
include deployment instructions for two separate applications on
different ports.

Change-Id: Ia81c354ea593954e79a0779f222208c027fcdede
2018-05-13 15:05:52 +08:00
zhubingbing b8bb27afc9 neat: missing : in $::os_service_default
Change-Id: I0b11fbe6228ca9e11de1d5f0038f48841e5e6c26
2018-05-11 14:02:39 +08:00
ZhongShengping cea5d3c5b6 Deprecate auth_uri option
Option auth_uri from group keystone_authtoken is deprecated[1].
Use option www_authenticate_uri from group keystone_authtoken.

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

Change-Id: I680e8060f6a8bf3befd4aa5d39f2b01ddeb5e859
Depends-On: I4c82a63baabd6b9304b302c97cd751a0103d8316
Closes-Bug: #1759098
2018-04-03 16:55:01 +08:00
ZhongShengping e3da95861d Remove deprecated keystone authtoken revocation_cache_time option
Change-Id: I30e921ef378ea76dc9fd6bce14fd85f4663fac99
2018-03-27 10:33:21 +08:00
ZhongShengping 3c5f67488d Deprecate revocation_cache_time option
The revocation_cache_time is deprecated for removel because of PKI
token format is no longer supported.
Update warning message and add a release note.

Change-Id: I2c340522a696c3e436404e1b1403d6cf072d56d3
Closes-Bug: #1717144
2017-09-14 11:31:44 +08:00
ZhongShengping 6fde1a69d3 Remove deprecated keystone authtoken signing_dir option
Change-Id: Ie89e4385628cd5bfd0b43d7c00124c25dee17936
2017-07-07 09:59:10 +08:00
Matthew J. Black 12a328d74f Allow python-memcache install from authtoken class
The python-memcache package is required if using memcached. By
default the package is not installed and the define has it set to
false. This change allows managing the python-memcache package
install from the authtoken class.

Change-Id: I3a6f847e4d5ff64e09b664dc58b17db4094c814c
2017-01-11 17:37:45 -05:00
ZhongShengping 0540b5c98f Deprecate signing_dir option
The signing_dir is deprecated for removel because of PKI token format
is no longer supported.
Update warning message and release note.

Change-Id: I42b35c3cadde3bb22463c82e83168addfd4da99f
Closes-Bug: #1652700
2016-12-28 14:00:55 +08:00
Alex Schultz b5b48d9863 Fix heat user dependencies
With the heat::deps implementation, we should ensure that the users are
created in before the heat::service::end anchor rather than the service
itself. This can lead to issues when we move the service to httpd and it
is colocated with keystone. Additionally the authtoken class needs to
include the ::heat::deps class.

Change-Id: I0c2b5e0e3671d37fb0450cd25dd6287bebda4dcb
2016-11-23 16:10:37 +00:00
Jenkins 95db61d071 Merge "Remove old authtoken options" 2016-11-21 22:13:36 +00:00
Jenkins 41ccdeb852 Merge "Force domain_password parameter to be defined" 2016-11-19 01:05:56 +00:00
Iury Gregory Melo Ferreira da7bc46203 Remove old authtoken options
Since we are in ocata lets remove all old parameters in api
to configure the keystone_authtoken section

Change-Id: I7f18b79b9107baad78129b098246bd9c931420dc
2016-11-16 00:02:12 -03:00
Alex Schultz 08488e3686 Ability to manage domain config seperately
This change allows a user of the heat::keystone::domain class to manage
the user creation seperately from the user configuration for the heat
services.

Previously one could disable the management of the users but could not
prevent the configuration file from being updated if all they wanted to
do was create the users.

Change-Id: Iab8204d3dfd727149d41ad86616a8f95a6f720dc
2016-11-03 08:52:12 -06:00
Emilien Macchi a1f3dfe6a9 Force domain_password parameter to be defined
Having a default value for a password is not acceptable for security
purpose.  We should unset the default value so we make sure catalog fail
if no value is set.  It enforces our users to set a value and stop
opening a security problem.

Change-Id: I41b974f6ece39743bfc2ad922b2f0dad20aec469
2016-11-02 10:46:33 -04:00
Iury Gregory Melo Ferreira 85b55571b8 Move Heat to authtoken
Switch keystone_authtoken parameters for the new class
heat::keystone::authtoken to configure the keystone_authtoken section
in heat.conf.

Some deprecations:
- heat::auth_uri is deprecated in favor of
  heat::keystone::authtoken::auth_uri.
- heat::identity_uri is deprecated in favor of
  heat::keystone::authtoken::auth_url.
- heat::auth_plugin is deprecated in favor of
  heat::keystone::authtoken::auth_type.
- heat::keystone_user is deprecated in favor of
  heat::keystone::authtoken::username.
- heat::keystone_tenant is deprecated in favor of
  heat::keystone::authtoken::project_name.
- heat::keystone_password is deprecated in favor of
  heat::keystone::authtoken::password.
- heat::keystone_user_domain_name is deprecated in favor of
  heat::keystone::authtoken::user_domain_name.
- heat::keystone_user_domain_id is deprecated, use the name option.
- heat::keystone_project_domain_name is deprecated in favor of
  heat::keystone::authtoken::project_domain_name.
- heat::keystone_project_domain_id is deprecated, use the name option.
- heat::memcached_servers is deprecated in favor of
  heat::keystone::authtoken::memcached_servers.

Change-Id: I466558e98176f20743271191df64dc327f0efcc6
Closes-bug: #1604463
2016-08-25 18:08:22 -03:00
Venkata Mahesh Jonnalagadda 6f16641c4e Provide default service_name for keystone endpoint
This change updates the heat::keystone::auth class to include a default
service_name of 'heat' so that if a user changes the auth_name, the
service is still created as being related to 'heat'. This improves the
user experiance when they want to customize the usernames for services.

Closes-Bug: #1590040

Change-Id: Iee47e78dbeb269e5fe6c52030de378c13e51c1f3
2016-06-10 06:45:40 -04:00
iberezovskiy 3b49812852 Drop all current deprecated parameters for heat
Change-Id: I71ef16d9467230c9430458971266c67ae2def238
2016-04-22 14:45:22 +03:00
Simon Leinen d696384909 Fix email and auth_name defaults in header
The header had different values ("heat" rather than "heat-cfn") for
these than the code.  This change fixes it by adapting the
documentation (header) to the reality of the code.

Change-Id: I92b25527b65e954afae36292b0d9140a8b6e4b09
Closes-bug: #1571407
2016-04-17 23:07:51 +02:00
Martin Mágr e7c472d053 Improve heat::keystone::domain
- change resource names so that autorequire works
 - enable to skip Keystone resource management

Change-Id: I9078be31f26e454e0686debcefa070721767a581
2015-11-09 12:01:36 +01:00
Clayton O'Neill dca9fe942b Move deps & external hooks into a standalone class
Previously the anchors and dependencies that allow external hooks were
all in the main ::heat class.  However, if you wanted to include just
::heat::db::mysql, then it would fail, since it assumed the main heat
class was included.  This moves all of those resources and relationships
into a new class, ::heat::deps.  All of the classes will now include
this class so that the anchors and deps are always evaluated even if
only a portion of the classes are used, and even if ::heat isn't pulled
in.

Change-Id: I4297df160a7afae2b66c1ac76e37de313fa4fb09
Closes-Bug: #1507934
2015-10-20 09:57:36 -04:00
Gilles Dubreuil f592e646c4 Missing domain in keystone::domain
The domain name wasn't used for the keystone_user_role resource.

This change requires "replace indirection calls" [1]
Both needs to be merged as same time in order to pass CI tests.

[1] https://review.openstack.org/226624

Change-Id: I2a717b06a73af966d6625b4f6ec3254baf7c50a0
Depends-On: I36fabf547fa50fc14d49f491f11cb4a0571f7d31
2015-10-14 09:00:32 +11:00
Matt Fischer bc4e8c0d65 Make the role for heat_stack_user configurable
Before you could configure the role in the config file but not the
keystone role that was created. Now you can do both.

Change-Id: Iea6df1679d3ceef1f0876e65dac06628147c700b
2015-09-29 19:44:53 -06:00
Emilien Macchi 320e93d301 Allow to not manage Keystone domain
When configuring Heat domains, we might want to use the default domain.
However, the default domain might already exist or managed by
puppet-keystone.
This patch allows to disable its management in puppet-heat, but keep
True for backward compatibility so the domain will be managed by
default.

Change-Id: I2e9f2ebb5b12cc33565d74bf955250dcc82bcbb9
2015-09-25 12:26:03 -04:00
Emilien Macchi 1b209d35be Cleanup configure_delegated_roles deprecated parameter
In Kilo, we decided to use ::heat::keystone::auth to manage the
Keystone_role resource to help with Trusts configuration.
Though the configuration was and still remains part of ::heat::engine
class because we assume ::heat::keystone::auth can be run outside the
heat-engine node.

So this patch aims to drop the deprecated parameter, update the
documentation and unit tests.

Change-Id: I045a3a82095e23778c4e878b13f2fc7f561d680e
2015-09-24 07:54:27 -04:00
Jenkins 16b4eca4c9 Merge "Create Heat Domain with Keystone_domain resource" 2015-08-21 03:03:43 +00:00
Jenkins 13fcf95bea Merge "Remove deprecated parameter stack_user_domain" 2015-08-06 10:32:02 +00:00
Martin Mágr b5f0f0de74 Create Heat Domain with Keystone_domain resource
This patch replaces the usage of Exec to create the Heat domain, by
using the Keystone_domain resource recently implemented in
puppet-keystone.

Change-Id: I5abdac6334e535e8be4e4d19223b4e83b7a39db1
2015-07-31 13:34:06 -06:00