diff --git a/roles/db/defaults/main.yaml b/roles/db/defaults/main.yaml index b26beb7..b1818b7 100644 --- a/roles/db/defaults/main.yaml +++ b/roles/db/defaults/main.yaml @@ -29,8 +29,8 @@ required_mariabackup_files_and_scripts: - { src: scripts/check-memory.sh, dest: /root/scripts/check-memory.sh, mode: u=rwx,g=rx,o=rx } - { src: scripts/export-privs.sh, dest: /root/scripts/export-privs.sh, mode: u=rwx,g=rx,o=rx } - { src: scripts/mysqltuner.pl, dest: /root/scripts/mysqltuner.pl, mode: u=rwx,g=rx,o=rx } - - { src: scripts/promote-master.sh, dest: /root/scripts/promote-master.sh, mode: u=rwx,g=rx,o=rx } - - { src: scripts/promote-slave.sh, dest: /root/scripts/promote-slave.sh, mode: u=rwx,g=rx,o=rx } + - { src: scripts/events-promote.sh, dest: /root/scripts/events-promote.sh, mode: u=rwx,g=rx,o=rx } + - { src: scripts/events-demote.sh, dest: /root/scripts/events-demote.sh, mode: u=rwx,g=rx,o=rx } - { src: scripts/README.md, dest: /root/scripts/README.md, mode: u=rw,g=r,o=r } - { src: scripts/scheduler-log.sh, dest: /root/scripts/scheduler-log.sh, mode: u=rwx,g=rx,o=rx } downloads: diff --git a/roles/db/files/mariabackup/bacula-after.sh b/roles/db/files/mariabackup/bacula-after.sh index 53e37bb..6857ed7 100755 --- a/roles/db/files/mariabackup/bacula-after.sh +++ b/roles/db/files/mariabackup/bacula-after.sh @@ -5,8 +5,7 @@ myDir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" . "$myDir/config.sh" . "$myDir/apply.config.sh" -todayDir=$(date +%Y-%m-%d) -pattern="$baculaDir/mnt/local-backup/${todayDir}_??-??_full.gz" +pattern="$baculaDir/mnt/local-backup/*_full.gz" files=($pattern) backupFile="${files[0]}" @@ -31,19 +30,23 @@ mysql < "$myDir/apply.sql" echo "Upgrading tables." mysql_upgrade -echo "Applying repository changes." -curl --silent --request POST --location --user "$jenkinsAuth" "$jenkinsUrl/build?delay=0sec" -echo "Waiting for Jenkins job to end." -jobResult=null -while [ "$jobResult" = "null" ]; do - sleep 10 - jobResult=$(curl --silent --location --user "$jenkinsAuth" "$jenkinsUrl/lastBuild/api/json" | jq --raw-output ".result") -done -echo "Job result: $jobResult" +if [ -n "$jenkinsUrl" ]; then + echo "Applying repository changes." + curl --silent --request POST --location --user "$jenkinsAuth" "$jenkinsUrl/build?delay=0sec" -echo "Promoting to master." -"/root/scripts/promote-master.sh" + echo "Waiting for Jenkins job to end." + jobResult=null + while [ "$jobResult" = "null" ]; do + sleep 10 + jobResult=$(curl --silent --location --user "$jenkinsAuth" "$jenkinsUrl/lastBuild/api/json" | jq --raw-output ".result") + done + echo "Job result: $jobResult" +fi + + +echo "Promoting Events." +"/root/scripts/events-promote.sh" for node in "${dbClusterSiblings[@]}"; do ssh root@$node service mysql start diff --git a/roles/db/files/scripts/promote-slave.sh b/roles/db/files/scripts/events-demote.sh similarity index 100% rename from roles/db/files/scripts/promote-slave.sh rename to roles/db/files/scripts/events-demote.sh diff --git a/roles/db/files/scripts/promote-master.sh b/roles/db/files/scripts/events-promote.sh similarity index 100% rename from roles/db/files/scripts/promote-master.sh rename to roles/db/files/scripts/events-promote.sh diff --git a/roles/db/tasks/mariadb.yml b/roles/db/tasks/mariadb.yml index a0b53a1..a3980ce 100644 --- a/roles/db/tasks/mariadb.yml +++ b/roles/db/tasks/mariadb.yml @@ -13,7 +13,7 @@ - name: Run MariaDB repository setup script command: - cmd: "/bin/bash /tmp/mariadb_repo_setup --mariadb-server-version={{ db.version | default('10.11.6') }}" + cmd: "/bin/bash /tmp/mariadb_repo_setup --mariadb-server-version={{ db.version | default('10.11.10') }}" creates: "/etc/apt/sources.list.d/mariadb.list" - name: Install Percona repository package diff --git a/roles/db/templates/mariabackup/apply.config.sh b/roles/db/templates/mariabackup/apply.config.sh index f4e6c1c..a175dd8 100755 --- a/roles/db/templates/mariabackup/apply.config.sh +++ b/roles/db/templates/mariabackup/apply.config.sh @@ -15,5 +15,7 @@ dbClusterSiblings=() # Jenkins authentication string jenkinsAuth=jenkins:{{ lookup(passbolt, 'jenkinsAuth', folder_parent_id=passbolt_folder).password }} +{% if db.jenkinsUrl is defined %} # Jenkins job URL -jenkinsUrl=https://jenkins.verdnatura.es/job/Scheduler/job/db-apply-changes-{{ db.branch }} +jenkinsUrl={{ db.jenkinsUrl }} +{% endif %}