Commit graph

222 commits

Author SHA1 Message Date
Ashley Penney
b930438d9a Deprecate this class while attempting to provide backwards
compatibility.
2013-09-13 13:09:05 -04:00
Ashley Penney
e4d5671e7f Add mysql::globals and refactor mysql::server.
This work adds a new mysql::globals class which contains a hash used to
build my.cnf from.  It's used to share this data across multiple classes
so that the client and server can share this data.

End users can modify content in my.cnf by including mysql::globals and
passing in override_options as a hash that looks like:

override_options = { 'mysqld' => { 'max_connections' => '120' } }

This completely replaces the mess of parameters that existed in the main
mysql class before.

Completely refactor mysql::server and rework the API.  This changes
ordering, changes from execs{} to mysql_user for the root password,
removes some functionality (like the etc_root_password), and generally
makes some tough decisions about how mysql::server should be built.
2013-09-13 13:04:42 -04:00
Ashley Penney
e3843ceb6f Refactor to use mysql::globals.
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.
2013-09-09 11:34:39 -04:00
Ashley Penney
2abccab4d9 Refactor and rename database_grant to mysql_grant.
This provider has undergone the largest set of changes and currently
just accepts a full SQL grant string as the name and then applies it,
making things easier for DBAs and removes the awkward attempts at
modelling grants into Puppet.
2013-09-03 17:24:21 -04:00
Ashley Penney
369c83126b Use new provider names in manifests.
Modify manifests and tests to handle the renamed providers.
2013-08-28 18:11:21 -04:00
Trey Dockendorf
627699fc49 Add option to mysql::backup to set the backup script to perform a mysqldump on each database to its own file 2013-08-27 15:15:29 -05:00
Ashley Penney
40db3e801d Merge pull request #244 from willametteuniversity/master
Added support to back up specified databases only with 'mysqlbackup'
2013-08-27 09:26:25 -07:00
Casey Feskens
ad479e6a81 Changed backupdatabases default from false to [] 2013-08-15 06:04:14 -07:00
Mark Phillips
ae367272a2 Add HOME environment variable for .my.cnf to mysqladmin command when (re)setting root password 2013-08-14 15:48:56 -04:00
Casey Feskens
359d88175c Added support to back up specified databases only with 'mysqlbackup'
parameter.  Each database is backed up separately to a named file.
2013-08-13 14:44:41 -07:00
Hunter Haugen
82c4b81ba3 Add environment variable for .my.cnf and specs 2013-08-13 13:08:39 -07:00
Sandro Mathys
070daf86b4 Support Fedora's rolling development "release", Rawhide
Since Rawhide is a rolling kind of release with no version numbers,
the operatingsystemrelease will actually return "Rawhide" instead
of any Integer. So we better check whether operatingsystemrelease
is an Integer before comparing numbers and cover Rawhide, too.
2013-08-11 18:25:33 +02:00
Ashley Penney
c22e72a97a Add compatibility classes to handle the backwards incompatible changes. 2013-07-26 10:08:37 -04:00
Ewoud Kohl van Wijngaarden
b1ae1523a4 Fix puppet 2.6 compatibility 2013-07-25 14:57:23 +02:00
Ashley Penney
7c7195ba33 Refactor MySQL bindings and client packages.
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.
2013-07-19 18:39:55 -04:00
Wolf Noble
fb1e37cf04 package is specifically named 'mysql_client' not in relation to the client package name parameter. 2013-07-13 19:32:50 -05:00
Wolf Noble
19637d2e84 include mysql_client package as a requirement for the db creation 2013-07-12 18:06:53 -05:00
Ashley Penney
4e6073de92 Fix a geninue potential issue, a non-quoted string. 2013-07-11 19:42:41 -04:00
Ashley Penney
926e94a4cb Merge pull request #170 from omalashenko/master
Harden mysqlbackup.sh script
2013-07-09 16:06:55 -07:00
Ashley Penney
9bc2eb67c7 Merge pull request #214 from paramite/roothome
Use $root_home for .my.cnf
2013-07-09 16:04:23 -07:00
Clemens Fuchslocher
2e82660446 Fixed PID file location for SLES 11 SP2. 2013-07-08 20:50:43 +02:00
Martin Magr
e3d74a65b0 Use $root_home for .my.cnf 2013-07-08 11:49:30 +02:00
Derek Higgins
48af8a727d Fix typo in fact name 2013-07-06 00:08:02 +01:00
Ashley Penney
2b91872407 Merge pull request #210 from red-trela/fedora-19-mariadb
Cover Fedora 19's move from mysql to mariadb packages
2013-07-05 09:56:59 -07:00
Sandro Mathys
3ca7d958df Cover Fedora 19's move from mysql to mariadb packages 2013-07-05 10:53:56 +02:00
Daniel De Marco
e12eb0e19f add ft_min_word_len and ft_max_word_len config options 2013-07-04 21:33:53 -04:00
Oleg Malashenko
d7460d4b02 backup: configurable cleanup sequence
$delete_before_dump controls whether old backups to be removed before
creating new one.
2013-07-05 11:27:29 +10:00
Oleg Malashenko
9e2540f4fc Harden mysqlbackup.sh script
* mysql::backup backuprotate parameter sets the number of backups to keep,
   default is 30.

 * Use bash in mysqlbackup.sh to get exit status of mysqldump when piped to
   bzip2. Unfortunately there is no easy portable way to do that.

 * Only delete old backups when current backup finished successfully.

 * Try hard not to delete files that we didn't create (i.e. README or other
   backups).
2013-07-05 11:27:29 +10:00
Lebedev Vadim
9d69afcae7 Merge branch 'master' of https://github.com/puppetlabs/puppetlabs-mysql
Conflicts:
	manifests/config.pp
	spec/classes/mysql_config_spec.rb
2013-07-02 22:11:19 +04:00
Ashley Penney
aa5d1f070b Merge pull request #198 from mhellmic/maxconnections
add a maximum connection parameter and set the default to 1000
2013-07-02 10:43:29 -07:00
Lebedev Vadim
6cef2e8af4 Merge branch 'master' of https://github.com/puppetlabs/puppetlabs-mysql 2013-07-02 21:42:49 +04:00
Ashley Penney
f3e5c89551 Merge pull request #187 from RsrchBoy/topic/perl
add mysql::perl helper class
2013-07-02 10:37:10 -07:00
Ashley Penney
1b5dc3ce68 Merge pull request #186 from apenney/rootpassword
(WIP) #20562: Minor fix for ordering
2013-07-02 10:36:31 -07:00
Lebedev Vadim
ead86b5a3f Merge branch 'master' of https://github.com/puppetlabs/puppetlabs-mysql
Conflicts:
	manifests/config.pp
2013-07-02 21:26:43 +04:00
Ashley Penney
d9ce083f20 Merge pull request #162 from frimik/19744
fixes #19744 - no restart on root/.my.cnf change
2013-07-02 09:56:10 -07:00
Simon Effenberg
7f7e886d71 handling of my.cnf config file is now optional
This adds a parameter (default value is like old behavior) so that the
my.cnf file isn't managed (created/updated) by the mysql module at all
which is necessary for our environment. We need to set all parameters by
ourself. If we don't set a parameter then the default from the mysqld
binary should be used instead of any default parameter the mysql module
provides us.
2013-07-02 10:01:21 +02:00
Martin Hellmich
880eaae3e8 changed the max_connections default to 151
this is the default according to the mysql manual.
https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_max_connections
2013-06-28 11:21:58 +02:00
Martin Hellmich
3089d3a59b add a maximum connection parameter and set the default to 1000
Conflicts:
	manifests/config.pp
	templates/my.cnf.erb
2013-06-28 10:15:58 +02:00
Lebedev Vadim
a42d5bea53 Merge branch 'master' of https://github.com/puppetlabs/puppetlabs-mysql 2013-06-26 14:06:01 +04:00
Niek Beernink
9dc1b946de make tmpdir configurable 2013-06-25 15:06:07 -07:00
Lebedev Vadim
fad4f06cb2 * Fixing lint warnings 2013-06-17 18:04:55 +04:00
Chris Weyl
beeb261c5a Merge branch 'master' into topic/perl
Conflicts:
	manifests/init.pp
2013-05-27 15:23:55 -07:00
Ashley Penney
811ebc62c8 A very small fix for the case where the root password has been changed
by hand and then you change your mysql::server entry to match.  If you
also change any mysql::db entries at the same time this causes those to
be attempted before your /root/.my.cnf is updated.

I can't add rspec testing for this until https://github.com/rodjek/rspec-puppet/pull/106
is merged.
2013-05-25 21:33:29 -04:00
Lebedev Vadim
1a13580f49 Merge branch 'master' of https://github.com/puppetlabs/puppetlabs-mysql
Conflicts:
	manifests/config.pp
	manifests/params.pp
2013-05-21 20:40:50 +04:00
Lebedev Vadim
a171c52a89 * Puppet 2.6 fix 2013-05-21 01:21:38 +04:00
Mark Smith-Guerrero
242f6e5881 parameterized previously hardcoded max_allowed_packet config setting 2013-05-06 15:55:53 -04:00
Wolf Noble
cf78bea206 minor fix to alphabetization of package_ensure parameter 2013-05-03 17:06:06 -05:00
Wolf Noble
569448c0a6 Fix missing python_package_name parameter 2013-05-03 17:00:52 -05:00
Chris Weyl
fac48b8584 add mysql::perl
An additional helper class to ensure that the Perl MySQL DBD driver is
installed (DBD::mysql).
2013-05-03 09:25:30 -07:00
Francois Deppierraz
391abe753f Fix default-storage-engine default value
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]
2013-04-25 23:46:34 +02:00
Wolf Noble
e65775cd3d Removal of trailing commas to the last parameter of classes for backwards compatibility with Puppet2.6 2013-04-24 17:02:46 -05:00
Wolf Noble
2deb2b2da3 Remove trailing comma to server.pp for 2.6 backwards compatibility. 2013-04-24 15:38:05 -05:00
Wolf Noble
78278f50b5 restore package_name parameter to maintain backward compatibility.
Removal of the ambiguously named package_name parameter, without having a version provide a deprecation warning for a reasonable amount of time seems unreasonable.
As Hunner suggests, adding a workaround variable to init.pp and use that as package name gives us the ability to warn users about the upcoming deprecation, while still maintaining backwards compatibility.
2013-04-24 15:35:08 -05:00
Wolf Noble
38a6954559 Fix to config.pp. Remove trailing , on last parameter, which breaks in puppet 2.6
Fix to config.pp. Remove trailing , on last parameter, which breaks in puppet 2.6
2013-04-24 15:14:19 -05:00
Wolf Noble
b79477d57d Out of scope of this refactor
we don't need these defines for this refactor. Removing for simplicity's sake
2013-04-16 13:45:07 -05:00
Wolf Noble
33e2a45000 Some minor fixes to appease puppet lint 2013-04-11 12:02:41 -05:00
Wolf Noble
0f6886bd99 Refactor of classes to put everything as a param to mysql to prepare for autoloading from hiera
put a handle on all the params of the class in init.pp so that they can be autoloaded from hiera, and easily fed to the class from a profile class
2013-04-09 13:45:55 -05:00
Lebedev Vadim
5ea8e5f920 * Adding server_idparameter to mysql::config`
* Adding `sql_log_bin` parameter to `mysql::config`
* Adding `log_bin` parameter to `mysql::config`
* Adding `max_binlog_size` parameter to `mysql::config`
* Adding `binlog_do_db` parameter to `mysql::config`
* Adding `expire_logs_days` parameter to `mysql::config`
* Adding `log_bin_trust_function_creators` parameter to `mysql::config`
* Adding `replicate_ignore_table` parameter to `mysql::config`
* Adding `replicate_wild_do_table` parameter to `mysql::config`
* Adding `replicate_wild_ignore_table` parameter to `mysql::config`
* Adding `expire_logs_days`  parameter to `mysql::params`
* Adding `max_binlog_size` parameter to `mysql::params`
2013-04-08 19:23:24 +04:00
Lebedev Vadim
2a1b1e7962 * Adding key_buffer parameter to mysql::config
* Adding `thread_stack` parameter to `mysql::config`
* Adding `thread_cache_size` parameter to `mysql::config`
* Adding `myisam-recover` parameter to `mysql::config`
* Adding `query_cache_limit` parameter to `mysql::config`
* Adding `query_cache_size` parameter to `mysql::config`
* Adding `max_connections` parameter to `mysql::config`
* Adding `tmp_table_size` parameter to `mysql::config`
* Adding `table_open_cache` parameter to `mysql::config`
* Adding `long_query_time` parameter to `mysql::config`
* Updating mysql_config spec tests
* Fixing lint warnings
2013-04-08 00:20:36 +04:00
Lebedev Vadim
e3b6de2da2 Implement character_set. You can change the default server and
client character set
2013-04-04 14:02:58 +04:00
Wolf Noble
43352709b2 Merge branch 'master' of git://github.com/puppetlabs/puppetlabs-mysql 2013-04-03 15:57:53 -05:00
Dominic Cleal
3d1703fc7f Move hash outside of function call, fixes for Puppet 2.6 2013-03-21 23:59:27 +00:00
Mikael Fridh
629c6ce31c fixes #19744 - no restart on root/.my.cnf change 2013-03-14 14:08:29 +01:00
Paul Chechetin
1d6ca771d4 Fix issue with twice declaration of Database_user resource 2013-02-18 15:24:57 +04:00
Hunter Haugen
3fbcf433b7 Merge pull request #136 from deadpoint/master
Added SuSE support to puppetlabs-mysql
2013-01-09 13:04:44 -08:00
Hunter Haugen
d5bf7a19f7 Merge pull request #131 from saz/recurse-conf-dir
add parameter to remove old files in conf.d dir
2013-01-09 13:01:13 -08:00
Gary Larizza
5b4e9763c7 Merge pull request #137 from hunner/php_support
Add php support
2013-01-09 12:22:01 -08:00
Wolf Noble
cf396cbded create defined types for grant and user 2013-01-04 13:35:59 -06:00
Hunter Haugen
02c4da48a5 Add php support
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.
2013-01-04 10:59:17 -08:00
Darin Perusich
0d0c52430b Added support for SuSE systems 2013-01-03 12:22:39 -05:00
Nikola Petrov
723a3affa1 Update manifests/server/monitor.pp
We are using this manifest file and it cannot find *Mysql_user* please change it to *Database_user*. I suppose that this was changed after a refactoring of some sort


Best, Nikola
2012-12-12 18:54:51 +02:00
Steffen Zieger
c5a4740883 add parameter to remove old files in conf.d dir 2012-11-16 20:49:24 +01:00
Dan Bode
649bc16416 account security should not fail if hostname == fqdn
This commit checks that hostaname and fqdn are not
equal before trying to remove both.
2012-10-28 21:40:11 -07:00
Dan Bode
d6b77170d5 fix mysql bug 2012-10-14 19:17:37 -07:00
Ryan Coleman
5a167c9eef Merge pull request #125 from bodepd/create_my_cnf
Create /root/.my.cnf even when root passwd is not managed
2012-10-13 10:14:23 -07:00
Ryan Coleman
bb4f15b8fe Merge pull request #117 from hunner/optional_compression
Mysql::backup Compression Optional
2012-10-13 10:09:55 -07:00
Dan Bode
765b5c2527 Create /root/.my.cnf even when root passwd is not managed
When the root password is not managed, it causes mysql to
fail b/c it does not create the /root/.my.cnf file (which causes
all mysql commands from the provider to fail)
2012-10-13 02:35:38 -07:00
Dan Bode
c84ffdeef0 Merge pull request #122 from hunner/optional_service
Optionally manage the mysqld service
2012-10-04 17:03:30 -07:00
Hunter Haugen
c4e0e64782 Optionally manage the mysqld service
When using failover options such as Corosync, it's preferable to allow the failover software to manage the starting and stopping of the service. This parameter allows that to happen.
2012-10-04 16:20:07 -07:00
Simon Effenberg
612ee9884d Only a simple documentation fix. 2012-10-03 09:22:03 +02:00
Justin Brown
af30a52182 Backup Compression Optional
Added a parameter to mysql::backup to make bzip2 compression
optional. Compression is enabled by default, so current behavior
is not affected.

Rationale:
We are storing our MySQL backups on a system with deduplication.
Compression and dedup do not play well together, so it's advantagous
to be able to disable it.
2012-09-26 13:40:59 -07:00
Mikael Fridh
063b8c097c Minor rdoc fixes in mysql::config class 2012-09-08 12:12:27 +02:00
Mikael Fridh
af58059903 Make service restarts optional
Useful if you prefer to not have your mysql service touched after it is
running.
2012-09-08 12:09:44 +02:00
Hunter Haugen
d98efe3b7a Merge pull request #113 from janoszen/ipv6
IPv6
2012-09-05 11:01:12 -07:00
Dan Bode
88164421b6 Merge pull request #114 from dalen/immutable_variables
Don't assign to hash after creation
2012-09-05 07:57:46 -07:00
Erik Dalén
fa1915b2e5 Don't assign to hash after creation
We shouldn't modify a variable after creating it. It is just a bug that
it is possible at all.
2012-09-05 16:43:11 +02:00
Janos Pasztor
e77576d8e7 Added spec for IPv6 changes as requested by upstream 2012-09-05 09:58:42 +02:00
Janos Pasztor
0c07e42427 Added IPv6 localhost to account_security 2012-09-04 21:42:07 +02:00
Hunter Haugen
5e8f98b5d2 Merge pull request #108 from Paulche/master
Add show view privilege for backup user

This is valid for database dumps which contain views, as per http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html
2012-09-04 11:18:43 -07:00
Erik Dalén
b670071d9f Fix lint warnings 2012-09-04 16:25:08 +02:00
Paul Chechetin
f1b6495490 Add show_view_privilege for backup user 2012-09-03 16:53:59 +04:00
Hunter Haugen
0e4de09934 Merge pull request #93 from Savar/master
new config define and a small bugfix
2012-08-29 11:54:58 -07:00
Simon Effenberg
e27cff0bd9 fixed typo 2012-08-24 08:06:17 +02:00
Simon Effenberg
e47b4d19e7 fixed documentation and added rspec
* fixed a typo in the documentation
* added documentation for parameter +notify_service+
* added rspec test
2012-08-24 08:01:33 +02:00
Derek Higgins
06fe2fdbd2 Change list passed into validate_re to a stringe
The list was causing a syntax error on puppet puppet 2.6.17
2012-08-23 10:04:30 +01:00
Simon Effenberg
1fb0c273a8 fixed .my.cnf path
* rollback for the file location + updated the documentation
2012-08-23 07:36:30 +02:00
Hunter Haugen
bfd19998d1 Merge pull request #101 from martasd/manage-db-status
Added an option to specify db status.
2012-08-22 11:30:46 -07:00
Eugene Kirpichov
6869b77541 Parameterized pidfile; critical for successful first restart 2012-08-21 18:32:34 -07:00
Martin Dluhos
04537908a9 Added an option to specify db status. 2012-08-21 15:40:42 -07:00
Dan Bode
211da13545 Revert "Merge pull request #90 from emonty/master"
This reverts commit 063d72493c, reversing
changes made to 9c10b3a6c3.
2012-08-15 18:03:37 -07:00