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
This ensures the parameters used by if-else logic accept only boolean
values because non-boolean can result in unexpected behavior.
Change-Id: Ia67f4aba2c3064f9b0ba93430b9c0f7a14800ced
Currently we validate database_connection in 2 layers, each puppet
modules and puppet-oslo, however this makes it difficult to maintain
validation pattern because we always need to fix both.
This patch removes the validation from each puppet modules so that
we need to maitain only one place, puppet-oslo to update validation
logic.
Change-Id: I362610e251fa85cc60a8b0494775ee9db975cc37
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
Add pool_timeout option to configure this value for pool_timeout with
SQLAlchemy.
Change-Id: I96157ad65fb96dfe56bae9c92d0fd7f74b62df62
Closes-Bug: #1757581
The db_max_retries parameter regulates the number of reconnection
attempts performed after an error raised rather than at startup.
Change-Id: Ie4f94a07c6e6e9fdddd8c048447e493abb3ebd48
Closes-Bug: 1579718
Add the ability to use python-pymysql library as backend for MySQL
connections.
Update acceptance tests to use pyMySQL.
Change-Id: Id27afb52428a50ec889e8ae77f3509e1ca956538
Docs: https://wiki.openstack.org/wiki/PyMySQL_evaluation
This patch introduce the same design than mysql for postgresql
by requiring dedicated lib::python class instead of declaring
a new resource package within heat module.
Change-Id: I386e61054e84b14d25afebb4aa415ab2b6161a57
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
heat::db is different to every other project's puppet modules. All of
nova, glance, keystone and cinder take a "sql_connection" parameter to
the "main" (project name) class.
This removes heat::db and adds it into init.pp to maintain parity with
those projects. This seems more logical than adding it to engine.pp;
since heat-engine is only using the DEFAULT section of heat.conf.
Change-Id: I4584cdb12d1f9e624228e6ee34b4bcfbf649a12e
Since we have now an only config file (heat.conf) with this patch:
https://review.openstack.org/#/c/36476/
This patch updates the module and delete old configuration files
support and add a test.
Also, I fixed some tab issues in manifests.
Fix bug #1207858
Change-Id: If3d044e2581156fa5ce4de19f5c740328efa0aa8