Classes
Public Classes
galera
: Installs MySQL/MariaDB with galera cluster plugingalera::firewall
: Open firewall ports used by galera using puppetlabs-firewall.
Private Classes
galera::arbitrator
: Installs and configures the Arbitrator service.galera::debian
: Adds workarounds to solve issues specific to Debian-based systems.galera::redhat
: Adds workarounds to solve issues specific to RedHat-based systems.galera::repo
: Evaluates which repositories should be enabled depending on $vendor_type and $vendor_version.galera::status
: Configures a user and script that will check the status of the galera cluster.galera::validate
: Validate that the cluster can accept connections at the point where themysql::server
resource is marked as complete. This is used because after returning success, the service is still not quite ready.
Defined types
Public Defined types
Private Defined types
galera::repo::config
: Configures a APT or YUM repository.
Installs MySQL/MariaDB with galera cluster plugin
The following parameters are available in the galera
class.
Data type: Optional[Array]
Specifies a list of additional packages that may be required for SST and other features. The module automatically discovers all additional packages that are required for the selected vendor/sst, but this parameter can be used to overwrite the discovered package list. Default: A vendor-, version- and OS-specific value.
Default value: undef
Data type: Boolean
Specifies whether this node should run Galera Arbitrator instead of a MySQL/MariaDB server.
Data type: Optional[String]
Specifies the configuration file for the Arbitrator service. Default: A vendor-, version- and OS-specific value.
Default value: undef
Data type: Optional[String]
Specifies the optional log file for the Arbitrator service. By default it logs to syslog.
Default value: undef
Data type: String
Specifies configuration options for the Arbitrator service.
Data type: String
Specifies the ensure state for the Arbitrator package.
Valid options: all values supported by the package type.
Default: present
Data type: Optional[String]
Specifies the name of the Arbitrator package to install. Default: A vendor-, version- and OS-specific value.
Default value: undef
Data type: Boolean
Specifies whether the Arbitrator service should be enabled.
Expects that $arbitrator
is also set to true
.
Default: true
Data type: Optional[String]
Specifies the name of the Arbitrator service. Default: A vendor-, version- and OS-specific value.
Default value: undef
Data type: String
Specifies the IP address to bind MySQL/MariaDB to. The module expects the
server to listen on localhost for proper operation. Default: ::
Data type: Optional[String]
Specifies a command used to bootstrap the galera cluster. Default: A vendor-, version- and OS-specific bootstrap command.
Default value: undef
Data type: Optional[String]
Specifies the name of the MySQL/MariaDB client package to install. Default: A vendor-, version- and OS-specific value.
Default value: undef
Data type: String
Specifies the name of the cluster and should be identical on all nodes. This must be set for the module to work properly (although galera does not require this value.)
Data type: Boolean
Specifies whether to open firewall ports used by galera using
puppetlabs-firewall. Default: true
Data type: Boolean
Specifies whether to configure additional repositories that are required for
installing galera. Default: true
Data type: Boolean
A flag to indicate if we should manage the root .my.cnf. Set this to false
if you wish to manage your root .my.cnf file elsewhere. Default: true
Data type: Optional[Boolean]
A flag to indicate if we should manage the root user. Set this to false if
you wish to manage your root user elsewhere. If this is set to undef
, the
module will use true
if this node is $galera_master
. Default: undef
Default value: undef
Data type: Boolean
A flag to indicate if we should manage the status user. Set this to false
if you wish to manage your status user elsewhere. Default: true
Data type: String
Specifies the password to set on Debian/Ubuntu for the sysmaint user used
during updates. Default: sysmaint
Data type: Hash
Internal parameter, do NOT change! Use $override_options
to customize
MySQL options.
Data type: Boolean
Specifies whether or not the EPEL repository should be enabled on
RedHat-based systems. This is required for certain vendors and SST methods
to install packages such as socat.
Default: true
Data type: String
Specifies the node that will bootstrap the cluster if all nodes go down.
Default: $fqdn
Data type: Optional[String]
Specifies the ensure state for the galera package. Note that some vendors
do not allow installation of the wsrep-enabled MySQL/MariaDB and galera
(arbitrator) on the same server. Valid options: all values supported by
the package type. Default: absent
Default value: undef
Data type: Optional[String]
Specifies the name of the galera wsrep package to install. Default: A vendor-, version- and OS-specific value.
Default value: undef
Data type: Optional[Array]
Specifies a list of IP addresses of the nodes in the galera cluster.
Default: [${facts['networking']['ip']}]
Default value: undef
Data type: String
Specifies the IP address of this node to use for communications.
Default: $networking.ip
Data type: Boolean
Specifies whether additional packages should be installed that may be
required for SST and other features. Default: true
Data type: Optional[String]
Specifies the name of the server package to install. Default: A vendor-, version- and OS-specific value.
Default value: undef
Data type: Integer
Specifies the port to use for MySQL/MariaDB. Default: 3306
Data type: Boolean
Specifies the option to pass through to mysql::server::restart
. This can
cause issues during bootstrapping if switched on. Default: false
Data type: Optional[String]
Specifies the option to pass through to mysql::server
.
Default: A vendor-, version- and OS-specific value.
Default value: undef
Data type: Hash
Specifies options to pass to mysql::server
class. See the puppetlabs-mysql
documentation for more information. Default: {}
Data type: Optional[Array]
Usually the required YUM/APT repositories are automatically selected,
depending on the values of $vendor_type
and $vendor_version
. This
parameter will override this to provide a custom selection of repositories.
Default value: undef
Data type: String
Specifies the ensure state for packages. Valid options: all values supported
by the package type. Default: installed
Data type: Boolean
Specifies the option to pass through to mysql::server
. Default: true
Data type: String
Specifies the MySQL/MariaDB root password.
Data type: String
Specifies the rundir for the MySQL/MariaDB service.
Default: /var/run/mysqld
Data type: Boolean
Specifies whether the MySQL/MariaDB service should be enabled.
Default: true
Data type: String
Specifies the subnet or host(s) (in MySQL/MariaDB syntax) to allow status
checks from. Default: %
Data type: Integer
Specifies whether the node will remain in the cluster when it enters donor
mode. Valid options: 0
(remove), 1
(remain). Default: 0
Data type: Integer
When set to 0, clustercheck will return a "503 Service Unavailable" if the
node is in the read_only state, as defined by the read_only
MySQL/MariaDB
variable. Values other than 0 have no effect. Default: -1
Data type: Boolean
Specifies whether to configure a user and script that will check the status
of the galera cluster. Default: true
Data type: String
Specifies the cluster to add the cluster check user to. Default: localhost
Data type: Optional[String]
Specifies which fields xinetd will log on failure. Default: undef
Default value: undef
Data type: Optional[String]
Specifies which fields xinetd will log on success. Default: ''
Default value: undef
Data type: String
Specifies which operator xinetd uses to output logs on success.
Default: =
Data type: String
Specifies the password of the status check user.
Data type: Integer
Specifies the port for cluster check service. Default: 9200
Data type: String
Specifies the name of the user to use for status checks.
Default: clustercheck
Data type: Boolean
Specifies whether the module should ensure that the cluster can accept
connections at the point where the mysql::server
resource is marked
as complete. This is used because after returning success, the service
is still not quite ready. Default: true
Data type: Enum['codership', 'mariadb', 'percona']
Specifies the galera vendor (or flavour) to use.
Valid options: codership, mariadb, percona. Default: percona
Data type: Optional[String]
Specifies the galera version to use. To avoid accidential updates, set this to the required version. Default: A vendor- and OS-specific value. (Usually the most recent version.)
Default value: undef
Data type: Integer
Specifies the port to use for galera clustering. Default: 4567
Data type: Integer
Specifies the port to use for galera incremental state transfer.
Default: 4568
Data type: String
Specifies the authentication information to use for SST.
Default: root:<%= $root_password %>
Data type: Enum['mariabackup', 'mysqldump', 'rsync', 'skip', 'xtrabackup', 'xtrabackup-v2']
Specifies the method to use for state snapshot transfer between nodes.
Valid options: mysqldump, rsync, skip, xtrabackup, xtrabackup-v2 (Percona).
Default: rsync
Data type: Integer
Specifies the port to use for galera state transfer.
Default: 4444
Data type: String
Data type: Optional[String]
Default value: undef
Open firewall ports used by galera using puppetlabs-firewall.
The following parameters are available in the galera::firewall
class.
Data type: Optional[String]
Specifies the firewall source addresses to unblock. Valid options: a string. Default: undef
Default value: undef