diff --git a/bitnami/mariadb/bitnami-utils-custom.sh b/bitnami/mariadb/bitnami-utils-custom.sh index 2dedd3f2b494..6815cd503b2e 100644 --- a/bitnami/mariadb/bitnami-utils-custom.sh +++ b/bitnami/mariadb/bitnami-utils-custom.sh @@ -83,6 +83,12 @@ configure_replication() { exit -1 fi + if [ ! $REPLICATION_USER ]; then + echo "In order to setup a replication slave you need to provide the REPLICATION_USER as well" + echo "" + exit -1 + fi + echo "==> Setting the master configuration..." echo "CHANGE MASTER TO MASTER_HOST='$MASTER_HOST', MASTER_USER='$REPLICATION_USER', MASTER_PASSWORD='$REPLICATION_PASSWORD';" >> /tmp/init_mysql.sql diff --git a/bitnami/mariadb/test.sh b/bitnami/mariadb/test.sh index 453dd707eb00..3db7a7e8223a 100755 --- a/bitnami/mariadb/test.sh +++ b/bitnami/mariadb/test.sh @@ -233,6 +233,31 @@ create_full_container_mounted(){ cleanup_running_containers $CONTAINER_NAME-slave } +@test "Can't setup replication slave without replication user" { + create_container -d --name $CONTAINER_NAME-master \ + -e MARIADB_USER=$MARIADB_USER \ + -e MARIADB_PASSWORD=$MARIADB_PASSWORD \ + -e MARIADB_DATABASE=$MARIADB_DATABASE \ + -e REPLICATION_MODE=master \ + -e REPLICATION_USER=$REPLICATION_USER \ + -e REPLICATION_PASSWORD=$REPLICATION_PASSWORD + + run create_container --name $CONTAINER_NAME-slave \ + --link $CONTAINER_NAME-master:master \ + -e MASTER_HOST=$CONTAINER_NAME-master \ + -e MASTER_USER=$MARIADB_USER \ + -e MASTER_PASSWORD=$MARIADB_PASSWORD \ + -e MARIADB_USER=$MARIADB_USER \ + -e MARIADB_PASSWORD=$MARIADB_PASSWORD \ + -e MARIADB_DATABASE=$MARIADB_DATABASE \ + -e REPLICATION_MODE=slave + + [[ "$output" =~ "you need to provide the REPLICATION_USER" ]] + + cleanup_running_containers $CONTAINER_NAME-master + cleanup_running_containers $CONTAINER_NAME-slave +} + @test "Replication slave can automatically fetch connection parameters from master using docker links" { create_container -d --name $CONTAINER_NAME-master \ -e MARIADB_USER=$MARIADB_USER \