Update cookbooks
This commit is contained in:
1
cookbooks/mysql/.foodcritic
Normal file
1
cookbooks/mysql/.foodcritic
Normal file
@@ -0,0 +1 @@
|
||||
~FC005
|
||||
@@ -1,156 +1,163 @@
|
||||
mysql Cookbook CHANGELOG
|
||||
========================
|
||||
# mysql Cookbook CHANGELOG
|
||||
|
||||
v6.1.2 (2015-10-05)
|
||||
--------------------
|
||||
- Amazon Linux 2015.09
|
||||
This file is used to list changes made in each version of the mysql cookbook.
|
||||
|
||||
## v6.1.3 (2016-03-14)
|
||||
|
||||
- Added support for Ubuntu 15.10
|
||||
- Added support for Amazon Linux 2016-03
|
||||
- Updated Kitchen testing configs
|
||||
|
||||
## v6.1.2 (2015-10-05)
|
||||
|
||||
- Added support for Amazon Linux 2015.09
|
||||
|
||||
## v6.1.1 (2015-09-24)
|
||||
|
||||
v6.1.1 (2015-09-24)
|
||||
--------------------
|
||||
- Completing ChefSpec matchers
|
||||
|
||||
v6.1.0 (2015-07-17)
|
||||
--------------------
|
||||
## v6.1.0 (2015-07-17)
|
||||
|
||||
- Adding tunables for tmp_dir, error_log, and pid_file
|
||||
- Adding mysqld_options hash interface for main my.cnf template
|
||||
|
||||
v6.0.31 (2015-07-13)
|
||||
--------------------
|
||||
## v6.0.31 (2015-07-13)
|
||||
|
||||
- Reverting create_stop_system_service checks
|
||||
|
||||
v6.0.30 (2015-07-13)
|
||||
--------------------
|
||||
## v6.0.30 (2015-07-13)
|
||||
|
||||
- Ubuntu 15.04 support
|
||||
- Check for scripts and unit files during create_stop_system_service
|
||||
|
||||
v6.0.29 (2015-07-12)
|
||||
--------------------
|
||||
## v6.0.29 (2015-07-12)
|
||||
|
||||
- Patch to allow blank root password
|
||||
- Adding package information for Suse 12.0
|
||||
|
||||
v6.0.28 (2015-07-10)
|
||||
--------------------
|
||||
## v6.0.28 (2015-07-10)
|
||||
|
||||
- Fixes for 12.4.x
|
||||
|
||||
v6.0.27 (2015-07-09)
|
||||
--------------------
|
||||
## v6.0.27 (2015-07-09)
|
||||
|
||||
- Allowing integer value for port number
|
||||
|
||||
v6.0.26 (2015-07-07)
|
||||
--------------------
|
||||
## v6.0.26 (2015-07-07)
|
||||
|
||||
- Reverting breaking changes introduced in 6.0.25
|
||||
|
||||
v6.0.25 (2015-07-06)
|
||||
--------------------
|
||||
## v6.0.25 (2015-07-06)
|
||||
|
||||
- Fixes for 12.4.1
|
||||
|
||||
v6.0.24 (2015-06-27)
|
||||
--------------------
|
||||
- #341 - Changing default GRANT for root from '%' to 'localhost' and '127.0.0.1'
|
||||
## v6.0.24 (2015-06-27)
|
||||
|
||||
v6.0.23 (2015-06-21)
|
||||
--------------------
|
||||
- #354 Better handling of long MySQL startup times
|
||||
- 341 - Changing default GRANT for root from '%' to 'localhost' and '127.0.0.1'
|
||||
|
||||
## v6.0.23 (2015-06-21)
|
||||
|
||||
- 354 Better handling of long MySQL startup times
|
||||
|
||||
## v6.0.22 (2015-05-07)
|
||||
|
||||
v6.0.22 (2015-05-07)
|
||||
--------------------
|
||||
- Debian 8 (Jessie) support
|
||||
|
||||
v6.0.21 (2015-04-08)
|
||||
--------------------
|
||||
## v6.0.21 (2015-04-08)
|
||||
|
||||
- Fix to Upstart prestart script when using custom socket
|
||||
- Adding --explicit_defaults_for_timestamp mysql_install_db_cmd for
|
||||
5.6 and above
|
||||
- 5.6 and above
|
||||
|
||||
v6.0.20 (2015-03-27)
|
||||
--------------------
|
||||
- #318 - Fixing Upstart pre-start script to handle custom socket paths
|
||||
## v6.0.20 (2015-03-27)
|
||||
|
||||
- 318 - Fixing Upstart pre-start script to handle custom socket paths
|
||||
|
||||
## v6.0.19 (2015-03-25)
|
||||
|
||||
v6.0.19 (2015-03-25)
|
||||
--------------------
|
||||
- Adding support for Amazon Linux 2015.03
|
||||
|
||||
v6.0.18 (2015-03-24)
|
||||
--------------------
|
||||
## v6.0.18 (2015-03-24)
|
||||
|
||||
- Adding support for 5.6 and 5.7 packages from dotdeb repos on Debian 7
|
||||
|
||||
v6.0.17 (2015-03-13)
|
||||
--------------------
|
||||
## v6.0.17 (2015-03-13)
|
||||
|
||||
- Updated for MySQL 5.7.6.
|
||||
- Handing removal of mysql_install_db and mysqld_safe
|
||||
|
||||
v6.0.16 (2015-03-10)
|
||||
--------------------
|
||||
## v6.0.16 (2015-03-10)
|
||||
|
||||
- Moved --defaults-file as first option to mysql_install_db_script
|
||||
|
||||
v6.0.15 (2015-02-26)
|
||||
--------------------
|
||||
## v6.0.15 (2015-02-26)
|
||||
|
||||
- Updating docker detection fix to pass specs
|
||||
|
||||
v6.0.14 (2015-02-26)
|
||||
--------------------
|
||||
## v6.0.14 (2015-02-26)
|
||||
|
||||
- Fixed debian system service :disable action. Now survives reboot
|
||||
- Fixing centos-7 instance :enable action. Now survives
|
||||
- Not applying Apparmor policy if running in a Docker container
|
||||
|
||||
v6.0.13 (2015-02-15)
|
||||
--------------------
|
||||
## v6.0.13 (2015-02-15)
|
||||
|
||||
- Adding support for special characters in initial_root_password
|
||||
- Fixing failure status bug in sysvinit script
|
||||
|
||||
v6.0.12 (2015-02-30)
|
||||
--------------------
|
||||
- No changes. Released a 6.0.11 that was identical to 6.0.10.
|
||||
Git before coffee.
|
||||
## v6.0.12 (2015-02-30)
|
||||
|
||||
- No changes. Released a 6.0.11 that was identical to 6.0.10.
|
||||
- Git before coffee.
|
||||
|
||||
## v6.0.11 (2015-02-30)
|
||||
|
||||
v6.0.11 (2015-02-30)
|
||||
--------------------
|
||||
- Adding support for configurable socket files
|
||||
|
||||
v6.0.10 (2015-01-19)
|
||||
------------------
|
||||
## v6.0.10 (2015-01-19)
|
||||
|
||||
- Fix #282 - Fixing up data_dir template variable
|
||||
|
||||
v6.0.9 (2015-01-19)
|
||||
------------------
|
||||
## v6.0.9 (2015-01-19)
|
||||
|
||||
- Fix #282 - undefined method `parsed_data_dir' bug
|
||||
|
||||
v6.0.8 (2015-01-19)
|
||||
------------------
|
||||
## v6.0.8 (2015-01-19)
|
||||
|
||||
- Refactoring helper methods out of resource classes
|
||||
|
||||
v6.0.7 (2015-01-14)
|
||||
------------------
|
||||
- Fixing timing issue with Upstart provider :restart and :reload
|
||||
actions where service returns before being available
|
||||
## v6.0.7 (2015-01-14)
|
||||
|
||||
- Fixing timing issue with Upstart provider :restart and :reload
|
||||
- actions where service returns before being available
|
||||
|
||||
## v6.0.6 (2014-12-26)
|
||||
|
||||
v6.0.6 (2014-12-26)
|
||||
------------------
|
||||
- Fixing subtle bug where MysqlCookbook::Helper methods were polluting Chef::Resource
|
||||
|
||||
v6.0.5 (2014-12-25)
|
||||
------------------
|
||||
## v6.0.5 (2014-12-25)
|
||||
|
||||
- Using 'include_recipe' instead of 'recipe_eval' in LWRP
|
||||
- Fixing type checking on package_name attribute in mysql_client resource.
|
||||
|
||||
v6.0.4 (2014-12-21)
|
||||
------------------
|
||||
## v6.0.4 (2014-12-21)
|
||||
|
||||
- Suggest available versions if current is not available for current platform.
|
||||
|
||||
v6.0.3 (2014-12-17)
|
||||
------------------
|
||||
## v6.0.3 (2014-12-17)
|
||||
|
||||
- Adding bind_address parameter to mysql_service resource
|
||||
|
||||
v6.0.2 (2014-12-17)
|
||||
------------------
|
||||
## v6.0.2 (2014-12-17)
|
||||
|
||||
- Fixing sysvinit provider to survive reboots
|
||||
|
||||
v6.0.1 (2014-12-16)
|
||||
------------------
|
||||
## v6.0.1 (2014-12-16)
|
||||
|
||||
- Fixing Upstart template to survive reboots
|
||||
|
||||
v6.0.0 (2014-12-15)
|
||||
------------------
|
||||
## v6.0.0 (2014-12-15)
|
||||
|
||||
- Major version update
|
||||
- Cookbook now provides LWRPs instead of recipes
|
||||
- Platform providers re-factored into init system providers
|
||||
@@ -164,12 +171,12 @@ v6.0.0 (2014-12-15)
|
||||
- Refactored acceptance tests
|
||||
- Temporarily dropped FreeBSD support
|
||||
|
||||
v5.6.1 (2014-10-29)
|
||||
------------------
|
||||
## v5.6.1 (2014-10-29)
|
||||
|
||||
- Use Gem::Version instead of Chef::Version
|
||||
|
||||
v5.6.0 (2014-10-29)
|
||||
------------------
|
||||
## v5.6.0 (2014-10-29)
|
||||
|
||||
- Changing default charset to utf8
|
||||
- Quoting passwords in debian.cnf.erb
|
||||
- Amazon 2014.09 support
|
||||
@@ -177,47 +184,47 @@ v5.6.0 (2014-10-29)
|
||||
- Only hide passwords from STDOUT via "sensitive true" in chef-client higher than 11.14
|
||||
- Updating test harness
|
||||
|
||||
v5.5.4 (2014-10-07)
|
||||
------------------
|
||||
## v5.5.4 (2014-10-07)
|
||||
|
||||
- Adding sensitive flag to execute resources to protect passwords from logs
|
||||
|
||||
v5.5.3 (2014-09-24)
|
||||
------------------
|
||||
## v5.5.3 (2014-09-24)
|
||||
|
||||
- Reverting back to Upstart on Ubuntu 14.04
|
||||
|
||||
v5.5.2 (2014-09-8)
|
||||
------------------
|
||||
## v5.5.2 (2014-09-8)
|
||||
|
||||
- Reverting commit that broke Debian pass_string
|
||||
|
||||
v5.5.1 (2014-09-2)
|
||||
------------------
|
||||
## v5.5.1 (2014-09-2)
|
||||
|
||||
- Switching Ubuntu service provider to use SysVinit instead of Upstart
|
||||
|
||||
v5.5.0 (2014-08-27)
|
||||
-------------------
|
||||
## v5.5.0 (2014-08-27)
|
||||
|
||||
- Adding package version and action parameters to mysql_service resource
|
||||
- Fixing Debian pass_string
|
||||
|
||||
v5.4.4 (2014-08-27)
|
||||
-------------------
|
||||
## v5.4.4 (2014-08-27)
|
||||
|
||||
- Changing module namespace to MysqlCookbook
|
||||
|
||||
v5.4.3 (2014-08-25)
|
||||
-------------------
|
||||
## v5.4.3 (2014-08-25)
|
||||
|
||||
- More refactoring. Moving helper function bits into resource parsed_parameters
|
||||
|
||||
v5.4.2 (2014-08-25)
|
||||
-------------------
|
||||
## v5.4.2 (2014-08-25)
|
||||
|
||||
- Moving provider local variables into definitions for RHEL provider
|
||||
|
||||
v5.4.1 (2014-08-25)
|
||||
-------------------
|
||||
## v5.4.1 (2014-08-25)
|
||||
|
||||
- Refactoring resources into the LWRP style with parsed parameters
|
||||
- Moving provider local variables into definitions
|
||||
|
||||
v5.4.0 (2014-08-25)
|
||||
-------------------
|
||||
- #212 - support for centos-7 (mysql55 and mysql56)
|
||||
## v5.4.0 (2014-08-25)
|
||||
|
||||
- 212 - support for centos-7 (mysql55 and mysql56)
|
||||
- Adding (untested) Debian-6 support
|
||||
- Adding Suse support to metadata.rb
|
||||
- Adding ability to change MySQL root password
|
||||
@@ -225,198 +232,170 @@ v5.4.0 (2014-08-25)
|
||||
- Appeasing AppArmor
|
||||
- Reducing duplication in client provider
|
||||
|
||||
v5.3.6 (2014-06-18)
|
||||
-------------------
|
||||
## v5.3.6 (2014-06-18)
|
||||
|
||||
- Fixing pid path location. Updating tests to include real RHEL
|
||||
|
||||
## v5.3.4 (2014-06-16)
|
||||
|
||||
v5.3.4 (2014-06-16)
|
||||
-------------------
|
||||
- Fixing specs for Amazon Linux server package names
|
||||
|
||||
## v5.3.2 (2014-06-16)
|
||||
|
||||
v5.3.2 (2014-06-16)
|
||||
-------------------
|
||||
- Fixing Amazon Linux support
|
||||
|
||||
## v5.3.0 (2014-06-11)
|
||||
|
||||
v5.3.0 (2014-06-11)
|
||||
-------------------
|
||||
- #189 - Fix server_repl_password description
|
||||
- #191 - Adding support for server55 and server56 on el-6
|
||||
- #193 - Fix syntax in mysql_service example
|
||||
- #199 - Adding Suse support
|
||||
- 189 - Fix server_repl_password description
|
||||
- 191 - Adding support for server55 and server56 on el-6
|
||||
- 193 - Fix syntax in mysql_service example
|
||||
- 199 - Adding Suse support
|
||||
|
||||
## v5.2.12 (2014-05-19)
|
||||
|
||||
v5.2.12 (2014-05-19)
|
||||
--------------------
|
||||
PR #192 - recipes/server.rb should honor parameter node['mysql']['version']
|
||||
|
||||
## v5.2.10 (2014-05-15)
|
||||
|
||||
v5.2.10 (2014-05-15)
|
||||
--------------------
|
||||
- COOK-4394 - restore freebsd support
|
||||
|
||||
## v5.2.8 (2014-05-15)
|
||||
|
||||
v5.2.8 (2014-05-15)
|
||||
-------------------
|
||||
- [COOK-4653] - Missing mySQL 5.6 support for Ubuntu 14.04
|
||||
|
||||
## v5.2.6 (2014-05-07)
|
||||
|
||||
v5.2.6 (2014-05-07)
|
||||
-------------------
|
||||
- [COOK-4625] - Fix password resource parameter consumption on Debian and Ubuntu
|
||||
- Fix up typos and version numbers in PLATFORMS.md
|
||||
- Fix up specs from COOK-4613 changes
|
||||
|
||||
## v5.2.4 (2014-05-02)
|
||||
|
||||
v5.2.4 (2014-05-02)
|
||||
-------------------
|
||||
- [COOK-4613] - Fix permissions on mysql data_dir to allow global access to mysql.sock
|
||||
|
||||
## v5.2.2 (2014-04-24)
|
||||
|
||||
v5.2.2 (2014-04-24)
|
||||
-------------------
|
||||
- [COOK-4564] - Using positive tests for datadir move
|
||||
|
||||
## v5.2.0 (2014-04-22)
|
||||
|
||||
v5.2.0 (2014-04-22)
|
||||
-------------------
|
||||
- [COOK-4551] - power grants.sql from resource parameters
|
||||
|
||||
## v5.1.12 (2014-04-21)
|
||||
|
||||
v5.1.12 (2014-04-21)
|
||||
--------------------
|
||||
- [COOK-4554] - Support for Debian Sid
|
||||
|
||||
## v5.1.10 (2014-04-21)
|
||||
|
||||
v5.1.10 (2014-04-21)
|
||||
--------------------
|
||||
- [COOK-4565] Support for Ubuntu 14.04
|
||||
- [COOK-4565] Adding Specs and TK platform
|
||||
- Removing non-LTS 13.10 specs and TK platform
|
||||
|
||||
## v5.1.8 (2014-04-12)
|
||||
|
||||
v5.1.8 (2014-04-12)
|
||||
-------------------
|
||||
Adding Ubuntu 13.04 to Platforminfo
|
||||
|
||||
## v5.1.6 (2014-04-11)
|
||||
|
||||
v5.1.6 (2014-04-11)
|
||||
-------------------
|
||||
- [COOK-4548] - Add template[/etc/mysql/debian.cnf] to Ubuntu provider
|
||||
|
||||
## v5.1.4 (2014-04-11)
|
||||
|
||||
v5.1.4 (2014-04-11)
|
||||
-------------------
|
||||
- [COOK-4547] - Shellescape server_root_password
|
||||
|
||||
## v5.1.2 (2014-04-09)
|
||||
|
||||
v5.1.2 (2014-04-09)
|
||||
-------------------
|
||||
- [COOK-4519] - Fix error in run_dir for Ubuntu
|
||||
- [COOK-4531] - Fix pid and run_dir for Debian
|
||||
|
||||
## v5.1.0 (2014-04-08)
|
||||
|
||||
v5.1.0 (2014-04-08)
|
||||
-------------------
|
||||
[COOK-4523] - Allow for both :restart and :reload
|
||||
|
||||
## v5.0.6 (2014-04-07)
|
||||
|
||||
v5.0.6 (2014-04-07)
|
||||
-------------------
|
||||
- [COOK-4519] - Updating specs to reflect pid file change on Ubuntu
|
||||
|
||||
## v5.0.4 (2014-04-07)
|
||||
|
||||
v5.0.4 (2014-04-07)
|
||||
-------------------
|
||||
- [COOK-4519] - Fix path to pid file on Ubuntu
|
||||
|
||||
## v5.0.2 (2014-04-01)
|
||||
|
||||
v5.0.2 (2014-04-01)
|
||||
-------------------
|
||||
- Moving server_deprecated into recipes directory
|
||||
|
||||
## v5.0.0 (2014-03-31)
|
||||
|
||||
v5.0.0 (2014-03-31)
|
||||
-------------------
|
||||
- Rewriting as a library cookbook
|
||||
- Exposing mysql_service and mysql_client resources
|
||||
- User now needs to supply configuration
|
||||
- Moving attribute driven recipe to server-deprecated
|
||||
|
||||
## v4.1.2 (2014-02-28)
|
||||
|
||||
v4.1.2 (2014-02-28)
|
||||
-------------------
|
||||
- [COOK-4349] - Fix invalid platform check
|
||||
- [COOK-4184] - Better handling of Ubuntu upstart service
|
||||
- [COOK-2100] - Changing innodb_log_file_size tunable results in inability to start MySQL
|
||||
|
||||
## v4.1.1 (2014-02-25)
|
||||
|
||||
v4.1.1 (2014-02-25)
|
||||
-------------------
|
||||
- **[COOK-2966] - Address foodcritic failures'
|
||||
- **[COOK-4182] - Template parse failure in /etc/init/mysql.conf (data_dir)'
|
||||
- **[COOK-4198] - Added missing tunable'
|
||||
- **[COOK-4206] - create root@127.0.0.1, as well as root@localhost'
|
||||
|
||||
## v4.0.20 (2014-01-18)
|
||||
|
||||
v4.0.20 (2014-01-18)
|
||||
--------------------
|
||||
* [COOK-3931] - MySQL Server Recipe Regression for Non-LTS Ubuntu Versions
|
||||
* [COOK-3945] - MySQL cookbook fails on Ubuntu 13.04/13.10
|
||||
* [COOK-3966] - mysql::server recipe can't find a template with debian 7.x
|
||||
* [COOK-3985] - Missing /etc/mysql/debian.cnf template on mysql::_server_debian.rb recipe (mysql 4.0.4)
|
||||
* [COOK-3974] - debian.cnf not updated
|
||||
* [COOK-4001] - Pull request: Fixes for broken mysql::server on Debian
|
||||
* [COOK-4071] - Mysql cookbook doesn't work on debian 7.2
|
||||
- [COOK-3931] - MySQL Server Recipe Regression for Non-LTS Ubuntu Versions
|
||||
- [COOK-3945] - MySQL cookbook fails on Ubuntu 13.04/13.10
|
||||
- [COOK-3966] - mysql::server recipe can't find a template with debian 7.x
|
||||
- [COOK-3985] - Missing /etc/mysql/debian.cnf template on mysql::_server_debian.rb recipe (mysql 4.0.4)
|
||||
- [COOK-3974] - debian.cnf not updated
|
||||
- [COOK-4001] - Pull request: Fixes for broken mysql::server on Debian
|
||||
- [COOK-4071] - Mysql cookbook doesn't work on debian 7.2
|
||||
|
||||
## v4.0.14
|
||||
|
||||
v4.0.14
|
||||
-------
|
||||
Fixing style cops
|
||||
|
||||
## v4.0.12
|
||||
|
||||
v4.0.12
|
||||
-------
|
||||
### Bug
|
||||
|
||||
- **[COOK-4068](https://tickets.chef.io/browse/COOK-4068)** - rework MySQL Windows recipe
|
||||
|
||||
### Improvement
|
||||
|
||||
- **[COOK-3801](https://tickets.chef.io/browse/COOK-3801)** - Add innodb_adaptive_flushing_method and innodb_adaptive_checkpoint
|
||||
|
||||
## v4.0.10
|
||||
|
||||
v4.0.10
|
||||
-------
|
||||
fixing metadata version error. locking to 3.0
|
||||
|
||||
## v4.0.8
|
||||
|
||||
v4.0.8
|
||||
------
|
||||
Locking yum dependency to '< 3'
|
||||
|
||||
## v4.0.6
|
||||
|
||||
v4.0.6
|
||||
------
|
||||
# Bug
|
||||
|
||||
- [COOK-3943] Notifying service restart on grants update
|
||||
|
||||
## v4.0.4
|
||||
|
||||
v4.0.4
|
||||
------
|
||||
[COOK-3952] - Adding 'recursive true' to directory resources
|
||||
|
||||
## v4.0.2
|
||||
|
||||
v4.0.2
|
||||
------
|
||||
### BUGS
|
||||
|
||||
- Adding support for Amazon Linux in attributes/server_rhel.rb
|
||||
- Fixing bug where unprivileged users cannot connect over a local socket. Adding integration test.
|
||||
- Fixing bug in mysql_grants_cmd generation
|
||||
|
||||
## v4.0.0
|
||||
|
||||
v4.0.0
|
||||
------
|
||||
- [COOK-3928] Heavily refactoring for readability. Moving platform implementation into separate recipes
|
||||
- Moving integration tests from minitest to serverspec, removing "improper" tests
|
||||
- Moving many attributes into the ['mysql']['server']['whatever'] namespace
|
||||
@@ -426,27 +405,26 @@ v4.0.0
|
||||
- [COOK-3807] - Don't use execute[assign-root-password] on Debian and Ubuntu
|
||||
- [COOK-3881] - Fixing /etc being owned by mysql user
|
||||
|
||||
## v3.0.12
|
||||
|
||||
v3.0.12
|
||||
-------
|
||||
### Bug
|
||||
|
||||
- **[COOK-3752](https://tickets.chef.io/browse/COOK-3752)** - mysql service fails to start in mysql::server recipe
|
||||
|
||||
## v3.0.10
|
||||
|
||||
v3.0.10
|
||||
-------
|
||||
- Fix a failed release attempt for v3.0.8
|
||||
|
||||
## v3.0.8
|
||||
|
||||
v3.0.8
|
||||
------
|
||||
### Bug
|
||||
|
||||
- **[COOK-3749](https://tickets.chef.io/browse/COOK-3749)** - Fix a regression with Chef 11-specific features
|
||||
|
||||
## v3.0.6
|
||||
|
||||
v3.0.6
|
||||
------
|
||||
### Bug
|
||||
|
||||
- **[COOK-3674](https://tickets.chef.io/browse/COOK-3674)** - Fix an issue where the MySQL server fails to set the root password correctly when `data_dir` is a non-default value
|
||||
- **[COOK-3647](https://tickets.chef.io/browse/COOK-3647)** - Fix README typo (databas => database)
|
||||
- **[COOK-3477](https://tickets.chef.io/browse/COOK-3477)** - Fix log-queries-not-using-indexes not working
|
||||
@@ -457,30 +435,33 @@ v3.0.6
|
||||
- **[COOK-2606](https://tickets.chef.io/browse/COOK-2606)** - Use proper bind address on cloud providers
|
||||
|
||||
### Improvement
|
||||
|
||||
- **[COOK-3498](https://tickets.chef.io/browse/COOK-3498)** - Add support for replicate_* variables in my.cnf
|
||||
|
||||
## v3.0.4
|
||||
|
||||
v3.0.4
|
||||
------
|
||||
### Bug
|
||||
|
||||
- **[COOK-3310](https://tickets.chef.io/browse/COOK-3310)** - Fix missing `GRANT` option
|
||||
- **[COOK-3233](https://tickets.chef.io/browse/COOK-3233)** - Fix escaping special characters
|
||||
- **[COOK-3156](https://tickets.chef.io/browse/COOK-3156)** - Fix GRANTS file when `remote_root_acl` is specified
|
||||
- **[COOK-3134](https://tickets.chef.io/browse/COOK-3134)** - Fix Chef 11 support
|
||||
- **[COOK-2318](https://tickets.chef.io/browse/COOK-2318)** - Remove redundant `if` block around `node.mysql.tunable.log_bin`
|
||||
|
||||
v3.0.2
|
||||
------
|
||||
## v3.0.2
|
||||
|
||||
### Bug
|
||||
|
||||
- [COOK-2158]: apt-get update is run twice at compile time
|
||||
- [COOK-2832]: mysql grants.sql file has errors depending on attrs
|
||||
- [COOK-2995]: server.rb is missing a platform_family comparison value
|
||||
|
||||
### Sub-task
|
||||
|
||||
- [COOK-2102]: `innodb_flush_log_at_trx_commit` value is incorrectly set based on CPU count
|
||||
|
||||
v3.0.0
|
||||
------
|
||||
## v3.0.0
|
||||
|
||||
**Note** This is a backwards incompatible version with previous versions of the cookbook. Tickets that introduce incompatibility are COOK-2615 and COOK-2617.
|
||||
|
||||
- [COOK-2478] - Duplicate 'read_only' server attribute in base and tunable
|
||||
@@ -501,24 +482,24 @@ v3.0.0
|
||||
- [COOK-2618] - myisam-recover not using attribute value
|
||||
- [COOK-2617] - open-files is a duplicate of open-files-limit
|
||||
|
||||
v2.1.2
|
||||
------
|
||||
## v2.1.2
|
||||
|
||||
- [COOK-2172] - Mysql cookbook duplicates `binlog_format` configuration
|
||||
|
||||
v2.1.0
|
||||
------
|
||||
## v2.1.0
|
||||
|
||||
- [COOK-1669] - Using platform("ubuntu") in default attributes always returns true
|
||||
- [COOK-1694] - Added additional my.cnf fields and reorganized cookbook to avoid race conditions with mysql startup and sql script execution
|
||||
- [COOK-1851] - Support server-id and binlog_format settings
|
||||
- [COOK-1929] - Update msyql server attributes file because setting attributes without specifying a precedence is deprecated
|
||||
- [COOK-1999] - Add read_only tunable useful for replication slave servers
|
||||
|
||||
v2.0.2
|
||||
------
|
||||
## v2.0.2
|
||||
|
||||
- [COOK-1967] - mysql: trailing comma in server.rb platform family
|
||||
|
||||
v2.0.0
|
||||
------
|
||||
## v2.0.0
|
||||
|
||||
**Important note for this release**
|
||||
|
||||
Under Chef Solo, you must set the node attributes for the root, debian and repl passwords or the run will completely fail. See COOK-1737 for background on this.
|
||||
@@ -534,8 +515,8 @@ Under Chef Solo, you must set the node attributes for the root, debian and repl
|
||||
- [COOK-1769] - link to database recipe in mysql README goes to old chef/cookbooks repo instead of chef-cookbook organization
|
||||
- [COOK-1963] - use `platform_family`
|
||||
|
||||
v1.3.0
|
||||
------
|
||||
## v1.3.0
|
||||
|
||||
**Important note for this release**
|
||||
|
||||
This version no longer installs Ruby bindings in the client recipe by default. Use the ruby recipe if you'd like the RubyGem. If you'd like packages from your distribution, use them in your application's specific cookbook/recipe, or modify the client packages attribute. This resolves the following tickets:
|
||||
@@ -558,56 +539,56 @@ The following issues are also addressed in this release.
|
||||
- [COOK-934] - remove deprecated mysql/libraries/database.rb, use the database cookbook instead.
|
||||
- [COOK-1475] - fix restart on config change
|
||||
|
||||
v1.2.6
|
||||
------
|
||||
## v1.2.6
|
||||
|
||||
- [COOK-1113] - Use an attribute to determine if upstart is used
|
||||
- [COOK-1121] - Add support for Windows
|
||||
- [COOK-1140] - Fix conf.d on Debian
|
||||
- [COOK-1151] - Fix server_ec2 handling /var/lib/mysql bind mount
|
||||
- [COOK-1321] - Document setting password attributes for solo
|
||||
|
||||
v1.2.4
|
||||
------
|
||||
## v1.2.4
|
||||
|
||||
- [COOK-992] - fix FATAL nameerror
|
||||
- [COOK-827] - `mysql:server_ec2` recipe can't mount `data_dir`
|
||||
- [COOK-945] - FreeBSD support
|
||||
|
||||
v1.2.2
|
||||
------
|
||||
## v1.2.2
|
||||
|
||||
- [COOK-826] mysql::server recipe doesn't quote password string
|
||||
- [COOK-834] Add 'scientific' and 'amazon' platforms to mysql cookbook
|
||||
|
||||
v1.2.1
|
||||
------
|
||||
## v1.2.1
|
||||
|
||||
- [COOK-644] Mysql client cookbook 'package missing' error message is confusing
|
||||
- [COOK-645] RHEL6/CentOS6 - mysql cookbook contains 'skip-federated' directive which is unsupported on MySQL 5.1
|
||||
|
||||
v1.2.0
|
||||
------
|
||||
## v1.2.0
|
||||
|
||||
- [COOK-684] remove mysql_database LWRP
|
||||
|
||||
v1.0.8
|
||||
------
|
||||
## v1.0.8
|
||||
|
||||
- [COOK-633] ensure "cloud" attribute is available
|
||||
|
||||
v1.0.7
|
||||
------
|
||||
## v1.0.7
|
||||
|
||||
- [COOK-614] expose all mysql tunable settings in config
|
||||
- [COOK-617] bind to private IP if available
|
||||
|
||||
v1.0.6
|
||||
------
|
||||
## v1.0.6
|
||||
|
||||
- [COOK-605] install mysql-client package on ubuntu/debian
|
||||
|
||||
v1.0.5
|
||||
------
|
||||
## v1.0.5
|
||||
|
||||
- [COOK-465] allow optional remote root connections to mysql
|
||||
- [COOK-455] improve platform version handling
|
||||
- externalize conf_dir attribute for easier cross platform support
|
||||
- change datadir attribute to data_dir for consistency
|
||||
|
||||
v1.0.4
|
||||
------
|
||||
## v1.0.4
|
||||
|
||||
- fix regressions on debian platform
|
||||
- [COOK-578] wrap root password in quotes
|
||||
- [COOK-562] expose all tunables in my.cnf
|
||||
|
||||
2
cookbooks/mysql/CONTRIBUTING.md
Normal file
2
cookbooks/mysql/CONTRIBUTING.md
Normal file
@@ -0,0 +1,2 @@
|
||||
Please refer to
|
||||
https://github.com/chef-cookbooks/community_cookbook_documentation/blob/master/CONTRIBUTING.MD
|
||||
19
cookbooks/mysql/MAINTAINERS.md
Normal file
19
cookbooks/mysql/MAINTAINERS.md
Normal file
@@ -0,0 +1,19 @@
|
||||
<!-- This is a generated file. Please do not edit directly -->
|
||||
|
||||
# Maintainers
|
||||
This file lists how this cookbook project is maintained. When making changes to the system, this
|
||||
file tells you who needs to review your patch - you need a simple majority of maintainers
|
||||
for the relevant subsystems to provide a :+1: on your pull request. Additionally, you need
|
||||
to not receive a veto from a Lieutenant or the Project Lead.
|
||||
|
||||
Check out [How Cookbooks are Maintained](https://github.com/chef-cookbooks/community_cookbook_documentation/blob/master/CONTRIBUTING.MD)
|
||||
for details on the process and how to become a maintainer or the project lead.
|
||||
|
||||
# Project Maintainer
|
||||
* [Tim Smith](https://github.com/tas50)
|
||||
|
||||
# Maintainers
|
||||
* [Jennifer Davis](https://github.com/sigje)
|
||||
* [Sean OMeara](https://github.com/someara)
|
||||
* [Tim Smith](https://github.com/tas50)
|
||||
* [Thom May](https://github.com/thommay)
|
||||
@@ -1,28 +1,22 @@
|
||||
MySQL Cookbook
|
||||
=====================
|
||||
# MySQL Cookbook
|
||||
|
||||
[](https://gitter.im/chef-cookbooks/mysql?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
||||
[](https://travis-ci.org/chef-cookbooks/mysql) [](https://supermarket.chef.io/cookbooks/mysql)
|
||||
|
||||
The Mysql Cookbook is a library cookbook that provides resource primitives
|
||||
(LWRPs) for use in recipes. It is designed to be a reference example for
|
||||
creating highly reusable cross-platform cookbooks.
|
||||
The Mysql Cookbook is a library cookbook that provides resource primitives (LWRPs) for use in recipes. It is designed to be a reference example for creating highly reusable cross-platform cookbooks.
|
||||
|
||||
Scope
|
||||
-----
|
||||
This cookbook is concerned with the "MySQL Community Server",
|
||||
particularly those shipped with F/OSS Unix and Linux distributions. It
|
||||
does not address forks or value-added repackaged MySQL distributions
|
||||
like Drizzle, MariaDB, or Percona.
|
||||
## Scope
|
||||
|
||||
This cookbook is concerned with the "MySQL Community Server", particularly those shipped with F/OSS Unix and Linux distributions. It does not address forks or value-added repackaged MySQL distributions like Drizzle, MariaDB, or Percona.
|
||||
|
||||
## Requirements
|
||||
|
||||
Requirements
|
||||
------------
|
||||
- Chef 11 or higher
|
||||
- Ruby 1.9 or higher (preferably from the Chef full-stack installer)
|
||||
- Network accessible package repositories
|
||||
- 'recipe[selinux::disabled]' on RHEL platforms
|
||||
|
||||
Platform Support
|
||||
----------------
|
||||
## Platform Support
|
||||
|
||||
The following platforms have been tested with Test Kitchen:
|
||||
|
||||
```
|
||||
@@ -31,8 +25,6 @@ The following platforms have been tested with Test Kitchen:
|
||||
|----------------+-----+-----+-----+-----+-----|
|
||||
| debian-7 | | | X | | |
|
||||
|----------------+-----+-----+-----+-----+-----|
|
||||
| ubuntu-10.04 | | X | | | |
|
||||
|----------------+-----+-----+-----+-----+-----|
|
||||
| ubuntu-12.04 | | | X | | |
|
||||
|----------------+-----+-----+-----+-----+-----|
|
||||
| ubuntu-14.04 | | | X | X | |
|
||||
@@ -47,24 +39,21 @@ The following platforms have been tested with Test Kitchen:
|
||||
|----------------+-----+-----+-----+-----+-----|
|
||||
| amazon | | | X | X | X |
|
||||
|----------------+-----+-----+-----+-----+-----|
|
||||
| fedora-20 | | | X | X | X |
|
||||
| fedora-22 | | | X | X | X |
|
||||
|----------------+-----+-----+-----+-----+-----|
|
||||
| suse-11.3 | | | X | | |
|
||||
|----------------+-----+-----+-----+-----+-----|
|
||||
| omnios-151006 | | | X | X | |
|
||||
|----------------+-----+-----+-----+-----+-----|
|
||||
| smartos-14.3.0 | | | X | X | |
|
||||
| fedora-23 | | | X | X | X |
|
||||
|----------------+-----+-----+-----+-----+-----|
|
||||
```
|
||||
|
||||
Cookbook Dependencies
|
||||
------------
|
||||
## Cookbook Dependencies
|
||||
|
||||
- yum-mysql-community
|
||||
- smf
|
||||
|
||||
Usage
|
||||
-----
|
||||
## Usage
|
||||
|
||||
Place a dependency on the mysql cookbook in your cookbook's metadata.rb
|
||||
|
||||
```ruby
|
||||
depends 'mysql', '~> 6.0'
|
||||
```
|
||||
@@ -80,11 +69,9 @@ mysql_service 'foo' do
|
||||
end
|
||||
```
|
||||
|
||||
The service name on the OS is `mysql-foo`. You can manually start and
|
||||
stop it with `service mysql-foo start` and `service mysql-foo stop`.
|
||||
The service name on the OS is `mysql-foo`. You can manually start and stop it with `service mysql-foo start` and `service mysql-foo stop`.
|
||||
|
||||
The configuration file is at `/etc/mysql-foo/my.cnf`. It contains the
|
||||
minimum options to get the service running. It looks like this.
|
||||
The configuration file is at `/etc/mysql-foo/my.cnf`. It contains the minimum options to get the service running. It looks like this.
|
||||
|
||||
```
|
||||
# Chef generated my.cnf for instance mysql-foo
|
||||
@@ -111,8 +98,7 @@ log-error = /var/log/mysql-foo/error.log
|
||||
socket = /var/run/mysql-foo/mysqld.sock
|
||||
```
|
||||
|
||||
You can put extra configuration into the conf.d directory by using the
|
||||
`mysql_config` resource, like this:
|
||||
You can put extra configuration into the conf.d directory by using the `mysql_config` resource, like this:
|
||||
|
||||
```ruby
|
||||
mysql_service 'foo' do
|
||||
@@ -129,130 +115,65 @@ mysql_config 'foo' do
|
||||
end
|
||||
```
|
||||
|
||||
You are responsible for providing `my_extra_settings.erb` in your own
|
||||
cookbook's templates folder.
|
||||
You are responsible for providing `my_extra_settings.erb` in your own cookbook's templates folder.
|
||||
|
||||
Connecting with the mysql CLI command
|
||||
-------------------------------------
|
||||
Logging into the machine and typing `mysql` with no extra arguments
|
||||
will fail. You need to explicitly connect over the socket with `mysql
|
||||
-S /var/run/mysql-foo/mysqld.sock`, or over the network with `mysql -h
|
||||
127.0.0.1`
|
||||
## Connecting with the mysql CLI command
|
||||
|
||||
Upgrading from older version of the mysql cookbook
|
||||
--------------------------------------------------
|
||||
- It is strongly recommended that you rebuild the machine from
|
||||
scratch. This is easy if you have your `data_dir` on a dedicated
|
||||
mount point. If you *must* upgrade in-place, follow the instructions
|
||||
below.
|
||||
Logging into the machine and typing `mysql` with no extra arguments will fail. You need to explicitly connect over the socket with `mysql -S /var/run/mysql-foo/mysqld.sock`, or over the network with `mysql -h 127.0.0.1`
|
||||
|
||||
- The 6.x series supports multiple service instances on a single
|
||||
machine. It dynamically names the support directories and service
|
||||
names. `/etc/mysql becomes /etc/mysql-instance_name`. Other support
|
||||
directories in `/var` `/run` etc work the same way. Make sure to
|
||||
specify the `data_dir` property on the `mysql_service` resource to
|
||||
point to the old `/var/lib/mysql` directory.
|
||||
## Upgrading from older version of the mysql cookbook
|
||||
|
||||
- It is strongly recommended that you rebuild the machine from scratch. This is easy if you have your `data_dir` on a dedicated mount point. If you _must_ upgrade in-place, follow the instructions below.
|
||||
- The 6.x series supports multiple service instances on a single machine. It dynamically names the support directories and service names. `/etc/mysql becomes /etc/mysql-instance_name`. Other support directories in `/var` `/run` etc work the same way. Make sure to specify the `data_dir` property on the `mysql_service` resource to point to the old `/var/lib/mysql` directory.
|
||||
|
||||
## Resources Overview
|
||||
|
||||
Resources Overview
|
||||
------------------
|
||||
### mysql_service
|
||||
|
||||
The `mysql_service` resource manages the basic plumbing needed to get a
|
||||
MySQL server instance running with minimal configuration.
|
||||
The `mysql_service` resource manages the basic plumbing needed to get a MySQL server instance running with minimal configuration.
|
||||
|
||||
The `:create` action handles package installation, support
|
||||
directories, socket files, and other operating system level concerns.
|
||||
The internal configuration file contains just enough to get the
|
||||
service up and running, then loads extra configuration from a conf.d
|
||||
directory. Further configurations are managed with the `mysql_config` resource.
|
||||
The `:create` action handles package installation, support directories, socket files, and other operating system level concerns. The internal configuration file contains just enough to get the service up and running, then loads extra configuration from a conf.d directory. Further configurations are managed with the `mysql_config` resource.
|
||||
|
||||
- If the `data_dir` is empty, a database will be initialized, and a
|
||||
root user will be set up with `initial_root_password`. If this
|
||||
directory already contains database files, no action will be taken.
|
||||
- root user will be set up with `initial_root_password`. If this
|
||||
- directory already contains database files, no action will be taken.
|
||||
|
||||
The `:start` action starts the service on the machine using the
|
||||
appropriate provider for the platform. The `:start` action should be
|
||||
omitted when used in recipes designed to build containers.
|
||||
The `:start` action starts the service on the machine using the appropriate provider for the platform. The `:start` action should be omitted when used in recipes designed to build containers.
|
||||
|
||||
#### Example
|
||||
|
||||
```ruby
|
||||
mysql_service 'default' do
|
||||
version '5.7'
|
||||
bind_address '0.0.0.0'
|
||||
port '3306'
|
||||
port '3306'
|
||||
data_dir '/data'
|
||||
initial_root_password 'Ch4ng3me'
|
||||
action [:create, :start]
|
||||
end
|
||||
```
|
||||
|
||||
Please note that when using `notifies` or `subscribes`, the resource
|
||||
to reference is `mysql_service[name]`, not `service[mysql]`.
|
||||
Please note that when using `notifies` or `subscribes`, the resource to reference is `mysql_service[name]`, not `service[mysql]`.
|
||||
|
||||
#### Parameters
|
||||
|
||||
- `charset` - specifies the default character set. Defaults to `utf8`.
|
||||
|
||||
- `data_dir` - determines where the actual data files are kept
|
||||
on the machine. This is useful when mounting external storage. When
|
||||
omitted, it will default to the platform's native location.
|
||||
|
||||
- `data_dir` - determines where the actual data files are kept on the machine. This is useful when mounting external storage. When omitted, it will default to the platform's native location.
|
||||
- `error_log` - Tunable location of the error_log
|
||||
|
||||
- `initial_root_password` - allows the user to specify the initial
|
||||
root password for mysql when initializing new databases.
|
||||
This can be set explicitly in a recipe, driven from a node
|
||||
attribute, or from data_bags. When omitted, it defaults to
|
||||
`ilikerandompasswords`. Please be sure to change it.
|
||||
|
||||
- `instance` - A string to identify the MySQL service. By convention,
|
||||
to allow for multiple instances of the `mysql_service`, directories
|
||||
and files on disk are named `mysql-<instance_name>`. Defaults to the
|
||||
resource name.
|
||||
|
||||
- `initial_root_password` - allows the user to specify the initial root password for mysql when initializing new databases. This can be set explicitly in a recipe, driven from a node attribute, or from data_bags. When omitted, it defaults to `ilikerandompasswords`. Please be sure to change it.
|
||||
- `instance` - A string to identify the MySQL service. By convention, to allow for multiple instances of the `mysql_service`, directories and files on disk are named `mysql-<instance_name>`. Defaults to the resource name.
|
||||
- `package_action` - Defaults to `:install`.
|
||||
|
||||
- `package_name` - Defaults to a value looked up in an internal map.
|
||||
|
||||
- `package_version` - Specific version of the package to install,
|
||||
passed onto the underlying package manager. Defaults to `nil`.
|
||||
|
||||
- `bind_address` - determines the listen IP address for the mysqld service. When
|
||||
omitted, it will be determined by MySQL. If the address is "regular" IPv4/IPv6
|
||||
address (e.g 127.0.0.1 or ::1), the server accepts TCP/IP connections only for
|
||||
that particular address. If the address is "0.0.0.0" (IPv4) or "::" (IPv6), the
|
||||
server accepts TCP/IP connections on all IPv4 or IPv6 interfaces.
|
||||
|
||||
- `mysqld_options` - A key value hash of options to be rendered into
|
||||
the main my.cnf. WARNING - It is highly recommended that you use the
|
||||
`mysql_config` resource instead of sending extra config into a
|
||||
`mysql_service` resource. This will allow you to set up
|
||||
notifications and subscriptions between the service and its
|
||||
configuration. That being said, this can be useful for adding extra
|
||||
options needed for database initialization at first run.
|
||||
|
||||
- `port` - determines the listen port for the mysqld service. When
|
||||
omitted, it will default to '3306'.
|
||||
|
||||
- `run_group` - The name of the system group the `mysql_service`
|
||||
should run as. Defaults to 'mysql'.
|
||||
|
||||
- `run_user` - The name of the system user the `mysql_service` should
|
||||
run as. Defaults to 'mysql'.
|
||||
|
||||
- `package_version` - Specific version of the package to install,passed onto the underlying package manager. Defaults to `nil`.
|
||||
- `bind_address` - determines the listen IP address for the mysqld service. When omitted, it will be determined by MySQL. If the address is "regular" IPv4/IPv6address (e.g 127.0.0.1 or ::1), the server accepts TCP/IP connections only for that particular address. If the address is "0.0.0.0" (IPv4) or "::" (IPv6), the server accepts TCP/IP connections on all IPv4 or IPv6 interfaces.
|
||||
- `mysqld_options` - A key value hash of options to be rendered into the main my.cnf. WARNING - It is highly recommended that you use the `mysql_config` resource instead of sending extra config into a `mysql_service` resource. This will allow you to set up notifications and subscriptions between the service and its configuration. That being said, this can be useful for adding extra options needed for database initialization at first run.
|
||||
- `port` - determines the listen port for the mysqld service. When omitted, it will default to '3306'.
|
||||
- `run_group` - The name of the system group the `mysql_service` should run as. Defaults to 'mysql'.
|
||||
- `run_user` - The name of the system user the `mysql_service` should run as. Defaults to 'mysql'.
|
||||
- `pid_file` - Tunable location of the pid file.
|
||||
|
||||
- `socket` - determines where to write the socket file for the
|
||||
`mysql_service` instance. Useful when configuring clients on the
|
||||
same machine to talk over socket and skip the networking stack.
|
||||
Defaults to a calculated value based on platform and instance name.
|
||||
|
||||
- `socket` - determines where to write the socket file for the `mysql_service` instance. Useful when configuring clients on the same machine to talk over socket and skip the networking stack. Defaults to a calculated value based on platform and instance name.
|
||||
- `tmp_dir` - Tunable location of the tmp_dir
|
||||
|
||||
- `version` - allows the user to select from the versions available
|
||||
for the platform, where applicable. When omitted, it will install
|
||||
the default MySQL version for the target platform. Available version
|
||||
numbers are `5.0`, `5.1`, `5.5`, `5.6`, and `5.7`, depending on platform.
|
||||
- `version` - allows the user to select from the versions available for the platform, where applicable. When omitted, it will install the default MySQL version for the target platform. Available version numbers are `5.0`, `5.1`, `5.5`, `5.6`, and `5.7`, depending on platform.
|
||||
|
||||
#### Actions
|
||||
|
||||
@@ -264,8 +185,8 @@ omitted, it will default to the platform's native location.
|
||||
- `:reload` - Reloads the underlying operating system service
|
||||
|
||||
#### Providers
|
||||
Chef selects the appropriate provider based on platform and version,
|
||||
but you can specify one if your platform support it.
|
||||
|
||||
Chef selects the appropriate provider based on platform and version, but you can specify one if your platform support it.
|
||||
|
||||
```ruby
|
||||
mysql_service[instance-1] do
|
||||
@@ -276,31 +197,15 @@ mysql_service[instance-1] do
|
||||
end
|
||||
```
|
||||
|
||||
- `Chef::Provider::MysqlServiceBase` - Configures everything needed t run
|
||||
a MySQL service except the platform service facility. This provider
|
||||
should never be used directly. The `:start`, `:stop`, `:restart`, and
|
||||
`:reload` actions are stubs meant to be overridden by the providers
|
||||
below.
|
||||
|
||||
- `Chef::Provider::MysqlServiceSmf` - Starts a `mysql_service` using
|
||||
the Service Management Facility, used by Solaris and IllumOS. Manages
|
||||
the FMRI and method script.
|
||||
|
||||
- `Chef::Provider::MysqlServiceSystemd` - Starts a `mysql_service`
|
||||
using SystemD. Manages the unit file and activation state
|
||||
|
||||
- `Chef::Provider::MysqlServiceSysvinit` - Starts a `mysql_service`
|
||||
using SysVinit. Manages the init script and status.
|
||||
|
||||
- `Chef::Provider::MysqlServiceUpstart` - Starts a `mysql_service`
|
||||
using Upstart. Manages job definitions and status.
|
||||
- `Chef::Provider::MysqlServiceBase` - Configures everything needed to run a MySQL service except the platform service facility. This provider should never be used directly. The `:start`, `:stop`, `:restart`, and `:reload` actions are stubs meant to be overridden by the providers below.
|
||||
- `Chef::Provider::MysqlServiceSmf` - Starts a `mysql_service` using the Service Management Facility, used by Solaris and Illumos. Manages the FMRI and method script.
|
||||
- `Chef::Provider::MysqlServiceSystemd` - Starts a `mysql_service` using SystemD. Manages the unit file and activation state
|
||||
- `Chef::Provider::MysqlServiceSysvinit` - Starts a `mysql_service` using SysVinit. Manages the init script and status.
|
||||
- `Chef::Provider::MysqlServiceUpstart` - Starts a `mysql_service` using Upstart. Manages job definitions and status.
|
||||
|
||||
### mysql_config
|
||||
|
||||
The `mysql_config` resource is a wrapper around the core Chef
|
||||
`template` resource. Instead of a `path` parameter, it uses the
|
||||
`instance` parameter to calculate the path on the filesystem where
|
||||
file is rendered.
|
||||
The `mysql_config` resource is a wrapper around the core Chef `template` resource. Instead of a `path` parameter, it uses the `instance` parameter to calculate the path on the filesystem where file is rendered.
|
||||
|
||||
#### Example
|
||||
|
||||
@@ -313,38 +218,22 @@ end
|
||||
|
||||
#### Parameters
|
||||
|
||||
- `config_name` - The base name of the configuration file to be
|
||||
rendered into the conf.d directory on disk. Defaults to the resource
|
||||
name.
|
||||
|
||||
- `cookbook` - The name of the cookbook to look for the template
|
||||
source. Defaults to nil
|
||||
|
||||
- `config_name` - The base name of the configuration file to be rendered into the conf.d directory on disk. Defaults to the resource name.
|
||||
- `cookbook` - The name of the cookbook to look for the template source. Defaults to nil
|
||||
- `group` - System group for file ownership. Defaults to 'mysql'.
|
||||
|
||||
- `instance` - Name of the `mysql_service` instance the config is
|
||||
meant for. Defaults to 'default'.
|
||||
|
||||
- `instance` - Name of the `mysql_service` instance the config is meant for. Defaults to 'default'.
|
||||
- `owner` - System user for file ownership. Defaults to 'mysql'.
|
||||
|
||||
- `source` - Template in cookbook to be rendered.
|
||||
|
||||
- `variables` - Variables to be passed to the underlying `template`
|
||||
resource.
|
||||
|
||||
- `version` - Version of the `mysql_service` instance the config is
|
||||
meant for. Used to calculate path. Only necessary when using
|
||||
packages with unique configuration paths, such as RHEL Software
|
||||
Collections or OmniOS. Defaults to 'nil'
|
||||
- `variables` - Variables to be passed to the underlying `template` resource.
|
||||
- `version` - Version of the `mysql_service` instance the config is meant for. Used to calculate path. Only necessary when using packages with unique configuration paths, such as RHEL Software Collections or OmniOS. Defaults to 'nil'
|
||||
|
||||
#### Actions
|
||||
- `:create` - Renders the template to disk at a path calculated using
|
||||
the instance parameter.
|
||||
|
||||
- `:delete` - Deletes the file from the conf.d directory calculated
|
||||
using the instance parameter.
|
||||
|
||||
- `:create` - Renders the template to disk at a path calculated using the instance parameter.
|
||||
- `:delete` - Deletes the file from the conf.d directory calculated using the instance parameter.
|
||||
|
||||
#### More Examples
|
||||
|
||||
```ruby
|
||||
mysql_service 'instance-1' do
|
||||
action [:create, :start]
|
||||
@@ -372,15 +261,13 @@ end
|
||||
```
|
||||
|
||||
### mysql_client
|
||||
The `mysql_client` resource manages the MySQL client binaries and
|
||||
development libraries.
|
||||
|
||||
It is an example of a "singleton" resource. Declaring two
|
||||
`mysql_client` resources on a machine usually won't yield two separate
|
||||
copies of the client binaries, except for platforms that support
|
||||
multiple versions (RHEL SCL, OmniOS).
|
||||
The `mysql_client` resource manages the MySQL client binaries and development libraries.
|
||||
|
||||
It is an example of a "singleton" resource. Declaring two `mysql_client` resources on a machine usually won't yield two separate copies of the client binaries, except for platforms that support multiple versions (RHEL SCL, OmniOS).
|
||||
|
||||
#### Example
|
||||
|
||||
```ruby
|
||||
mysql_client 'default' do
|
||||
action :create
|
||||
@@ -388,26 +275,19 @@ end
|
||||
```
|
||||
|
||||
#### Parameters
|
||||
- `package_name` - An array of packages to be installed. Defaults to a
|
||||
value looked up in an internal map.
|
||||
|
||||
- `package_version` - Specific versions of the package to install,
|
||||
passed onto the underlying package manager. Defaults to `nil`.
|
||||
- `package_name` - An array of packages to be installed. Defaults to a value looked up in an internal map.
|
||||
- `package_version` - Specific versions of the package to install, passed onto the underlying package manager. Defaults to `nil`.
|
||||
- `version` - Major MySQL version number of client packages. Only valid on for platforms that support multiple versions, such as RHEL via Software Collections and OmniOS.
|
||||
|
||||
- `version` - Major MySQL version number of client packages. Only
|
||||
valid on for platforms that support multiple versions, such as RHEL
|
||||
via Software Collections and OmniOS.
|
||||
|
||||
#### Actions
|
||||
|
||||
- `:create` - Installs the client software
|
||||
- `:delete` - Removes the client software
|
||||
|
||||
Advanced Usage Examples
|
||||
-----------------------
|
||||
There are a number of configuration scenarios supported by the use of
|
||||
resource primitives in recipes. For example, you might want to run
|
||||
multiple MySQL services, as different users, and mount block devices
|
||||
that contain pre-existing databases.
|
||||
## Advanced Usage Examples
|
||||
|
||||
There are a number of configuration scenarios supported by the use of resource primitives in recipes. For example, you might want to run multiple MySQL services, as different users, and mount block devices that contain pre-existing databases.
|
||||
|
||||
### Multiple Instances as Different Users
|
||||
|
||||
@@ -472,92 +352,77 @@ end
|
||||
```
|
||||
|
||||
### Replication Testing
|
||||
Use multiple `mysql_service` instances to test a replication setup.
|
||||
This particular example serves as a smoke test in Test Kitchen because
|
||||
it exercises different resources and requires service restarts.
|
||||
|
||||
https://github.com/chef-cookbooks/mysql/blob/master/test/fixtures/cookbooks/mysql_replication_test/recipes/default.rb
|
||||
Use multiple `mysql_service` instances to test a replication setup. This particular example serves as a smoke test in Test Kitchen because it exercises different resources and requires service restarts.
|
||||
|
||||
Frequently Asked Questions
|
||||
--------------------------
|
||||
<https://github.com/chef-cookbooks/mysql/blob/master/test/fixtures/cookbooks/mysql_replication_test/recipes/default.rb>
|
||||
|
||||
## Frequently Asked Questions
|
||||
|
||||
### How do I run this behind my firewall?
|
||||
|
||||
On Linux, the `mysql_service` resource uses the platform's underlying
|
||||
package manager to install software. For this to work behind
|
||||
firewalls, you'll need to either:
|
||||
On Linux, the `mysql_service` resource uses the platform's underlying package manager to install software. For this to work behind firewalls, you'll need to either:
|
||||
|
||||
- Configure the system yum/apt utilities to use a proxy server that
|
||||
can reach the Internet
|
||||
- can reach the Internet
|
||||
- Host a package repository on a network that the machine can talk to
|
||||
|
||||
On the RHEL platform_family, applying the `yum::default` recipe will
|
||||
allow you to drive the `yum_globalconfig` resource with attributes to
|
||||
change the global yum proxy settings.
|
||||
On the RHEL platform_family, applying the `yum::default` recipe will allow you to drive the `yum_globalconfig` resource with attributes to change the global yum proxy settings.
|
||||
|
||||
If hosting repository mirrors, applying one of the following recipes
|
||||
and adjust the settings with node attributes.
|
||||
If hosting repository mirrors, applying one of the following recipes and adjust the settings with node attributes.
|
||||
|
||||
- `recipe[yum-centos::default]` from the Supermarket
|
||||
https://supermarket.chef.io/cookbooks/yum-centos
|
||||
https://github.com/chef-cookbooks/yum-centos
|
||||
|
||||
|
||||
<https://supermarket.chef.io/cookbooks/yum-centos>
|
||||
|
||||
<https://github.com/chef-cookbooks/yum-centos>
|
||||
|
||||
- `recipe[yum-mysql-community::default]` from the Supermarket
|
||||
https://supermarket.chef.io/cookbooks/yum-mysql-community
|
||||
https://github.com/chef-cookbooks/yum-mysql-community
|
||||
|
||||
|
||||
<https://supermarket.chef.io/cookbooks/yum-mysql-community>
|
||||
|
||||
<https://github.com/chef-cookbooks/yum-mysql-community>
|
||||
|
||||
### The mysql command line doesn't work
|
||||
|
||||
If you log into the machine and type `mysql`, you may see an error
|
||||
like this one:
|
||||
If you log into the machine and type `mysql`, you may see an error like this one:
|
||||
|
||||
`Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'`
|
||||
|
||||
This is because MySQL is hardcoded to read the defined default my.cnf
|
||||
file, typically at /etc/my.cnf, and this LWRP deletes it to prevent
|
||||
overlap among multiple MySQL configurations.
|
||||
This is because MySQL is hardcoded to read the defined default my.cnf file, typically at /etc/my.cnf, and this LWRP deletes it to prevent overlap among multiple MySQL configurations.
|
||||
|
||||
To connect to the socket from the command line, check the socket in the relevant my.cnf file and use something like this:
|
||||
|
||||
`mysql -S /var/run/mysql-foo/mysqld.sock -Pwhatever`
|
||||
|
||||
Or to connect over the network, use something like this:
|
||||
connect over the network..
|
||||
Or to connect over the network, use something like this: connect over the network..
|
||||
|
||||
`mysql -h 127.0.0.1 -Pwhatever`
|
||||
|
||||
These network or socket ssettings can also be put in you
|
||||
$HOME/.my.cnf, if preferred.
|
||||
These network or socket ssettings can also be put in you $HOME/.my.cnf, if preferred.
|
||||
|
||||
### What about MariaDB, Percona, Drizzle, WebScaleSQL, etc.
|
||||
|
||||
MySQL forks are purposefully out of scope for this cookbook. This is
|
||||
mostly to reduce the testing matrix to a manageable size. Cookbooks
|
||||
for these technologies can easily be created by copying and adapting
|
||||
this cookbook. However, there will be differences.
|
||||
MySQL forks are purposefully out of scope for this cookbook. This is mostly to reduce the testing matrix to a manageable size. Cookbooks for these technologies can easily be created by copying and adapting this cookbook. However, there will be differences.
|
||||
|
||||
Package repository locations, package version names, software major
|
||||
version numbers, supported platform matrices, and the availability of
|
||||
software such as XtraDB and Galera are the main reasons that creating
|
||||
multiple cookbooks to make sense.
|
||||
Package repository locations, package version names, software major version numbers, supported platform matrices, and the availability of software such as XtraDB and Galera are the main reasons that creating multiple cookbooks to make sense.
|
||||
|
||||
Warnings
|
||||
--------
|
||||
## Warnings
|
||||
|
||||
## Hacking / Testing / TODO
|
||||
|
||||
Hacking / Testing / TODO
|
||||
-------------------------
|
||||
Please refer to the HACKING.md
|
||||
|
||||
License & Authors
|
||||
-----------------
|
||||
- Author:: Joshua Timberman (<joshua@chef.io>)
|
||||
- Author:: AJ Christensen (<aj@chef.io>)
|
||||
- Author:: Seth Chisamore (<schisamo@chef.io>)
|
||||
- Author:: Brian Bianco (<brian.bianco@gmail.com>)
|
||||
- Author:: Jesse Howarth (<him@jessehowarth.com>)
|
||||
- Author:: Andrew Crump (<andrew@kotirisoftware.com>)
|
||||
- Author:: Christoph Hartmann (<chris@lollyrock.com>)
|
||||
- Author:: Sean OMeara (<sean@chef.io>)
|
||||
## License & Authors
|
||||
|
||||
- Author:: Joshua Timberman ([joshua@chef.io](mailto:joshua@chef.io))
|
||||
- Author:: AJ Christensen ([aj@chef.io](mailto:aj@chef.io))
|
||||
- Author:: Seth Chisamore ([schisamo@chef.io](mailto:schisamo@chef.io))
|
||||
- Author:: Brian Bianco ([brian.bianco@gmail.com](mailto:brian.bianco@gmail.com))
|
||||
- Author:: Jesse Howarth ([him@jessehowarth.com](mailto:him@jessehowarth.com))
|
||||
- Author:: Andrew Crump ([andrew@kotirisoftware.com](mailto:andrew@kotirisoftware.com))
|
||||
- Author:: Christoph Hartmann ([chris@lollyrock.com](mailto:chris@lollyrock.com))
|
||||
- Author:: Sean OMeara ([sean@chef.io](mailto:sean@chef.io))
|
||||
|
||||
```text
|
||||
Copyright:: 2009-2014 Chef Software, Inc
|
||||
|
||||
@@ -280,6 +280,8 @@ EOSQL
|
||||
@pkginfo.set['debian']['14.10']['5.6']['server_package'] = 'mysql-server-5.6'
|
||||
@pkginfo.set['debian']['15.04']['5.6']['client_package'] = %w(mysql-client-5.6 libmysqlclient-dev)
|
||||
@pkginfo.set['debian']['15.04']['5.6']['server_package'] = 'mysql-server-5.6'
|
||||
@pkginfo.set['debian']['15.10']['5.6']['client_package'] = %w(mysql-client-5.6 libmysqlclient-dev)
|
||||
@pkginfo.set['debian']['15.10']['5.6']['server_package'] = 'mysql-server-5.6'
|
||||
@pkginfo.set['debian']['6']['5.1']['client_package'] = %w(mysql-client libmysqlclient-dev)
|
||||
@pkginfo.set['debian']['6']['5.1']['server_package'] = 'mysql-server-5.1'
|
||||
@pkginfo.set['debian']['7']['5.5']['client_package'] = %w(mysql-client libmysqlclient-dev)
|
||||
@@ -336,6 +338,14 @@ EOSQL
|
||||
@pkginfo.set['rhel']['2015.09']['5.6']['server_package'] = 'mysql-community-server'
|
||||
@pkginfo.set['rhel']['2015.09']['5.7']['client_package'] = %w(mysql-community-client mysql-community-devel)
|
||||
@pkginfo.set['rhel']['2015.09']['5.7']['server_package'] = 'mysql-community-server'
|
||||
@pkginfo.set['rhel']['2016.03']['5.1']['server_package'] = %w(mysql51 mysql51-devel)
|
||||
@pkginfo.set['rhel']['2016.03']['5.1']['server_package'] = 'mysql51-server'
|
||||
@pkginfo.set['rhel']['2016.03']['5.5']['client_package'] = %w(mysql-community-client mysql-community-devel)
|
||||
@pkginfo.set['rhel']['2016.03']['5.5']['server_package'] = 'mysql-community-server'
|
||||
@pkginfo.set['rhel']['2016.03']['5.6']['client_package'] = %w(mysql-community-client mysql-community-devel)
|
||||
@pkginfo.set['rhel']['2016.03']['5.6']['server_package'] = 'mysql-community-server'
|
||||
@pkginfo.set['rhel']['2016.03']['5.7']['client_package'] = %w(mysql-community-client mysql-community-devel)
|
||||
@pkginfo.set['rhel']['2016.03']['5.7']['server_package'] = 'mysql-community-server'
|
||||
@pkginfo.set['rhel']['5']['5.0']['client_package'] = %w(mysql mysql-devel)
|
||||
@pkginfo.set['rhel']['5']['5.0']['server_package'] = 'mysql-server'
|
||||
@pkginfo.set['rhel']['5']['5.1']['client_package'] = %w(mysql51-mysql)
|
||||
@@ -382,7 +392,7 @@ EOSQL
|
||||
Chef::Log.error("Unsupported Version: You requested to install a Mysql #{type_label} version that is not supported by your platform")
|
||||
Chef::Log.error("Platform: #{platform_family} #{platform_version} - Request Mysql #{type_label} version: #{version}")
|
||||
Chef::Log.error("Availabe versions for your platform are: #{info.map { |k, _v| k }.join(' - ')}")
|
||||
fail "Unsupported Mysql #{type_label} Version"
|
||||
raise "Unsupported Mysql #{type_label} Version"
|
||||
end
|
||||
info[version][type]
|
||||
end
|
||||
@@ -454,6 +464,7 @@ EOSQL
|
||||
return '5.5' if node['platform_family'] == 'suse'
|
||||
return '5.6' if node['platform_family'] == 'fedora'
|
||||
return '5.6' if node['platform_family'] == 'debian' && node['platform_version'] == '15.04'
|
||||
return '5.6' if node['platform_family'] == 'debian' && node['platform_version'] == '15.10'
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -3,7 +3,7 @@ class Chef
|
||||
class MysqlServiceSmf < Chef::Provider::MysqlServiceBase
|
||||
# FIXME: we should have a service_helper to determine if the platform supports SMF similarly
|
||||
# to how we handle systemd on linux
|
||||
if defined?(provides)
|
||||
if defined?(provides) # foodcritic ~FC023
|
||||
provides :mysql_service, os: %w(solaris2 omnios smartos openindiana opensolaris nexentacore) do
|
||||
File.exist?('/usr/sbin/svccfg')
|
||||
end
|
||||
|
||||
@@ -3,7 +3,7 @@ require_relative 'provider_mysql_service_base'
|
||||
class Chef
|
||||
class Provider
|
||||
class MysqlServiceSystemd < Chef::Provider::MysqlServiceBase
|
||||
if defined?(provides)
|
||||
if defined?(provides) # foodcritic ~FC023
|
||||
provides :mysql_service, os: 'linux' do
|
||||
Chef::Platform::ServiceHelpers.service_resource_providers.include?(:systemd)
|
||||
end
|
||||
|
||||
@@ -3,7 +3,7 @@ require_relative 'provider_mysql_service_base'
|
||||
class Chef
|
||||
class Provider
|
||||
class MysqlServiceUpstart < Chef::Provider::MysqlServiceBase
|
||||
if defined?(provides)
|
||||
if defined?(provides) # foodcritic ~FC023
|
||||
provides :mysql_service, os: 'linux' do
|
||||
Chef::Platform::ServiceHelpers.service_resource_providers.include?(:upstart) &&
|
||||
!Chef::Platform::ServiceHelpers.service_resource_providers.include?(:redhat)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
|
||||
begin
|
||||
require 'chef/platform/provider_priority_map'
|
||||
rescue LoadError
|
||||
rescue LoadError # rubocop: disable Lint/HandleExceptions
|
||||
end
|
||||
|
||||
require_relative 'provider_mysql_service_smf'
|
||||
|
||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user