Commit graph

65 commits

Author SHA1 Message Date
Michael Arnold
605fa718e1 Escape $root_password during execs.
Some characters used in a password can cause the shell in an exec to do
unexpected things unless the password is enclosed in single quotes.
Updated the rspec tests to deal with the password quoting.
2012-08-09 00:34:09 -07:00
Dan Bode
8b2b29a136 Add enabled parameter to mysql::server
This parameter can be used to specify whether the service
should be running.

It has been implemented to allow installations of mysql::server to
be in passive mode for HA.
2012-06-18 14:09:42 -07:00
William Van Hevelingen
05d7e23fe8 (#14330) Add support for FreeBSD
Note: ssl_ca, ssl_cert, and ssl_key do not have sane
defaults in FreeBSD. Setting ssl to true will require
setting the parameters mentioned above.
2012-05-30 19:12:25 -07:00
John Chilton
0f0928ae88 Allow specification of storage engine. 2012-05-15 12:37:03 -05:00
Dan Bode
360f8d968a Merge pull request #64 from runningman/backup
Added mysql::backup class.
2012-05-10 22:44:52 -07:00
Dan Bode
ed62777045 Merge pull request #63 from runningman/security
Added mysql::server::account_security class.
2012-05-04 18:04:11 -07:00
Michael Arnold
8dc651c0e2 Simplify Exec["${name}-import"]
Show that mysql:db can also import SQL from a file in order to, for
example, initialize a database schema.  Since it requires class
mysql::server, we assume to run all commands as the root mysql user
against the local mysql server.
2012-05-03 23:35:51 -07:00
Michael Arnold
70d14e84d7 Update privilege names to comply with 3fbb54de6c. 2012-05-03 19:54:32 -07:00
Branan Purvine-Riley
d0a5b1c534 remove $safe_grant
Now that the ruby can query permissions sanely, filtering 'all' is
no longer necessary
2012-05-01 17:01:06 -07:00
Michael Arnold
fbee243ff6 Rip out backup class parameter defaults.
No need for setting default values to class parameters and then testing
to confirm they are set to non-default values.  Simply do not give them
values to begin with.
2012-04-30 08:07:46 -07:00
Michael Stahnke
e6b45ebfae Merge pull request #60 from geogdog/patch-1
I noticed the following message whilst provisioning using this module:
2012-04-29 15:24:33 -07:00
Michael Stahnke
f750b39ad5 Merge pull request #61 from runningman/java
Java
2012-04-29 15:24:11 -07:00
François Charlier
64f367fbb4 Fix typos in mysql::server::monitor class
* fix the dependency declaration

+ add basic tests
2012-04-24 11:56:01 +02:00
Michael Arnold
7890f79547 Added mysql::server::account_security class.
Secures the MySQL installation by removing the test database and the
default users that are created during the MySQL first-run
(root@${fqdn}, @%, @localhost, etc.).
Includes rspec tests and updated documentation.
2012-04-23 23:41:12 -07:00
Michael Arnold
4158137278 Added mysql::backup class.
Installs a mysql backup script, cronjob, and priviledged backup user. 
Includes rspec tests and updated documentation.
2012-04-23 22:53:59 -07:00
Michael Arnold
0743faa6db Added tests to mysql::java. 2012-04-23 21:44:31 -07:00
Michael Arnold
ba4df4dead Added mysql::java class.
Added a small class to install the Java MySQL connector.
2012-04-23 21:24:01 -07:00
Greg Trahair
097879bad3 I noticed the following message whilst provisioning using this module:
notice: /Stage[main]/Mysql::Config/Exec[set_mysql_rootpw]/returns: mysqladmin: Can't read dir of '/etc/mysql/conf.d/' (Errcode: 2)

Even though it's not fatal, it's cleaner for Exec['set_mysql_rootpw'] to require File['/etc/mysql/conf.d'].
2012-04-23 13:06:39 +03:00
Derek Higgins
9ff99ba336 set platform dependent error logfile location 2012-04-12 00:06:35 +00:00
William Van Hevelingen
f7e0ea5893 (#13203) Add ssl support
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
2012-03-21 14:48:22 -07:00
Dan Bode
ce606a9525 Merge pull request #53 from nanliu/tb/travis
Add travis.ci to module
2012-03-20 17:31:45 -07:00
Nan Liu
9ebbbc434d Fix Puppet 2.6 compilation issues.
In Puppet 2.6, negate boolean wasn't handled in resources attribues.
Also hashes values were not accepted in functions. The manifests have
been updated to resolve compilation issues in Puppet 2.6.
2012-03-18 01:56:13 -05:00
William Van Hevelingen
f353fc6a2d (#13163) Datadir should be configurable
Previously datadir was hardcoded to /var/lib/mysql.
This commit makes datadir configurable for MySQL
installations with custom datadir paths.
2012-03-17 20:19:55 -07:00
Nan Liu
72da2c5838 Fix mysql service on Ubuntu.
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.
2012-03-16 18:15:12 -05:00
Nan Liu
812ba01509 Merge pull request #46 from bodepd/add_rspec_tests_for_config_class
Add rspec tests for config class
2012-03-16 11:25:28 -07:00
François Charlier
b14c7d14d2 Add a test to check path for 'mysqld-restart'
And fix a coma error in mysql::config class.

Signed-off-by: François Charlier <fcharlier@ploup.net>
2012-03-16 18:13:16 +01:00
François Charlier
1a9ae6bddf Fix path for 'mysqld-restart'
And log output on failure.

Signed-off-by: François Charlier <fcharlier@ploup.net>
2012-03-16 15:31:42 +01:00
Dan Bode
da62ad66f0 Moved class dependency between sever and config to server
Prevously, the server class declared the config class and
the config class had a relationship to the server class.

This actually meant that the config class could never be declared
by itself b/c it exlicity depended on the server class (which it
could never resolve externally b/c it would result in a redeclaration
of the config class itself.)

This issue actually made it impossible to test the manifest on its
own with rspec-puppet. This commit makes it much easier to write
rspec tests for the config class.
2012-03-15 00:51:35 -07:00
Dan Bode
0832a2c1d2 Notify mysql restart from set_mysql_rootpw exec
Since the set_mysql_rootpw exec is only created
when the password is being managed, having the mysql
resource (which always exists) reference it leads
to an error when the mysql root password is not being
managed.

This commit resolves the issue by having the set
mysql rootpw exec notify the mysql restart if it
changes.
2012-03-14 23:12:12 -07:00
Dan Bode
e472d3b48d Mention osfamily value in failure message
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.
2012-03-14 23:07:02 -07:00
Nan Liu
b1f90fd1d2 Major refactor of mysql module.
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.
2012-03-13 15:19:53 -07:00
Justin Ellison
1e926b4516 Ruby and Python's MySQL libraries are named differently on different
distros.
2012-02-28 10:34:19 -08:00
Justin Ellison
09af083e3c Per @ghoneycutt, we should fail explicitly and explain why. 2012-02-28 10:34:19 -08:00
Justin Ellison
7513d0308c Removing duplicate declaration 2012-02-28 10:34:19 -08:00
Justin Ellison
031a47dfad Instead of hardcoding the config file target, pull it from mysql::params 2012-02-28 10:34:19 -08:00
Justin Ellison
360eacd4e0 Moved $socket to within the case to toggle between distros. Added
a $config_file variable to allow per-distro config file destinations.
2012-02-28 10:34:19 -08:00
Justin Ellison
3462e6bf13 Pretty sure this is a bug, 99% of Linux distros out there won't
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.
2012-02-28 10:34:19 -08:00
Carl Caum
0783c748b7 Only notify Exec to import sql if sql is given
Commit e3b9fd broke the mysql::db defined type by always notifying the
Exec[${name}-import-import] resource even though the resource may not be
declared if the $sql parameter was not given. This commit adds an
in-selector to only notify the Exec resource if the $sql parameter has a
value.  More extensive rspec-puppet tests have been provided to protect
against this in the future.
2011-12-19 20:48:47 -08:00
Carl Caum
e3b9fd90a6 (#11508) Only load sql_scripts on DB creation
Previous to this commit, if the sql parameter was provided to a
declaration of the mysql::db defined type, the defined type would always
load the sql script on every catalog run. This changes the exec that
loads that sql script to be refreshonly unless the enforce_sql parameter
is set to true.
2011-12-19 07:25:35 -08:00
Justin Ellison
3058feb1f3 Require not needed due to implicit dependencies 2011-12-13 18:57:38 -06:00
Justin Ellison
a557b8d7c8 Bug #11375: puppetlabs-mysql fails on CentOS/RHEL 2011-12-13 17:36:56 -06:00
Christian G. Warden
92660497a2 (#11185) Fully qualify $operatingsystem
Fully qualify $operatingsystem from root scope as $::operatingsystem. This
should help remove the warnings in Puppet 2.7.x.
2011-12-05 23:34:53 +00:00
Ken Barber
68e4c6af32 Merge pull request #21 from bodepd/config_hash_update
(#10391) Update docs to reflect config_hash.
2011-10-31 11:06:00 -07:00
Dan Bode
e1cb227803 (#10391) Update docs to reflect config_hash.
Configuration was moved to config hash param of the mysql::server class.

This was done so that additional parameters can be
added in the future and not have to be added to
both mysql::config and mysql::server as class params

This patch updates the README, docs, and examples to
correctly use the parameter.
2011-10-31 11:01:57 -07:00
Dan Bode
319644cec5 (#10390) Manage /etc/mysql directory.
/etc/mysql/my.cnf was being managed and /etc/mysql was not.
This was causing failures if the directory was not created
by the package.

This commit manages it in case it was not created by the package.
2011-10-31 10:39:08 -07:00
Dan Bode
eb608164e4 Fixed dep issue.
the exec was set to depend on a conditional resource
resulting in possible errors. Reversed the conditional
to be set on the conditonal resource.
2011-06-24 10:28:55 -07:00
Dan Bode
9f77e8a24a Merge pull request #14 from bodepd/issue/master/root_pw_cleanup
Cleaned up implementation for setting root pw
2011-06-24 10:17:46 -07:00
Ken Barber
a1bd55423b 15 - Fix resource names in monitor.pp 2011-06-24 15:05:46 +01:00
Dan Bode
0963d2eb4f Cleaned up implementation for setting root pw
- param of rather or not to set rootpw in
/etc/my.cnf

- fixed bug for rootpw conditional

- config files are only used for managing rootpw
2011-06-23 23:41:38 -07:00
Dan Bode
b93e0f65cb Fixed bug with updating mysql root pw.
root_password was being set to an undefined variable.
2011-06-23 16:45:28 -07:00