- IPaddr2/IPsrcaddr: support policy-based routing
- lvmlockd: add "use_lvmlockd = 1" if it's commented out or missing - ethmonitor: dont log "Interface does not exist" for monitor-action - mysql: fix replication issues Resolves: rhbz#2040110 Resolves: rhbz#2149970 Resolves: rhbz#2154727 Resolves: rhbz#2039692
This commit is contained in:
parent
06dff49787
commit
9ab6ab5bfd
70
bz2039692-mysql-replication-fixes.patch
Normal file
70
bz2039692-mysql-replication-fixes.patch
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
From 706b48fd93a75a582c538013aea1418b6ed69dd0 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Oyvind Albrigtsen <oalbrigt@redhat.com>
|
||||||
|
Date: Thu, 9 Mar 2023 15:57:59 +0100
|
||||||
|
Subject: [PATCH] mysql: promotable fixes to avoid nodes getting bounced around
|
||||||
|
by setting -v 1/-v 2, and added OCF_CHECK_LEVEL=10 for promotable resources
|
||||||
|
to be able to distinguish between promoted and not
|
||||||
|
|
||||||
|
---
|
||||||
|
heartbeat/mysql | 19 +++++++++++++------
|
||||||
|
1 file changed, 13 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/heartbeat/mysql b/heartbeat/mysql
|
||||||
|
index 9ab49ab20e..29ed427319 100755
|
||||||
|
--- a/heartbeat/mysql
|
||||||
|
+++ b/heartbeat/mysql
|
||||||
|
@@ -757,6 +757,10 @@ mysql_monitor() {
|
||||||
|
status_loglevel="info"
|
||||||
|
fi
|
||||||
|
|
||||||
|
+ if ocf_is_ms; then
|
||||||
|
+ OCF_CHECK_LEVEL=10
|
||||||
|
+ fi
|
||||||
|
+
|
||||||
|
mysql_common_status $status_loglevel
|
||||||
|
rc=$?
|
||||||
|
|
||||||
|
@@ -777,7 +781,13 @@ mysql_monitor() {
|
||||||
|
return $rc
|
||||||
|
fi
|
||||||
|
|
||||||
|
- if [ $OCF_CHECK_LEVEL -gt 0 -a -n "$OCF_RESKEY_test_table" ]; then
|
||||||
|
+ if [ $OCF_CHECK_LEVEL -eq 10 ]; then
|
||||||
|
+ if [ -z "$OCF_RESKEY_test_table" ]; then
|
||||||
|
+ ocf_exit_reason "test_table not set"
|
||||||
|
+ return $OCF_ERR_CONFIGURED
|
||||||
|
+
|
||||||
|
+ fi
|
||||||
|
+
|
||||||
|
# Check if this instance is configured as a slave, and if so
|
||||||
|
# check slave status
|
||||||
|
if is_slave; then
|
||||||
|
@@ -795,18 +805,16 @@ mysql_monitor() {
|
||||||
|
ocf_exit_reason "Failed to select from $test_table";
|
||||||
|
return $OCF_ERR_GENERIC;
|
||||||
|
fi
|
||||||
|
- else
|
||||||
|
- # In case no exnteded tests are enabled and we are in master/slave mode _always_ set the master score to 1 if we reached this point
|
||||||
|
- ocf_is_ms && $CRM_MASTER -v 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ocf_is_ms && ! get_read_only; then
|
||||||
|
ocf_log debug "MySQL monitor succeeded (master)";
|
||||||
|
# Always set master score for the master
|
||||||
|
- $CRM_MASTER -v 2
|
||||||
|
+ $CRM_MASTER -v $((${OCF_RESKEY_max_slave_lag}+1))
|
||||||
|
return $OCF_RUNNING_MASTER
|
||||||
|
else
|
||||||
|
ocf_log debug "MySQL monitor succeeded";
|
||||||
|
+ ocf_is_ms && $CRM_MASTER -v 1
|
||||||
|
return $OCF_SUCCESS
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
@@ -873,7 +881,6 @@ mysql_start() {
|
||||||
|
# preference set by the administrator. We choose a low
|
||||||
|
# greater-than-zero preference.
|
||||||
|
$CRM_MASTER -v 1
|
||||||
|
-
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Initial monitor action
|
@ -0,0 +1,84 @@
|
|||||||
|
From 4d87bcfe5df8a1e40ee945e095ac9e7cca147ec4 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Oyvind Albrigtsen <oalbrigt@redhat.com>
|
||||||
|
Date: Wed, 29 Jun 2022 10:26:25 +0200
|
||||||
|
Subject: [PATCH] IPaddr2/IPsrcaddr: add/modify table parameter to be able to
|
||||||
|
find interface while using policy based routing
|
||||||
|
|
||||||
|
---
|
||||||
|
heartbeat/IPaddr2 | 12 ++++++++++++
|
||||||
|
heartbeat/IPsrcaddr | 5 ++++-
|
||||||
|
heartbeat/findif.sh | 2 +-
|
||||||
|
3 files changed, 17 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/heartbeat/IPaddr2 b/heartbeat/IPaddr2
|
||||||
|
index 97a7431a2..e8384c586 100755
|
||||||
|
--- a/heartbeat/IPaddr2
|
||||||
|
+++ b/heartbeat/IPaddr2
|
||||||
|
@@ -73,6 +73,7 @@ OCF_RESKEY_ip_default=""
|
||||||
|
OCF_RESKEY_cidr_netmask_default=""
|
||||||
|
OCF_RESKEY_broadcast_default=""
|
||||||
|
OCF_RESKEY_iflabel_default=""
|
||||||
|
+OCF_RESKEY_table_default=""
|
||||||
|
OCF_RESKEY_cidr_netmask_default=""
|
||||||
|
OCF_RESKEY_lvs_support_default=false
|
||||||
|
OCF_RESKEY_lvs_ipv6_addrlabel_default=false
|
||||||
|
@@ -97,6 +98,7 @@ OCF_RESKEY_network_namespace_default=""
|
||||||
|
: ${OCF_RESKEY_cidr_netmask=${OCF_RESKEY_cidr_netmask_default}}
|
||||||
|
: ${OCF_RESKEY_broadcast=${OCF_RESKEY_broadcast_default}}
|
||||||
|
: ${OCF_RESKEY_iflabel=${OCF_RESKEY_iflabel_default}}
|
||||||
|
+: ${OCF_RESKEY_table=${OCF_RESKEY_table_default}}
|
||||||
|
: ${OCF_RESKEY_lvs_support=${OCF_RESKEY_lvs_support_default}}
|
||||||
|
: ${OCF_RESKEY_lvs_ipv6_addrlabel=${OCF_RESKEY_lvs_ipv6_addrlabel_default}}
|
||||||
|
: ${OCF_RESKEY_lvs_ipv6_addrlabel_value=${OCF_RESKEY_lvs_ipv6_addrlabel_value_default}}
|
||||||
|
@@ -239,6 +241,16 @@ If a label is specified in nic name, this parameter has no effect.
|
||||||
|
<content type="string" default="${OCF_RESKEY_iflabel_default}"/>
|
||||||
|
</parameter>
|
||||||
|
|
||||||
|
+<parameter name="table">
|
||||||
|
+<longdesc lang="en">
|
||||||
|
+Table to use to lookup which interface to use for the IP.
|
||||||
|
+
|
||||||
|
+This can be used for policy based routing. See man ip-rule(8).
|
||||||
|
+</longdesc>
|
||||||
|
+<shortdesc lang="en">Table</shortdesc>
|
||||||
|
+<content type="string" default="${OCF_RESKEY_table_default}" />
|
||||||
|
+</parameter>
|
||||||
|
+
|
||||||
|
<parameter name="lvs_support">
|
||||||
|
<longdesc lang="en">
|
||||||
|
Enable support for LVS Direct Routing configurations. In case a IP
|
||||||
|
diff --git a/heartbeat/IPsrcaddr b/heartbeat/IPsrcaddr
|
||||||
|
index 1bd41a930..cf106cc34 100755
|
||||||
|
--- a/heartbeat/IPsrcaddr
|
||||||
|
+++ b/heartbeat/IPsrcaddr
|
||||||
|
@@ -155,13 +155,16 @@ Metric. Only needed if incorrect metric value is used.
|
||||||
|
|
||||||
|
<parameter name="table">
|
||||||
|
<longdesc lang="en">
|
||||||
|
-Table to modify. E.g. "local".
|
||||||
|
+Table to modify and use for interface lookup. E.g. "local".
|
||||||
|
|
||||||
|
The table has to have a route matching the "destination" parameter.
|
||||||
|
+
|
||||||
|
+This can be used for policy based routing. See man ip-rule(8).
|
||||||
|
</longdesc>
|
||||||
|
<shortdesc lang="en">Table</shortdesc>
|
||||||
|
<content type="string" default="${OCF_RESKEY_table_default}" />
|
||||||
|
</parameter>
|
||||||
|
+
|
||||||
|
</parameters>
|
||||||
|
|
||||||
|
<actions>
|
||||||
|
diff --git a/heartbeat/findif.sh b/heartbeat/findif.sh
|
||||||
|
index 66bc6d56a..1a40cc9a4 100644
|
||||||
|
--- a/heartbeat/findif.sh
|
||||||
|
+++ b/heartbeat/findif.sh
|
||||||
|
@@ -32,7 +32,7 @@ prefixcheck() {
|
||||||
|
getnetworkinfo()
|
||||||
|
{
|
||||||
|
local line netinfo
|
||||||
|
- ip -o -f inet route list match $OCF_RESKEY_ip table local scope host | (while read line;
|
||||||
|
+ ip -o -f inet route list match $OCF_RESKEY_ip table "${OCF_RESKEY_table=local}" scope host | (while read line;
|
||||||
|
do
|
||||||
|
netinfo=`echo $line | awk '{print $2}'`
|
||||||
|
case $netinfo in
|
42
bz2149970-lvmlockd-add-use_lvmlockd-if-missing.patch
Normal file
42
bz2149970-lvmlockd-add-use_lvmlockd-if-missing.patch
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
From 2695888c983df331b0fee407a5c69c493a360313 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Oyvind Albrigtsen <oalbrigt@redhat.com>
|
||||||
|
Date: Wed, 30 Nov 2022 12:07:05 +0100
|
||||||
|
Subject: [PATCH] lvmlockd: add "use_lvmlockd = 1" if it's commented out or
|
||||||
|
missing
|
||||||
|
|
||||||
|
---
|
||||||
|
heartbeat/lvmlockd | 17 +++++++++++++----
|
||||||
|
1 file changed, 13 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/heartbeat/lvmlockd b/heartbeat/lvmlockd
|
||||||
|
index dc7bd2d7e..f4b299f28 100755
|
||||||
|
--- a/heartbeat/lvmlockd
|
||||||
|
+++ b/heartbeat/lvmlockd
|
||||||
|
@@ -180,14 +180,23 @@ setup_lvm_config()
|
||||||
|
lock_type=$(echo "$out" | cut -d'=' -f2)
|
||||||
|
|
||||||
|
if [ -z "$use_lvmlockd" ]; then
|
||||||
|
- ocf_exit_reason "\"use_lvmlockd\" not set in /etc/lvm/lvm.conf ..."
|
||||||
|
- exit $OCF_ERR_CONFIGURED
|
||||||
|
- fi
|
||||||
|
+ ocf_log info "adding \"use_lvmlockd=1\" to /etc/lvm/lvm.conf ..."
|
||||||
|
+ cat >> /etc/lvm/lvm.conf << EOF
|
||||||
|
+
|
||||||
|
+global {
|
||||||
|
+ use_lvmlockd = 1
|
||||||
|
+}
|
||||||
|
+EOF
|
||||||
|
|
||||||
|
- if [ -n "$use_lvmlockd" ] && [ "$use_lvmlockd" != 1 ] ; then
|
||||||
|
+ if [ $? -ne 0 ]; then
|
||||||
|
+ ocf_exit_reason "unable to add \"use_lvmlockd=1\" to /etc/lvm/lvm.conf ..."
|
||||||
|
+ exit $OCF_ERR_CONFIGURED
|
||||||
|
+ fi
|
||||||
|
+ elif [ "$use_lvmlockd" != 1 ] ; then
|
||||||
|
ocf_log info "setting \"use_lvmlockd=1\" in /etc/lvm/lvm.conf ..."
|
||||||
|
sed -i 's,^[[:blank:]]*use_lvmlockd[[:blank:]]*=.*,\ \ \ \ use_lvmlockd = 1,g' /etc/lvm/lvm.conf
|
||||||
|
fi
|
||||||
|
+
|
||||||
|
if [ -n "$lock_type" ] ; then
|
||||||
|
# locking_type was removed from config in v2.03
|
||||||
|
ocf_version_cmp "$(lvmconfig --version | awk '/LVM ver/ {sub(/\(.*/, "", $3); print $3}')" "2.03"
|
@ -0,0 +1,24 @@
|
|||||||
|
From e7a748d35fe56f2be727ecae1885a2f1366f41bf Mon Sep 17 00:00:00 2001
|
||||||
|
From: Oyvind Albrigtsen <oalbrigt@redhat.com>
|
||||||
|
Date: Wed, 15 Mar 2023 13:03:07 +0100
|
||||||
|
Subject: [PATCH] ethmonitor: dont log "Interface does not exist" for
|
||||||
|
monitor-action
|
||||||
|
|
||||||
|
---
|
||||||
|
heartbeat/ethmonitor | 3 +++
|
||||||
|
1 file changed, 3 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/heartbeat/ethmonitor b/heartbeat/ethmonitor
|
||||||
|
index 451738a0b5..f9c9ef4bdd 100755
|
||||||
|
--- a/heartbeat/ethmonitor
|
||||||
|
+++ b/heartbeat/ethmonitor
|
||||||
|
@@ -271,6 +271,9 @@ if_init() {
|
||||||
|
validate-all)
|
||||||
|
ocf_exit_reason "Interface $NIC does not exist"
|
||||||
|
exit $OCF_ERR_CONFIGURED;;
|
||||||
|
+ monitor)
|
||||||
|
+ ocf_log debug "Interface $NIC does not exist"
|
||||||
|
+ ;;
|
||||||
|
*)
|
||||||
|
## It might be a bond interface which is temporarily not available, therefore we want to continue here
|
||||||
|
ocf_log warn "Interface $NIC does not exist"
|
@ -69,7 +69,7 @@
|
|||||||
Name: resource-agents
|
Name: resource-agents
|
||||||
Summary: Open Source HA Reusable Cluster Resource Scripts
|
Summary: Open Source HA Reusable Cluster Resource Scripts
|
||||||
Version: 4.9.0
|
Version: 4.9.0
|
||||||
Release: 40%{?rcver:%{rcver}}%{?numcomm:.%{numcomm}}%{?alphatag:.%{alphatag}}%{?dirty:.%{dirty}}%{?dist}
|
Release: 41%{?rcver:%{rcver}}%{?numcomm:.%{numcomm}}%{?alphatag:.%{alphatag}}%{?dirty:.%{dirty}}%{?dist}
|
||||||
License: GPLv2+ and LGPLv2+
|
License: GPLv2+ and LGPLv2+
|
||||||
URL: https://github.com/ClusterLabs/resource-agents
|
URL: https://github.com/ClusterLabs/resource-agents
|
||||||
%if 0%{?fedora} || 0%{?centos_version} || 0%{?rhel}
|
%if 0%{?fedora} || 0%{?centos_version} || 0%{?rhel}
|
||||||
@ -136,6 +136,10 @@ Patch44: bz2157873-2-Filesystem-CTDB-validate-all-improvements.patch
|
|||||||
Patch45: bz2157873-3-pgsqlms-validate-all-OCF_CHECK_LEVEL-10.patch
|
Patch45: bz2157873-3-pgsqlms-validate-all-OCF_CHECK_LEVEL-10.patch
|
||||||
Patch46: bz2157873-4-exportfs-pgsql-validate-all-fixes.patch
|
Patch46: bz2157873-4-exportfs-pgsql-validate-all-fixes.patch
|
||||||
Patch47: bz2157873-5-pgsqlms-alidate-all-OCF_CHECK_LEVEL-10.patch
|
Patch47: bz2157873-5-pgsqlms-alidate-all-OCF_CHECK_LEVEL-10.patch
|
||||||
|
Patch48: bz2040110-IPaddr2-IPsrcaddr-support-policy-based-routing.patch
|
||||||
|
Patch49: bz2149970-lvmlockd-add-use_lvmlockd-if-missing.patch
|
||||||
|
Patch50: bz2154727-ethmonitor-dont-log-iface-doesnt-exist-monitor.patch
|
||||||
|
Patch51: bz2039692-mysql-replication-fixes.patch
|
||||||
|
|
||||||
# bundle patches
|
# bundle patches
|
||||||
Patch1000: 7-gcp-bundled.patch
|
Patch1000: 7-gcp-bundled.patch
|
||||||
@ -363,6 +367,10 @@ exit 1
|
|||||||
%patch45 -p1
|
%patch45 -p1
|
||||||
%patch46 -p1
|
%patch46 -p1
|
||||||
%patch47 -p1
|
%patch47 -p1
|
||||||
|
%patch48 -p1
|
||||||
|
%patch49 -p1
|
||||||
|
%patch50 -p1
|
||||||
|
%patch51 -p1
|
||||||
|
|
||||||
chmod 755 heartbeat/nova-compute-wait
|
chmod 755 heartbeat/nova-compute-wait
|
||||||
chmod 755 heartbeat/NovaEvacuate
|
chmod 755 heartbeat/NovaEvacuate
|
||||||
@ -938,6 +946,17 @@ ccs_update_schema > /dev/null 2>&1 ||:
|
|||||||
%{_usr}/lib/ocf/lib/heartbeat/OCF_*.pm
|
%{_usr}/lib/ocf/lib/heartbeat/OCF_*.pm
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Mar 22 2023 Oyvind Albrigtsen <oalbrigt@redhat.com> - 4.9.0-41
|
||||||
|
- IPaddr2/IPsrcaddr: support policy-based routing
|
||||||
|
- lvmlockd: add "use_lvmlockd = 1" if it's commented out or missing
|
||||||
|
- ethmonitor: dont log "Interface does not exist" for monitor-action
|
||||||
|
- mysql: fix replication issues
|
||||||
|
|
||||||
|
Resolves: rhbz#2040110
|
||||||
|
Resolves: rhbz#2149970
|
||||||
|
Resolves: rhbz#2154727
|
||||||
|
Resolves: rhbz#2039692
|
||||||
|
|
||||||
* Tue Jan 17 2023 Oyvind Albrigtsen <oalbrigt@redhat.com> - 4.9.0-40
|
* Tue Jan 17 2023 Oyvind Albrigtsen <oalbrigt@redhat.com> - 4.9.0-40
|
||||||
- all agents: dont check notify/promotable settings during
|
- all agents: dont check notify/promotable settings during
|
||||||
validate-action
|
validate-action
|
||||||
|
Loading…
Reference in New Issue
Block a user