galera
: Installs MySQL/MariaDB with galera cluster plugingalera::firewall
: Open firewall ports used by galera using puppetlabs-firewall.
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.
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:
additional_packages
arbitrator
arbitrator_config_file
arbitrator_log_file
arbitrator_options
arbitrator_package_ensure
arbitrator_package_name
arbitrator_service_enabled
arbitrator_service_name
arbitrator_template
bind_address
bootstrap_command
client_package_name
cluster_name
configure_firewall
configure_repo
create_root_my_cnf
create_root_user
create_status_user
deb_sysmaint_password
default_options
epel_needed
galera_master
galera_package_ensure
galera_package_name
galera_servers
libgalera_location
local_ip
manage_additional_packages
mysql_package_name
mysql_port
mysql_restart
mysql_service_name
override_options
override_repos
package_ensure
purge_conf_dir
root_password
rundir
service_enabled
status_allow
status_available_when_donor
status_available_when_readonly
status_check
status_check_type
status_cps
status_flags
status_host
status_instances
status_log_on_failure
status_log_on_failure_operator
status_log_on_success
status_log_on_success_operator
status_log_type
status_password
status_port
status_script
status_service_type
status_system_group
status_system_user
status_system_user_config
status_systemd_service_name
status_user
status_xinetd_service_name
validate_connection
vendor_type
vendor_version
wsrep_group_comm_port
wsrep_inc_state_transfer_port
wsrep_sst_auth
wsrep_sst_method
wsrep_state_transfer_port
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 template to use when creating $arbitrator_config_file
.
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: Optional[String]
Specifies the location of the WSREP libraries.
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: present
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: Enum['systemd', 'xinetd']
Specifies the type of service to use for status checks. Supported values
are either systemd
or xinetd
, depending on the operating system.
Data type: Optional[String]
Rate limit config for the xinetd status service.
Default value: undef
Data type: Optional[String]
Flags for the xinetd status service.
Default value: undef
Data type: String
Specifies the cluster to add the cluster check user to. Default: localhost
Data type: Optional[String]
Number of active instances for the xinetd status service.
Default value: undef
Data type: Optional[String]
Specifies which fields xinetd will log on failure. Default: undef
Default value: undef
Data type: Optional[String]
Specifies which operator xinetd uses to output logs on failure.
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: Optional[String]
Log type for the xinetd status service.
Default value: undef
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: Stdlib::Absolutepath
The script that will be used for status checks.
Data type: Optional[String]
Service type for the xinetd status service.
Default value: undef
Data type: String
The operating system group that will be managed for the status check.
Data type: String
The operating system user that will be managed for the status check.
Data type: Hash
The config for the operating system user.
Data type: String
The name of the systemd status service.
Data type: String
Specifies the name of the user to use for status checks.
Default: clustercheck
Data type: String
The name of the xinetd status service.
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
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