heat_template_version: 2016-10-14 description: > MySQL service deployment using puppet parameters: #Parameters not used EndpointMap ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set via parameter_defaults in the resource registry. This mapping overrides those in ServiceNetMapDefaults. type: json DefaultPasswords: default: {} type: json EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json MysqlMaxConnections: description: Configures MySQL max_connections config setting type: number default: 4096 MysqlRootPassword: type: string hidden: true default: '' MysqlClustercheckPassword: type: string hidden: true EnableGalera: default: true description: Whether to use Galera instead of regular MariaDB. type: boolean outputs: role_data: description: Service MySQL using composable services. value: service_name: mysql config_settings: # The Galera package should work in cluster and # non-cluster modes based on the config file. # We set the package name here explicitly so # that it matches what we pre-install # in tripleo-puppet-elements. mysql::server::package_name: 'mariadb-galera-server' mysql::server::manage_config_file: true tripleo.mysql.firewall_rules: '104 mysql galera': dport: - 873 - 3306 - 4444 - 4567 - 4568 - 9200 mysql_max_connections: {get_param: MysqlMaxConnections} mysql::server::root_password: yaql: expression: $.data.passwords.where($ != '').first() data: passwords: - {get_param: MysqlRootPassword} - {get_param: [DefaultPasswords, mysql_root_password]} mysql_clustercheck_password: {get_param: MysqlClustercheckPassword} enable_galera: {get_param: EnableGalera} # NOTE: bind IP is found in Heat replacing the network name with the # local node IP for the given network; replacement examples # (eg. for internal_api): # internal_api -> IP # internal_api_uri -> [IP] # internal_api_subnet - > IP/CIDR mysql_bind_host: {get_param: [ServiceNetMap, MysqlNetwork]} step_config: | include ::tripleo::profile::base::database::mysql