- 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
|
||||
Summary: Open Source HA Reusable Cluster Resource Scripts
|
||||
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+
|
||||
URL: https://github.com/ClusterLabs/resource-agents
|
||||
%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
|
||||
Patch46: bz2157873-4-exportfs-pgsql-validate-all-fixes.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
|
||||
Patch1000: 7-gcp-bundled.patch
|
||||
@ -363,6 +367,10 @@ exit 1
|
||||
%patch45 -p1
|
||||
%patch46 -p1
|
||||
%patch47 -p1
|
||||
%patch48 -p1
|
||||
%patch49 -p1
|
||||
%patch50 -p1
|
||||
%patch51 -p1
|
||||
|
||||
chmod 755 heartbeat/nova-compute-wait
|
||||
chmod 755 heartbeat/NovaEvacuate
|
||||
@ -938,6 +946,17 @@ ccs_update_schema > /dev/null 2>&1 ||:
|
||||
%{_usr}/lib/ocf/lib/heartbeat/OCF_*.pm
|
||||
|
||||
%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
|
||||
- all agents: dont check notify/promotable settings during
|
||||
validate-action
|
||||
|
Loading…
Reference in New Issue
Block a user