Skip to content

Add documentation example for Perconna installation on Centos #819

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

Merged
merged 1 commit into from
Apr 25, 2016

Conversation

aerostitch
Copy link
Contributor

Hi guys,

Great job on the module.
I was doing the tests to install Percona 5.7 on a Centos 7 box with this module as some people ask if it's doable.
The commit adds this case in the documentation to help the diversity of usage example as this one is pretty easy.

This should help the questions of #757
To have this working, you need to have #818 integrated to the repo.

Thanks for your time,
Joseph


class {'mysql::client':
package_name => 'Percona-Server-client-57',
}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is this needed? The client package is a dependency of the server package.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's not, it's just here to show how to install the client it you want to install it.

@solomonty
Copy link

Please take a look at PR #818. I believe it includes some of your changes in addition to other changes needed for Percona.

@@ -4,7 +4,7 @@ class Puppet::Provider::Mysql < Puppet::Provider
initvars

# Make sure we find mysqld on CentOS
ENV['PATH']=ENV['PATH'] + ':/usr/libexec'
ENV['PATH']=ENV['PATH'] + ':/usr/libexec:/usr/sbin'

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I did not need to make this change on CentOS 6

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because it was already in your path. In some minimalist environment it can be absent.

@aerostitch aerostitch changed the title Fix percona centos and add documentation Add documentation example for Perconna installation on Centos Apr 13, 2016
@aerostitch
Copy link
Contributor Author

@solomonty: yeah sorry I didn't see your change before you commented this PR.
I'm updating this to remove the duplicate work, so it will only be about documenting the installation of CentOS on Percona. :)

@aerostitch
Copy link
Contributor Author

Updated, this PR is now just a doc update (but it requires #818 to be integrated in the repo to have this example working) :)

class { 'mysql::bindings':
client_dev_package_name => 'Percona-Server-devel-57',
daemon_dev_package_name => 'Percona-Server-shared-57',
}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is prudent to include the various ensure options for mysql::server, mysql::client, and any entries provided in mysql::bindings to make sure they are the same version.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The names client_dev_package_name and daemon_dev_package_name seem confusing. Where do they come from? What does daemon_dev mean? I don't see daemon in the name of any of the packages.

The Percona MySQL packages are

Percona-Server-client-57.x86_64        5.7.11-4.1.el6            percona-release
Percona-Server-devel-57.x86_64         5.7.11-4.1.el6            percona-release
Percona-Server-server-57.x86_64        5.7.11-4.1.el6            percona-release
Percona-Server-shared-57.x86_64        5.7.11-4.1.el6            percona-release
Percona-Server-57-debuginfo.x86_64     5.7.11-4.1.el6            percona-release
Percona-Server-test-57.x86_64          5.7.11-4.1.el6            percona-release
Percona-Server-tokudb-57.x86_64        5.7.11-4.1.el6            percona-release

The Oracle MySQL packages are

mysql-community-client.x86_64       5.7.12-1.el6     mysql57-community          
mysql-community-common.x86_64       5.7.12-1.el6     mysql57-community          
mysql-community-devel.x86_64        5.7.12-1.el6     mysql57-community          
mysql-community-embedded.x86_64     5.7.12-1.el6     mysql57-community          
mysql-community-libs.x86_64         5.7.12-1.el6     mysql57-community          
mysql-community-libs-compat.x86_64  5.7.12-1.el6     mysql57-community          
mysql-community-server.x86_64       5.7.12-1.el6     mysql57-community          
mysql-community-test.x86_64         5.7.12-1.el6     mysql57-community          

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The daemon_dev are generally mysql-devel or mariadb-devel which are the development headers and static libraries.
Those would correspond (big picture) to: Percona-Server-devel-57
https://www.percona.com/doc/percona-server/5.7/installation/yum_repo.html

The client_dev would correspond in this case to mysql-libs (or mysql-community-libs or mysql-commercial-libs ) or mariadb-shared which are shared/dynamic client libraries.
http://dev.mysql.com/doc/refman/5.7/en/linux-installation-rpm.html
Percona-Server-shared-57 package would correspond to that.
So keeping that logic I should invert those. :)

@aerostitch
Copy link
Contributor Author

Updating the PR taking in account your comments @solomonty.
Thanks! ;)


Yumrepo['percona']->
Class['mysql::bindings']
```

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why not add a
require => Yumrepo['percona']
to each of Class['mysql::server'], Class['mysql::client'], and Class['mysql::bindings']?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's just a question of style. I'm more used to do that as you can manage more complex chaining logic.
The result in this specific case would be the same.

@DavidS
Copy link
Contributor

DavidS commented Apr 19, 2016

Please rebase this on top of the current master, so that travis runs the full-system acceptance tests (new cells in the travis.yml). This will make it much easier to merge tihs.

@aerostitch
Copy link
Contributor Author

@DavidS rebased against master.

@DavidS DavidS merged commit 3c9f8ae into puppetlabs:master Apr 25, 2016
@aerostitch aerostitch deleted the fix_percona_centos branch May 9, 2016 02:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants