RETIRED, Chef Cookbook - Support Cookbook for Database
Go to file
Samuel Cassiba 2fd2b86adb Increase default connect timeout for mariadb
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
2018-06-14 13:23:19 +00:00
.delivery Add delivery config 2018-04-11 22:37:10 -07:00
attributes Initial ops-database Pike updates 2017-08-25 09:58:14 -04:00
files/default Add receipes for mariadb cluster deployment 2018-01-12 10:24:20 +00:00
recipes Increase default connect timeout for mariadb 2018-06-14 13:23:19 +00:00
spec ops-database refactor for Pike and Chef 13 2018-01-11 10:36:09 -08:00
templates/default Add additional mysql tunables 2015-04-09 15:13:03 -07:00
.gitignore Initial kilo updates 2015-02-27 14:25:44 -06:00
.gitreview Update .gitreview file for project rename 2015-06-12 23:12:30 +00:00
.rubocop.yml Initial ops-database Pike updates 2017-08-25 09:58:14 -04:00
.zuul.yaml Zuul: Remove project name 2018-01-31 22:34:06 -08:00
Berksfile starting queens development patch and use git.openstack.org 2018-03-06 09:01:53 -08:00
CONTRIBUTING.md Workflow documentation is now in infra-manual 2014-12-05 03:30:44 +00:00
LICENSE ops-database refactor for Pike and Chef 13 2018-01-11 10:36:09 -08:00
README.md add new Chef OpenStack Team Logo to README 2017-05-29 10:53:08 +02:00
Rakefile ops-database refactor for Pike and Chef 13 2018-01-11 10:36:09 -08:00
TESTING.md Sync stackforge/cookbook* to openstack/cookbook* for ops-database cookbook 2015-06-16 11:44:55 +08:00
bootstrap.sh Sync stackforge/cookbook* to openstack/cookbook* for ops-database cookbook 2015-06-16 11:44:55 +08:00
metadata.rb starting queens development patch and use git.openstack.org 2018-03-06 09:01:53 -08:00

README.md

Team and repository tags

Team and repository tags

Chef OpenStack Logo

Description

This cookbook provides a reference example of database configuration for the OpenStack deployment provided by Chef for OpenStack. It currently supports MySQL and PostgreSQL.

Requirements

ChefDK 0.15.15 with Ruby 2.1.x required.

Platforms

  • Ubuntu-14.04
  • SLES 11 SP3
  • RHEL/CentOS 7.0

Cookbooks

The following cookbooks are dependencies:

  • database
  • openstack-common
  • mysql
  • mysql2_chef_gem
  • postgresql

Usage

The usage of this cookbook is optional, you may choose to set up your own databases without using this cookbook. If you choose to do so, you will need to do the following:

  • create the schema specified by the openstack-db recipe.
  • create and upload encrypted data bags into your chef environment, as specified by #get_password in the openstack-db recipe.

Resources/Providers

None

Templates

None

Recipes

client

  • database client configuration, selected by attributes

server

  • database server configuration, selected by attributes

mysql-client

  • calls mysql::ruby and mysql::client and installs the mysql client python packages

mysql-server

  • configures the mysql server for OpenStack

postgresql-client

  • calls postgresql::ruby and postgresql::client and installs the postgresql client python packages

postgresql-server

  • configures the PostgreSQL server for OpenStack

openstack-db

  • creates necessary tables, users, and grants for OpenStack

Attributes

The following attributes are defined in attributes/database.rb of the common cookbook, but are documented here due to their relevance:

  • openstack["endpoints"]["db"]["host"] - The IP address to bind the database service to
  • openstack["endpoints"]["db"]["scheme"] - Unused at this time
  • openstack["endpoints"]["db"]["port"] - The port to bind the database service to
  • openstack["endpoints"]["db"]["path"] - Unused at this time
  • openstack["endpoints"]["db"]["bind_interface"] - The interface name to bind the database service to
  • openstack["db"]["root_user_key"] - The key used to retrieve the root user password; the key is both the name of the data-bag item and name of the key containing the password value within the data-bag item. This is defined in Common.

If the value of the "bind_interface" attribute is non-nil, then the database service will be bound to the first IP address on that interface. If the value of the "bind_interface" attribute is nil, then the database service will be bound to the IP address specified in the host attribute.

See the attributes mysql.rb file for the mysql specific attributes that are available.

For more information see: http://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html

Testing

Please refer to the TESTING.md for instructions for testing the cookbook.

Berkshelf

Berks will resolve version requirements and dependencies on first run and store these in Berksfile.lock. If new cookbooks become available you can run berks update to update the references in Berksfile.lock. Berksfile.lock will be included in stable branches to provide a known good set of dependencies. Berksfile.lock will not be included in development branches to encourage development against the latest cookbooks.

License and Author

Author Justin Shepherd (justin.shepherd@rackspace.com)
Author Jason Cannavale (jason.cannavale@rackspace.com)
Author Ron Pedde (ron.pedde@rackspace.com)
Author Joseph Breu (joseph.breu@rackspace.com)
Author William Kelly (william.kelly@rackspace.com)
Author Darren Birkett (darren.birkett@rackspace.co.uk)
Author Evan Callicoat (evan.callicoat@rackspace.com)
Author Matt Thompson (matt.thompson@rackspace.co.uk)
Author Matt Ray (matt@opscode.com)
Author Sean Gallagher (<sean.gallagher@.att.com>)
Author John Dewey (jdewey@att.com)
Author Ionut Artarisi (iartarisi@suse.cz)
Author Mark Vanderwiel (vanderwl@us.ibm.com)
Author Jan Klare (j.klare@x-ion.de)
Copyright Copyright (c) 2012-2013, Rackspace US, Inc.
Copyright Copyright (c) 2012-2013, Opscode, Inc.
Copyright Copyright (c) 2013, AT&T Services, Inc.
Copyright Copyright (c) 2013-2014, SUSE Linux GmbH
Copyright Copyright (c) 2014-2015, IBM, Corp.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.