Merge "Fix MariaDB for ubuntu"
This commit is contained in:
commit
f14b229b10
@ -1,3 +1,4 @@
|
|||||||
|
{% set wsrep_driver = '/usr/lib/galera/libgalera_smm.so' if kolla_base_distro == 'ubuntu' else '/usr/lib64/galera/libgalera_smm.so' %}
|
||||||
[mysqld]
|
[mysqld]
|
||||||
bind-address={{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}
|
bind-address={{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}
|
||||||
port={{ mariadb_port }}
|
port={{ mariadb_port }}
|
||||||
@ -13,7 +14,7 @@ wsrep_provider_options="gmcast.listen_addr=tcp://{{ hostvars[inventory_hostname]
|
|||||||
wsrep_node_address={{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}:{{ mariadb_wsrep_port }}
|
wsrep_node_address={{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}:{{ mariadb_wsrep_port }}
|
||||||
wsrep_sst_receive_address={{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}:{{ mariadb_sst_port }}
|
wsrep_sst_receive_address={{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}:{{ mariadb_sst_port }}
|
||||||
|
|
||||||
wsrep_provider=/usr/lib64/galera/libgalera_smm.so
|
wsrep_provider={{ wsrep_driver }}
|
||||||
wsrep_cluster_name="{{ database_cluster_name }}"
|
wsrep_cluster_name="{{ database_cluster_name }}"
|
||||||
wsrep_node_name={{ ansible_hostname }}
|
wsrep_node_name={{ ansible_hostname }}
|
||||||
wsrep_sst_method=xtrabackup-v2
|
wsrep_sst_method=xtrabackup-v2
|
||||||
|
@ -1,27 +1,5 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
function configure_files {
|
|
||||||
crudini --set $CFG mariadb bind-address "${DB_CLUSTER_BIND_ADDRESS}"
|
|
||||||
crudini --set $CFG mariadb binlog_format "ROW"
|
|
||||||
crudini --set $CFG mariadb character-set-server "utf8"
|
|
||||||
crudini --set $CFG mariadb collation-server "utf8_general_ci"
|
|
||||||
crudini --set $CFG mariadb datadir "/var/lib/mysql"
|
|
||||||
crudini --set $CFG mariadb default-storage-engine "innodb"
|
|
||||||
crudini --set $CFG mariadb init-connect "'SET NAMES utf8'"
|
|
||||||
crudini --set $CFG mariadb innodb_autoinc_lock_mode "2"
|
|
||||||
crudini --set $CFG mariadb innodb_file_per_table 1
|
|
||||||
crudini --set $CFG mariadb innodb_flush_log_at_trx_commit "2"
|
|
||||||
crudini --set $CFG mariadb innodb_locks_unsafe_for_binlog "1"
|
|
||||||
crudini --set $CFG mariadb innodb_log_file_size "100M"
|
|
||||||
crudini --set $CFG mariadb query_cache_size "0"
|
|
||||||
crudini --set $CFG mariadb query_cache_type "0"
|
|
||||||
crudini --set $CFG mariadb wsrep_cluster_address "gcomm://${DB_CLUSTER_NODES}"
|
|
||||||
crudini --set $CFG mariadb wsrep_cluster_name "${DB_CLUSTER_NAME}"
|
|
||||||
crudini --set $CFG mariadb wsrep_provider "/usr/lib64/galera/libgalera_smm.so"
|
|
||||||
crudini --set $CFG mariadb wsrep_sst_auth "'root:${DB_ROOT_PASSWORD}'"
|
|
||||||
crudini --set $CFG mariadb wsrep_sst_method "${DB_CLUSTER_WSREP_METHOD}"
|
|
||||||
}
|
|
||||||
|
|
||||||
function bootstrap_db {
|
function bootstrap_db {
|
||||||
mysqld_safe --wsrep-new-cluster &
|
mysqld_safe --wsrep-new-cluster &
|
||||||
|
|
||||||
@ -53,33 +31,7 @@ function bootstrap_db {
|
|||||||
mysqladmin -p"${DB_ROOT_PASSWORD}" shutdown
|
mysqladmin -p"${DB_ROOT_PASSWORD}" shutdown
|
||||||
}
|
}
|
||||||
|
|
||||||
function configure_db {
|
|
||||||
bootstrap_db
|
|
||||||
|
|
||||||
echo "GRANT ALL ON *.* TO 'root'@'%' IDENTIFIED BY '$DB_ROOT_PASSWORD' ;" > $DB_CLUSTER_INIT_SQL
|
|
||||||
|
|
||||||
if [ "$MARIADB_DATABASE" ]; then
|
|
||||||
echo "CREATE DATABASE IF NOT EXISTS $MARIADB_DATABASE ;" >> $DB_CLUSTER_INIT_SQL
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$MARIADB_USER" -a "$MARIADB_PASSWORD" ]; then
|
|
||||||
echo "CREATE USER '$MARIADB_USER'@'%' IDENTIFIED BY '$MARIADB_PASSWORD' ;" >> $DB_CLUSTER_INIT_SQL
|
|
||||||
|
|
||||||
if [ "$MARIADB_DATABASE" ]; then
|
|
||||||
echo "GRANT ALL ON $MARIADB_DATABASE.* TO '$MARIADB_USER'@'%' ;" >> $DB_CLUSTER_INIT_SQL
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "FLUSH PRIVILEGES" >> $DB_CLUSTER_INIT_SQL
|
|
||||||
}
|
|
||||||
|
|
||||||
function populate_db {
|
function populate_db {
|
||||||
mysql_install_db
|
mysql_install_db
|
||||||
chown -R mysql: /var/lib/mysql
|
chown -R mysql: /var/lib/mysql
|
||||||
}
|
}
|
||||||
|
|
||||||
function prepare_db {
|
|
||||||
populate_db
|
|
||||||
configure_db
|
|
||||||
configure_files
|
|
||||||
}
|
|
||||||
|
@ -26,10 +26,18 @@ RUN yum install -y http://www.percona.com/redir/downloads/percona-release/redhat
|
|||||||
|
|
||||||
{% elif base_distro in ['ubuntu', 'debian'] %}
|
{% elif base_distro in ['ubuntu', 'debian'] %}
|
||||||
|
|
||||||
RUN ["/bin/false"]
|
# At the end of this run statement we symlink two folders to match the folder
|
||||||
|
# structure of the RPM family for mysql configs. This allows us to not change
|
||||||
# TODO(sdake) when ubuntu support is implemented we will need a line
|
# the config-external.sh code
|
||||||
# && rm -rf /var/lib/mysql/
|
# TODO(SamYaple): Remove that symlink once config-external is updated
|
||||||
|
RUN apt-get install -y --no-install-recommends \
|
||||||
|
mariadb-galera-server \
|
||||||
|
percona-xtrabackup \
|
||||||
|
socat \
|
||||||
|
expect \
|
||||||
|
&& apt-get clean \
|
||||||
|
&& rm -rf /var/lib/mysql/* \
|
||||||
|
&& ln -s /etc/mysql/conf.d/ /etc/my.cnf.d
|
||||||
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user