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: If2cbbc392bd54d906c7a4f51f1c7cfca69463aaf
the validate_legacy function is marked for deprecation in
v9.0.0 from puppetlabs-stdlib.
Note that this change looses validation about pool ids. Alternatively
we can define a new data type to keep the validation, but these defined
types for pool-manager were already deprecated and useless and will be
removed in a near future release so we avoid that redundant step.
Change-Id: I85d7058bf379c6aa0e787b2f806f14aebf0693d3
This ensures the parameters used by if-else logic accept only boolean
values because non-boolean can result in unexpected behavior.
The previous attempt did not cover a few parameters which are now
covered by this change.
Change-Id: Icf6d679545f987a1ed1eb5cda9999c879bde8fb3
... but use the original defaults, because these are considered to be
reasonable values to start with.
Change-Id: I243aacab2fe4c1dac9fe383109866b3ccbcd0f26
This patch refactors the designate::db class, by using the oslo::db
class, so that we can get rid of duplicated implementations.
Change-Id: I13156970bdbebfb6c882f992815dcf73d3d0d399
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: If8c450da479eca3167d93a1ef29ac8b1bc4312ca
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: If9fa188b7dca47e6724a737d66e34c0c85668c36
This change adds the ability to use the python-pymysql library as a
backend for MySQL connections. This change also updates the acceptance
test to leverage the pymysql driver.
Change-Id: I9730266163166a9f75f68e25a26c6dcbf38fcea8
In order to standardize the way dbsync are run across our modules,
we create a new class designate::db::sync and
designate::db::powerdns::sync.
Those classes will be included if sync_db is enabled.
By making this transition the designate::db::sync class and the powerdns
related one can be returned by the ENC.
A use case would be in an highly available environment, with 3 galera
nodes, include designate::db on every node with sync_db set to false
and have the ENC return designate::db::sync just for one node.
Change-Id: I3e14b82055cfadf3274d6657413668b11f28ec49
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: I2b5707a0fe3dd72a56bbf1d840b4197bfa3012db
Need to have a backend set in the config file before we can run the db
sync. Better to just wait for all config options to be in place before
running db sync to be safe.
Change-Id: Ibff46f878eed58cad6a9b2c04334203dc4604e4a
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: I3b16baf063746024cb8dc89a931dae2f604258f6
The config parameter has changed from storage:sqlalchemy/database_conection to just
storage:sqlalchemy/connection.
The dbinit command no longer exists, and the db sync command has been
renamed.
Change-Id: I69f529717de04ee0084188a7f94dab26bc120e2f
Since commit c2f248b puppet-designate use openstacklib for db params and
therefore puppetlabs/mysql module > 2.2 wich doesn't include anymore the
class 'mysql::python'.
Change-Id: Ia513a31b1a5ddda3cea2c6761e7b6cb8cd7c3729
Currently secrets like rabbit_password or admin_password are laked
puppet logs when changed. This commit changes designate_*_config and
designate_*_ini types adding a new parameter that triggers obfuscation
the values in puppet logs.
Change-Id: I54e7c0bb27e46928db1a7f0125783c02d00d0e69
Closes-Bug: #1328448