Instead of always creating the mariadb default repository we should
only do it when requested by the node environment.
Do this implicitly via the mariadb_*_install resources that have
an option to decide whether a repo should be set up or not.
Change-Id: I4f62dd7a7df247ddb787553bef58ca81d8e062fb
This updates us to a new resource driven mariadb cookbook which
simplifies how we manage mysql. Other changes:
- Update to using MariaDB 10.3 instead of 10.1 as we need this for Stein
- Update attributes so they work better with the
mariadb_server_configuration resource
- Remove use of the mysql2_chef_gem cookbook as it's no longer needed
and causes issues with newer versions of MariaDB and MySQL.
- Remove use of the openstack.cnf template since we can add all
configuration using the mariadb_server_configuration resource
- Remove RHEL mariadb-server ChefSpec as it's not needed
- Update openstack-db recipe to use the openstack_database resource
instead of the openstack_common_database resource which was renamed
Depends-On: https://review.opendev.org/710351
Change-Id: Ia5b401cafcdf57aa84e090c745bd3e517c7251bf
The mariadb cookbook imposes a default connect_timeout of 5 seconds.
This is too aggressive for services to initialize, and they error as a
result. To avoid such problems, mariadb should allow for a higher
threshold before timing out a connecting service. This change raises
that timeout to 30 seconds to be more graceful for services warming up.
Change-Id: I70775929dc49ed8c00a23bc7e354ebf9e9feb7f0
- implemented foodcritic and cookstyle corrections
- deprecated node.foo.bar method access for node['foo']['bar'] bracket syntax
- removed deprecated postgresql support
- removed percona-cluster as the Percona cookbook has not been touched since 2015
- switched default rdbms to mariadb[0]
This change was largely born out of a discussion in #sous-chefs on the Chef
Community Slack. The notion of using the vendor-provided package is preferred
in the Chef Community versus the distro version if possible, due to
inconsistencies in outcome. As a result, this cookbook focuses on MariaDB, and
specifically from mariadb.org.
[0]: https://docs.openstack.org/install-guide/environment-sql-database.html
Implements blueprint modern-chef
Change-Id: I7ee0f5eae4e79e5c70ee8de4a0094a7c34fdd18f
- Switched default linter to cookstyle
- Renamed rake tasks to better conform with Chef conventions
- Normalized template banner
Change-Id: I76bdb4149965ab7b23709762559bd6c71753cc8b
* adapted server recipes to use the address and port defined in the bind_service
attribute instead of the endpoint (endpoint can be different and should only
be used by the services connecting to the db)
* changed get_password 'user' to 'db' for consitency with common
Depends-On: Iae7e302973805af3cb44be1b29d0e61e76eb0aa0
Implements: blueprint cookbook-refactoring
Change-Id: I0afb5942c38ed4e20037f553879de8e2c1a1f75f
* adapted mariadb, mysql and postgresql server recipes to work with net endpoint
logic
* removed suse support
Depends-On: I0547182085eed91d05384fdd7734408a839a9a2c
Impements: blueprint cookbook-refactoring
Change-Id: Ia7fd927f42f4a1e484e8f2d34c52b1dc6d0ce6dd
1. Add 2 new recipes to configure mariadb client and server
2. Partially reuse existing code for mysql support
3. Add delete empty user and users with empty password workaround.
Current mysql cookbook can do this, but mariadb cookbook doesn't.
blueprint: mariadb-support
Change-Id: I034cedb07f8bf11f271fc351f9a7ad534067b95a