Forge Home


Puppet module for percona


6,685 latest version

2.1 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

Version information

  • 0.1.14 (latest)
  • 0.1.6
  • 0.1.5
  • 0.1.4
  • 0.1.3
  • 0.1.0
released Mar 31st 2017

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'desalvo-percona', '0.1.14'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add desalvo-percona
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install desalvo-percona --version 0.1.14

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.



desalvo/percona — version 0.1.14 Mar 31st 2017


Puppet module for managing Percona XtraDB.

Table of Contents

  1. Overview - What is the percona module?


This module is intended to be used to manage the Percona XtraDB system configuration. Percona XtraDB is an enhanced version of the InnoDB storage engine for MySQL® and MariaDB®.


The following parameters are supported:

  • mysql_version: the Percona mysql version to be used. Currently 5.5 or 5.6 [default: 5.5]
  • root_password: the root password of the database [default: unset]
  • old_passwords: set this to true to support the old mysql 3.x hashes for the passwords [default: false]
  • datadir: the mysql data directory [default: /var/lib/mysql]
  • bind_address: the mysql bind address
  • port: the mysql server port [default: 3306]
  • server_id: the server id [default: 1]
  • skip_slave_start: set this to true to skip the slave startup on boot [default: true]
  • ist_recv_addr: the IST receiver address for WSREP [default: ipaddress]
  • wsrep_max_ws_size: the WSREP max working set size [default: 2G]
  • wsrep_cluster_address: the WSREP cluster address list, like gcomm://:4010,:4010 [default: gcomm://]
  • wsrep_provider: the WSREP provider [default:]
  • wsrep_max_ws_rows: the WSREP max working set rows [default: 1024000]
  • wsrep_sst_receive_address: the SST receiver address [default: ipaddress:4020]
  • wsrep_slave_threads: number of WSREP slave threads [default: 2]
  • wsrep_sst_method: the WSREP SST method, like rsync or xtrabackup [default: rsync]
  • wsrep_sst_auth: the auth string for SST, if needed [default: undef]
  • wsrep_cluster_name: the WSREP cluster name [default: default]
  • binlog_format: the binlog format [default: ROW]
  • default_storage_engine: the default storage engine [default: InnoDB]
  • innodb_autoinc_lock_mode: the innodb lock mode [default: 2]
  • innodb_locks_unsafe_for_binlog: set this to true if you want to use unsafe locks for the binlogs [default: 1]
  • innodb_buffer_pool_size: the innodb buffer pool size [default: 128M]
  • innodb_log_file_size: the innodb log file size [default: 256M]
  • bulk_insert_buffer_size: the size of the insert buffer [default: 128M]
  • innodb_flush_log_at_trx_commit: set this to allow flushing of logs at transaction commit [default: 2]
  • innodb_file_per_table: set this to true to allow using sepafate files for the innodb tablespace [default: true]
  • innodb_file_format: the file format for innodb [default: Barracuda]
  • innodb_file_format_max: the higher level of file formats for innodb [default: Barracuda]
  • sort_buffer_size: the size of the sort buffer [default: 64M]
  • read_buffer_size: the size of the read buffer [default: 64M]
  • read_rnd_buffer_size: the size of the rnd buffer [default: 64M]
  • key_buffer_size: size of keys [default: 64M]
  • myisam_sort_buffer_size: the myisam sort buffer size [default: 64M]
  • max_connections: the maximum number of allowed connections [default: 151]
  • thread_cache: the number of thread caches [default: 2]
  • thread_stack: the stack size for each thread [default: 256K]
  • query_cache_limit: the size of individual query results that can be cached
  • query_cache_size: the size of the query cache [default: 64M]
  • table_open_cache: the number of open tables for all threads [default: 400]
  • skip_external_locking: disable external locking if true [default: true]
  • ssl: Use SSL [default: false]
  • ssl_ca: SSL CA bundle file
  • ssl_cert: use certificate file
  • ssl_key: use key file
  • tmpdir: the path of the directory to use for creating temporary files [default: /tmp]
  • log_warnings: log warning level [default: none]



This is a simple example to configure a percona server.

Using the percona XtraDB module

class { 'percona':
    root_password => 'dummy_password',
    wsrep_cluster_address => 'gcomm://,',
    wsrep_cluster_name => 'mycluster'

Please note that in case you already have other DB machines in the cluster you will need to use the same value of innodb_log_file_size for all the components of the cluster.


Release Notes


  • Support for the noarch repo
  • Support for additional parameters
  • Support for /root/.my.cnf
  • Puppet 4 support


  • Add support for RHEL7
  • Remove deprecated directive thread_concurrency


  • Add log_warning setting


  • Add support for changing server port


  • Fixed behaviour with multiple versions and bad key server on Debian/Ubuntu
  • Refactoring of the module internals


  • Replaced consensus_timeout with install_timeout
  • Updated compat package


  • Fixed mysql db initialization when using a custom datadir location


  • Better handling of the datadir parameter


  • Fixed bug on percona startup procedure


  • Improved documentation


  • Added support for Ubuntu/Debian.
  • Better handling of the initial setup.


  • Initial version.