This initial round of work focuses on adding the concept of
mysql::globals to the module. This is a shared place to provide all the
data the module needs, and then clients, servers, and providers can all
rely on this information to set things up.
This is being primarily used at first to allow a default_options hash
that contains all the previous parameters and takes a overrides_options
that allows you to then further customize any of the options in my.cnf.
The current MySQL module is hard to modify, test, and drop in
replacement components to. This work starts out by refactoring
the bindings support in MySQL to a completely seperate bindings
class in order to reduce the amount of parameters in the main
class for a feature that is infrequently used.
In addition to this start the movement of client configuration
and packages to the mysql::client::* namespace.
Without this commit, puppetlabs-mysql breaks mysql configuration by inserting a
dummy default-storage-engine directive. This will prevent mysql daemon from
starting up.
For example:
notice: /Stage[main]/Mysql::Config/File[/etc/mysql/my.cnf]/content:
--- /etc/mysql/my.cnf 2013-04-25 21:36:25.000000000 +0000
+++ /tmp/puppet-file20130425-12937-10tcf50-0 2013-04-25 21:42:49.000000000 +0000
@@ -29,6 +29,8 @@
expire_logs_days = 10
max_binlog_size = 100M
+default-storage-engine = undef
+
[mysqldump]
PHP libraries are required by many apps. This class assumes 'normal'
names for these packages, but allows other packages names to be passed
for variances such as 'php53-mysql' on RedHat and FreeBSD.
This commit adds a ssl parameter to the mysql::config class.
Setting ssl to true adds the following parameters to the template.
ssl_ca - path to ssl-ca
ssl_cert - path to ssl-cert
ssl_key - path to ssl-key
On Ubuntu, mysql should use upstart provider instead of init.d. This
change overrides the init provider until the issue with init provider
can be addressed.
This commit displays the detected osfamily that
is not supported by this module.
It was previously unclear to users seeing the failure
what the value of osfamily was that was causing the
failure.
This is a major change to the module and would be released as a new
version.
* Add self.instances to database and database_user for puppet resource.
* Update database provider to use flush method.
* Update module to conform to puppet-lint recommendations.
* Cleanup some unecessary logic in mysql::db define type.
* Move mysql_restart to config class.
* Use class to class dependency instead of resource dependency.
* Change appropriate rspec-puppet tests.
* Add fixtures directory to simplify testing.
* Update raketask and spec_helper to reflect fixture changes.
* Update mysql_password function to support validation.
* Move client installation to a separate class.
* Update documentation and readme.
ever hit the default.
Moving the variables to just after the case statement will set
them, removing the default part of the case will cause this class
to fail on unsupported distros.
The mysql client package is different on CentOS. This commit adds
a parameter for the mysql client package and defaults to a variable
in the mysql::params class.