Commit Graph

79 Commits

Author SHA1 Message Date
Takashi Kajinami bd2debe260 Add support for new limit options
This introduces support for the new limit options which were added to
heat during 2024.1 cycle.

Depends-on: https://review.opendev.org/c/openstack/heat/+/906272
Change-Id: I622328a61ea24682dbe65dc4f4b3a90df5c7208f
2024-03-16 12:06:07 +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 5fe73417a2 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: Ia67f4aba2c3064f9b0ba93430b9c0f7a14800ced
2023-03-16 13:21:52 +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 98c92fe15c Ensure [DEFAULT] deferred_auth_method is purged
... instead of left unmanaged. The parameter was deprecated a while ago
but is still valid in Heat.

Change-Id: I13c7c869855c60c9db1ca57772a2c0989b511e94
2022-06-19 22:13:37 +09:00
Takashi Kajinami 68ec6e99d3 Remove deprecated heat::max_stack_per_tenant
... because it was deprecated during Xena cycle by [1].

[1] e79e74cd08

Change-Id: I3806ab51e6593a9e00172af6b1eb02d9812fcf72
2022-05-13 10:40:21 +09:00
Takashi Kajinami e0f9de35cb Support more tunable parameters of heat-engine
Change-Id: If314e079f45101439751c18eddbead56d0863fbb
2022-01-03 23:09:06 +09:00
Takashi Kajinami 63b791ef4f Add support for [DEFAULT] allow_trusts_redelegation
Change-Id: I4677e89b889f416cc503719286373407a08cffc9
2022-01-03 18:37:41 +09:00
Takashi Kajinami 0f9986e566 Accept array for DEFAULT/trusts_delegated_roles
The DEFAULT/trusts_delegated_roles parameter is a ListOpt, which
accepts a list value in a comma-separated list format. This change
allows usage of array to define the list value in a native manner.

Change-Id: I9d74fac8cdc4cfe7c7c6f366dba712b8c331b269
2022-01-03 18:26:56 +09:00
Takashi Kajinami 3703f8805a Do not manage services when manage_service is disabled
Change-Id: I40e3ef55255eeb13dd3d27d91570b955801aa99e
2021-11-10 22:41:47 +09:00
Takashi Kajinami e79e74cd08 Migrate max_stacks_per_tenant to heat::engine
... because the max_stacks_per_tenant parameter is used by heat-engine,
and the very similar max_resources_per_stack parameter is implemented
in heat::engine.

Change-Id: I57a8e8b9643d999c8ed379895f998ee1d09fb1a8
2021-08-07 00:20:17 +09:00
Takashi Kajinami 7dd8afd35d Deprecate heat::engione::deferred_auth_method
... because its actual parameter in heat was already deprecated[1].

[1] 9723b0dab707bcedc846415b932b2ade5b7c1317

Change-Id: I782d6b3833f450178ccd34736de4c9f861937399
2020-04-26 22:12:11 +09:00
Takashi Kajinami 6c4650f815 Remove heat::engine::heat_watch_server_url
... because it was deprecated a while ago[1].

[1] ae564bbd7c

Change-Id: I7fd241112c8bd5ee5cd9edaa6669b162ffbf190c
2020-04-26 22:01:11 +09:00
Tobias Urdin 093b663165 Add server_keystone_endpoint_type param to heat::engine
Adds the server_keystone_endpoint_type config option [1].

This is available all the way back from Stein and will
therefore be backported.

[1] https://github.com/openstack/heat/blob/master/heat/common/config.py#L99

Change-Id: Ia251802612e7a4cf5c6828f3b7c1a0ef63a3c069
2020-03-25 19:57:12 +01:00
Zuul 01e6e6681b Merge "Make heat config client_retry_limit configurable" 2019-12-11 08:00:01 +00:00
Rabi Mishra 876a4bddfe Make heat config client_retry_limit configurable
This adds a new parameter to configure client_retry_limit config
to a value higher than the default.

Change-Id: Ibd3999a394c8827efa7a6034e69e55858d2e44ed
2019-12-09 18:09:56 +05:30
Tobias Urdin 5f6411c3dd Convert all class usage to relative names
Change-Id: I9982b8476ca9dab8a338b66db75d6da6519f9266
2019-12-08 23:07:36 +01: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
schegi ae564bbd7c Deprecate parameter heat_watch_server_url
When support for heat-api-cloudwatch was removed in
I155c92edd5d6959ac23d99804fd95dfb99c7042e the parameter,
heat_watch_server_url, was forgotten. This change marks the
forgotten parameter as deprecated and removes it from the
spec tests and heat config.

Change-Id: Icb9fa01cb37dd15b66fc6f1de183149ff884363d
Depends-On: https://review.openstack.org/581629
2018-07-12 12:32:52 +02:00
Spyros Trigazis 24cbbd517a Make auth_encryption_key a secret
auth_encryption_key is used to encrypt autentication info in the
database, it must be a secret.

Change-Id: Ib15db2632d087b91ca4923a64fa9923daa6b2c85
2018-06-14 12:57:12 +02:00
Alex Schultz 8adb596e33 Switch heat-engine workers to use os_workers_heat_engine
Previously the default value for the heat-engine workers setting was set
to $::os_service_default. We usually use our specific facts for the
worker settings so this change switches it to use the
$::os_worker_heat_engine fact.

Change-Id: I6a8d745b76afca1b1958816fa10a3f1dd30face6
Related-Bug: #1763671
2018-04-13 14:47:32 +00:00
Lokesh Jain 56cbd7c89b Make heat parameter plugin_dirs configurable
Heat has an additional configuration for plugin_dirs
parameter. This parameter provides a list of directories
to search for plug-ins. This change allows configuration
of plugin_dirs parameter in heat.conf file. This change
will allow a user to set this value, if required. Else
$::os_service_default will be used and the parameter will
not be added to the config file, as it is done today.

Change-Id: I636d52f867ee447eaf0e1e80bf9fdc30c91f4ec1
2018-01-22 18:49:20 -05:00
Jose Luis Franco Arza ece5e90fdd Add support for default_user_data_format
Allows specify the value of default_user_data_format
parameter in configuration

Change-Id: I0536b5efd0e1389b05ffdd29acf75f1fa748babb
2017-09-13 10:24:31 +02:00
rabi 1b5eab2809 Add support for reauthentication_auth_method
This adds support for setting reauthentication_auth_method
flag in heat.conf.

Change-Id: I247b02a50bb46ce16ca120961dd9c3df3e6026fd
Partial-Bug: #1683983
2017-04-19 12:54:47 +05:30
zhangdetong 739a15ffb2 Set trusts_delegated_roles to os_service_default in engine.pp
change trusts_delegated_roles to $::os_service_default,
modified heat_engine_spec.rb and added releasenote.

Change-Id: Ib07a546da74218056bb55f15df1b6114e9f67c45
Closes-Bug: #1634361
2016-11-23 10:56:49 +00:00
Steve Baker edf6623d8c Expose heat::engine::max_nested_stack_depth
This is required for TripleO to use a value other than the default 5.

Change-Id: I998f3a1a89ce4bc4c3926a83adec1929addeab24
2016-11-21 15:41:32 +13:00
Steven Hardy 6e8ef40483 Don't default metadata server URLs to localhost
These settings are all legacy, as for some time heat has instead supported
deriving the URLs internally using the endpoints from the keystone catalog.

Defaulting these to localhost seems like a bad default, as in
most cases heat will caclulate a more reasonable default (e.g something
derived from the actual heat public endpoint in keystone), and it's somewhat
surprising when you don't pass a value and get localhost instead of the heat
defaults.

They can still be used to override the keystone endpoint, which is sometimes
useful, but in most cases these should no longer be set IMO.

Note the relevant heat commits which make these settings optional are
Id402664e38e3da071ad634233b3a1f8e13af152d and
If8a2d3f37d87c26228e709c20f61969b397f2da0 (present in all Heat releases
since Mitaka)

Closes-Bug: #1641873
Change-Id: I90ccdd881a41d803e28064f44b821ab48a6fa8ea
2016-11-15 22:23:37 +00:00
ZhongShengping 519f974593 Add environment_dir and template_dir options
Add environment_dir and template_dir options to config.

Change-Id: Ia1aba0d65906fef378472967cf28a79254e05f6b
2016-08-05 08:29:25 +08:00
Steven Hardy 5b9adc6937 Add support for convergence_engine option
This is a boolean which enables the "new" heat convergence architecture.

Heat plans to make this enabled by default soon (currently disabled), so
adding this will provide an easy way for deployers to maintain the old
architecture if they wish.

Change-Id: I4e879751a30c961e851ab9da80612d3f2fb2395a
2016-05-25 12:04:49 -04:00
Marcus Furlong 2ee44729da add missing num_engine_workers parameter
This option exists for heat::api but is missing for heat::engine.
This commit adds the missing num_engine_workers parameter.

Change-Id: I69565c13b732ef74531a516aac8a368597411856
2016-04-14 05:37:02 +00:00
Mykyta Karpin 811f7ce4b0 Switch Heat to $::os_service_default - part 2
Switching to os_service_default fact below classes:
heat
heat::api
heat::api_cfn
heat::api_cloudwatch
heat::engine

Change-Id: Iff0275b701f2096f6f927ff962ef06c673827b4e
2016-01-25 18:53:16 +02:00
Mykyta Karpin 6aa38dc8ae add more heat.conf settings to heat, engine classes
heat.conf settings added:

 max_template_size
 max_json_body_size
 max_resources_per_stack
 notification_driver
 instance_connection_https_validate_certificates
 instance_connection_is_secure

Change-Id: I00db48bb7e5fde7ba1048fc1cb24fcdcf4e85c04
2015-12-02 10:37:19 +02: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
Jenkins 905185c66b Merge "Add hooks for external install & svc management" 2015-10-19 23:44:02 +00: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 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
Clayton O'Neill b2f791400d Add hooks for external install & svc management
This adds defined anchor points for external modules to hook into the
software install, config and service dependency chain.  This allows
external modules to manage software installation (virtualenv,
containers, etc) and service management (pacemaker) without needing rely
on resources that may change or be renamed.

Change-Id: I032ee01505e0cbc125b0e219c436b77c93f57720
2015-08-29 03:19:02 +00:00
Jenkins 68f99e2f1c Merge "Creation of heat::db::sync" 2015-08-13 13:01:47 +00:00
Yanis Guenane 0cf89d487e Rely on autorequire for config resource ordering
Currently we specify the ordering of config resources wherever it is
necessary based on the presence of the file it will write to, or the
presence of the package in charge of providing the file it will write
to.

Those kind of ordering can be specified directly at the resource level
using the autorequire mechanism. With this patch, any config resource
will make sure the package in charge of providing the file will be
installed first.

Change-Id: I6476060c97d350640b5a254738a60e319ad522e9
2015-08-12 19:03:34 +02:00
Yanis Guenane b0bc5d9a48 Creation of heat::db::sync
In order to standardize the way dbsync are run across our modules,
we create a new class heat::db::sync.
This class will be included if sync_db is enabled.

By making this transition the heat::db::sync class
can be returned by the ENC.

A use case would be in an highly available environment, with 3 galera
nodes, include heat on every node with sync_db set to false
and have the ENC return heat::db::sync just for one node.

Change-Id: I2165dcce6ae9a47b8c9315411933de42516a18c9
2015-08-04 15:33:19 +02:00
Yanis Guenane 0e850373a8 Add tag to package and service resources
In order to be able to take an action after all the packages of the
module have been installed/updated or all the services have been
started/restarted, we set a 'heat-package' and 'heat-service' tag
for each package and service of this module.

At the moment, there is a generic openstack tag that is not specific
enough if one wants to take action upon a single module change.

Use case :

If an action needs to be taken after all the packages have been
installed or updated : Package <| tag == 'heat-package' |> -> X

Change-Id: I38a6b422054dbf0fceacf6b7e329dbb3cb0fa9cb
2015-07-22 20:22:24 +02:00
Steve Baker 8e97bd8438 Allow setting default config/signal transport
This change allows the Kilo heat.conf options
default_software_config_transport and default_deployment_signal_transport to
be set. This is required for operators who would prefer a different default
transort, such as Swift TempURLs.

Change-Id: I66a20f2fd6370909165093b77ef04992fb735380
2015-05-28 12:56:12 +12:00
Emilien Macchi 23d58ec2b6 Engine: validate auth_encryption_key
When using a string with a length != 16, 24, or 32 as value for the
auth_encryption_key parameter in the /etc/heat/heat.conf file it is not
possible to create new stacks. Creating a new stack (and probably
anything else) will fail with the following exception:

ValueError: AES key must be either 16, 24, or 32 bytes long.

Change-Id: I4e35cf0f782f22861319d05a3f028e5784ad26d5
Closes-bug: #1415887
2015-04-29 18:59:02 -04:00
Clayton O'Neill 8b6cf3bbb7 Make package_ensure consistent across classes
This adds a package_ensure parameter to all classes that did not have it
and updated all package resources to use the package_ensure parameter.

Change-Id: I49c3e50153bc5eba323c5a766ed1f30c23653985
2015-04-23 13:42:56 -04:00
Yanis Guenane 744f4bbcf5 Create a sync_db boolean for Heat.
Other components offer the option to decide whether or not to run the
db sync command. Heat was missing this feature. This commit add this
feature for Heat.

Change-Id: I06b669123fe08e02c66ee34dab78a943ff5de90c
2015-04-07 11:51:28 +02:00
Jenkins 9a851c5f6c Merge "Tag all Heat packages" 2015-03-30 13:26:42 +00:00
Gael Chamoulaud 73df608936 Tag all Heat packages
Some users wish to override the default package provider by their own.

Tag all packages with the 'openstack' to allow mass resource attributes
override using resource collectors.

Closes-bug: #1391209

Change-Id: I09e54700438894e22d29605fec51bb056baf4050
Signed-off-by: Gael Chamoulaud <gchamoul@redhat.com>
2015-03-28 19:07:21 +01:00
Matt Fischer dc047a0f01 Add support for stack_adopt and move stack_abandon
This adds support for enable_stack_adopt and moves
enable_stack_abandon out of the engine manifest and into the main one.

Change-Id: I93629f2b2173a767669fec0b17107a69dbf759de
2015-03-27 10:23:39 -06:00
Johannes Grassler c67c563416 Added missing enable_stack_abandon configuration option.
Change-Id: I71f8aa8abb211ec25075d5dea2f8a9014fe22c28
Closes-Bug: #1415986
2015-03-11 22:12:54 +01:00
Sebastien Badia 44e1bbf039 Add Puppet 4.x lint checks
This changes the puppet-lint requirement to 1.1.x, so that we can use
puppet-lint plugins. Most of these plugins are for 4.x compat, but some
just catch common errors.

Change-Id: If5f03538be85cee4a1d3b4c9a87eae1230432114
2015-03-02 13:54:32 +01:00