Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix binarylog by allowing users to specify managed directories #1194

Merged
merged 5 commits into from
Mar 20, 2020

Conversation

elfranne
Copy link
Contributor

@elfranne elfranne commented May 6, 2019

On Ubuntu/Debian Puppet will fail if specifying path for:

tmpdir
basedir
datadir
innodb_data_home_dir
innodb_log_group_home_dir
innodb_undo_directory
innodb_tmpdir

deb packages starts mysql service automatically after install with the config provided by Puppet but will fail if the directory has not been created. Creating the directory should be part of the installation process.

A solution, less than ideal, is to create the folders (exec) and make them world readable. Then after the package has been installed (and user created) is to fix the permissions and ownership.

If anyone can come up with a more elegant solution...

Has been tested on:
Puppet 6.0.4 + Ubuntu 16.04LTS

@elfranne
Copy link
Contributor Author

elfranne commented May 7, 2019

@david22swan Any comments ?

@carabasdaniel
Copy link
Contributor

Hi @elfranne,

This looks good, but would it be possible to add some tests to verify that this is working as intended?

Thanks.

@lionce
Copy link
Contributor

lionce commented Nov 7, 2019

Hello @elfranne ,

Please let us know if you need help on adding some tests for this update! Thank you!

Cheers!

@elfranne
Copy link
Contributor Author

elfranne commented Nov 7, 2019

Help would be greatly appreciated !

@lionce
Copy link
Contributor

lionce commented Nov 12, 2019

Hello @elfranne ,

Currently we're using puppet-litmus for running acceptance tests. This replaces beaker as the test runner. To run the acceptance tests follow the instructions from this point here.
Here is a useful documentation on how to add unit tests using rspec-puppet
To add new unit tests for that here is an example for manage_config_file. Another example for mysql::server::backup. I hope these examples will help you. If you need help, please contact us! Thanks!

Cheers!

@lionce
Copy link
Contributor

lionce commented Jan 14, 2020

Hello @elfranne ,

Apologies for the bother but I was wondering if you intended to do any further work on this pr? Please let us know if you need help on adding the tests for this update!

Thank you!

@fuyar
Copy link
Contributor

fuyar commented Feb 6, 2020

Hello any news on this PR ? This is a blocker for guys using Debian as package start mysql on post install scripts.
Typically starting mysql without binlog dir will prevent mysql from starting then package installation is marked as failed.

@elfranne elfranne requested a review from a team as a code owner March 10, 2020 16:44
@carabasdaniel carabasdaniel changed the title Debian dirs Fix binarylog by allowing users to specify managed directories Mar 20, 2020
@carabasdaniel
Copy link
Contributor

This PR looks great now, thank you @elfranne and @sanfrancrisko.

@carabasdaniel carabasdaniel merged commit 84069b0 into puppetlabs:master Mar 20, 2020
@jocado
Copy link

jocado commented May 13, 2020

Hmmm, managed_dirs is inherited from params class in to the server class, but not actually declared in the server class. This means it can't be changed.

This functional change, released in 10.5 today, has completely broken this module for us.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants