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
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.
The existing spec tests should be tested on multiple puppet version. The
addition of travis.ci allows us to easily verify all specs are passing
and new manifests did not break backwards compatibility by introducing
new syntax.
The current spec tests was testing for an error message duplicate
declaration instead of duplicate definition. This change was introduced
by puppet issue #11451, so we test for both errors instead.
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.
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.
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.
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 commit fixes an issue in self.instances of
database_user where none of the users were actually
being detected.
There was a accidental '\' in front of the '.' which
means that it will only consider users that have
one or more '.' in front of the '@'.
This commit removes the '\' so that all users are
returned that have one or more characters in from
of an '@'.
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.
These were missing from the list of allowed privileges:
* event_priv
* trigger_priv
No rspec changes, as we don't even have basic coverage on these providers and
its a minor change so should be low risk.
Without this patch there is a typo in the dependency line and Puppet
Labs is concatenated together which is not how I normally see the author
string represented in modules.
Reviewed-by: Josh Cooper
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.
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.