From 27f1a2793089964e9d44e59b8b1a481bb991de11 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Oct 08 2020 08:08:59 +0000 Subject: import resource-agents-4.1.1-70.el8 --- diff --git a/SOURCES/bz1881114-galera-recover-joining-non-existing-cluster.patch b/SOURCES/bz1881114-galera-recover-joining-non-existing-cluster.patch new file mode 100644 index 0000000..17b823a --- /dev/null +++ b/SOURCES/bz1881114-galera-recover-joining-non-existing-cluster.patch @@ -0,0 +1,51 @@ +From 028bd6aab181104fe68166c8ec9c0485e12f9376 Mon Sep 17 00:00:00 2001 +From: Damien Ciabrini +Date: Fri, 18 Sep 2020 18:34:22 +0200 +Subject: [PATCH] galera: recover from joining a non existing cluster + +galera being a M/S resource, the resource agent decides +when and how to promote a resource based on the current +state of the galera cluster. If there's no cluster, +a resource is promoted as the bootstrap node. Otherwise +it is promoted as a joiner node. + +There can be some time between the moment when a node is +promoted and when the promote operation effectively +takes place. So if a node is promoted for joining a cluster, +all the running galera nodes are stopped before the promote +operation start, the joining node won't be able to join the +cluster, and it can't bootstrap a new one either because it +doesn't have the most recent copy of the DB. + +In that case, do not make the promotion fail, and force +a demotion instead. This ensures that a normal bootstrap +election will take place eventually, without blocking +the joining node due to a failed promotion. +--- + heartbeat/galera | 13 ++++++++++--- + 1 file changed, 10 insertions(+), 3 deletions(-) + +diff --git a/heartbeat/galera b/heartbeat/galera +index 74f11d8c5..d2f4faa86 100755 +--- a/heartbeat/galera ++++ b/heartbeat/galera +@@ -727,9 +727,16 @@ galera_promote() + ocf_log info "Node <${NODENAME}> is bootstrapping the cluster" + extra_opts="--wsrep-cluster-address=gcomm://" + else +- ocf_exit_reason "Failure, Attempted to promote Master instance of $OCF_RESOURCE_INSTANCE before bootstrap node has been detected." +- clear_last_commit +- return $OCF_ERR_GENERIC ++ # We are being promoted without having the bootstrap ++ # attribute in the CIB, which means we are supposed to ++ # join a cluster; however if we end up here, there is no ++ # Master remaining right now, which means there is no ++ # cluster to join anymore. So force a demotion, and and ++ # let the RA decide later which node should be the next ++ # bootstrap node. ++ ocf_log warn "There is no running cluster to join, demoting ourself" ++ clear_master_score ++ return $OCF_SUCCESS + fi + fi + diff --git a/SPECS/resource-agents.spec b/SPECS/resource-agents.spec index 2219f90..4d47b7b 100644 --- a/SPECS/resource-agents.spec +++ b/SPECS/resource-agents.spec @@ -70,7 +70,7 @@ Name: resource-agents Summary: Open Source HA Reusable Cluster Resource Scripts Version: 4.1.1 -Release: 69%{?rcver:%{rcver}}%{?numcomm:.%{numcomm}}%{?alphatag:.%{alphatag}}%{?dirty:.%{dirty}}%{?dist} +Release: 70%{?rcver:%{rcver}}%{?numcomm:.%{numcomm}}%{?alphatag:.%{alphatag}}%{?dirty:.%{dirty}}%{?dist} License: GPLv2+ and LGPLv2+ URL: https://github.com/ClusterLabs/resource-agents %if 0%{?fedora} || 0%{?centos_version} || 0%{?rhel} @@ -241,6 +241,7 @@ Patch149: bz1795535-pgsql-1-add-postgresql-12-support.patch Patch150: bz1795535-pgsql-2-fix-uppercase-hostname-support.patch Patch151: bz1858752-Filesystem-support-whitespace-device-dir.patch Patch152: bz1872999-aws-vpc-move-ip-add-region-parameter.patch +Patch153: bz1881114-galera-recover-joining-non-existing-cluster.patch # bundle patches Patch1000: 7-gcp-bundled.patch @@ -549,6 +550,7 @@ exit 1 %patch150 -p1 %patch151 -p1 -F1 %patch152 -p1 +%patch153 -p1 chmod 755 heartbeat/nova-compute-wait chmod 755 heartbeat/NovaEvacuate @@ -1112,6 +1114,11 @@ ccs_update_schema > /dev/null 2>&1 ||: %endif %changelog +* Wed Oct 7 2020 Oyvind Albrigtsen - 4.1.1-70 +- galera: recover from joining a non existing cluster + + Resolves: rhbz#1881114 + * Wed Sep 23 2020 Oyvind Albrigtsen - 4.1.1-69 - pgsql: ignore masters re-promote - pgsql: add PostgreSQL 12 support @@ -1119,7 +1126,6 @@ ccs_update_schema > /dev/null 2>&1 ||: - Filesystem: Support whitespace in device or directory name - aws-vpc-move-ip: add region parameter - Resolves: rhbz#1640587 Resolves: rhbz#1795535 Resolves: rhbz#1828600