Hello community,
here is the log from the commit of package ha-cluster-bootstrap for
openSUSE:Factory checked in at 2014-03-09 18:22:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ha-cluster-bootstrap (Old)
and /work/SRC/openSUSE:Factory/.ha-cluster-bootstrap.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ha-cluster-bootstrap"
Changes:
--------
---
/work/SRC/openSUSE:Factory/ha-cluster-bootstrap/ha-cluster-bootstrap.changes
2014-02-28 16:25:06.000000000 +0100
+++
/work/SRC/openSUSE:Factory/.ha-cluster-bootstrap.new/ha-cluster-bootstrap.changes
2014-03-09 18:22:54.000000000 +0100
@@ -1,0 +2,10 @@
+Fri Mar 7 11:57:29 UTC 2014 - [email protected]
+
+- Warn if /dev/watchdog not present
+- Set/clear two_node in corosync.conf (bnc#866435)
+- Ensure corosync and SBD config are marked dirty before syncing
+- Use `csync2 -R` to cleanup DB when removing node (bnc#867039)
+- Sync all config files across all nodes when adding new node (bnc#867048)
+- Upstream version cs:cc1daef
+
+-------------------------------------------------------------------
Old:
----
sleha-bootstrap-0.4+git.1393474526.37debd0.tar.bz2
New:
----
sleha-bootstrap-0.4+git.1394193228.cc1daef.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ha-cluster-bootstrap.spec ++++++
--- /var/tmp/diff_new_pack.ACBTH5/_old 2014-03-09 18:22:54.000000000 +0100
+++ /var/tmp/diff_new_pack.ACBTH5/_new 2014-03-09 18:22:54.000000000 +0100
@@ -18,7 +18,7 @@
Name: ha-cluster-bootstrap
-Version: 0.4+git.1393474526.37debd0
+Version: 0.4+git.1394193228.cc1daef
Release: 0
Summary: Pacemaker HA Cluster Bootstrap Tool
License: GPL-2.0
++++++ _service ++++++
--- /var/tmp/diff_new_pack.ACBTH5/_old 2014-03-09 18:22:54.000000000 +0100
+++ /var/tmp/diff_new_pack.ACBTH5/_new 2014-03-09 18:22:54.000000000 +0100
@@ -4,7 +4,7 @@
<param name="scm">git</param>
<param name="exclude">.git</param>
<param name="versionformat">0.4+git.%ct.%h</param>
- <param name="revision">37debd0</param>
+ <param name="revision">cc1daef</param>
</service>
<service name="recompress" mode="disabled">
++++++ sleha-bootstrap-0.4+git.1393474526.37debd0.tar.bz2 ->
sleha-bootstrap-0.4+git.1394193228.cc1daef.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/sleha-bootstrap-0.4+git.1393474526.37debd0/scripts/ha-cluster-functions
new/sleha-bootstrap-0.4+git.1394193228.cc1daef/scripts/ha-cluster-functions
--- old/sleha-bootstrap-0.4+git.1393474526.37debd0/scripts/ha-cluster-functions
2014-02-28 06:13:11.000000000 +0100
+++ new/sleha-bootstrap-0.4+git.1394193228.cc1daef/scripts/ha-cluster-functions
2014-03-07 12:57:20.000000000 +0100
@@ -404,6 +404,12 @@
warned=1
fi
+ if ! [ -c /dev/watchdog ] ; then
+ warn "There does not appear to be a watchdog device. If you
use"
+ warn "SBD the cluster will be unable to start without a
watchdog."
+ warned=1
+ fi
+
if [ $warned -ne 0 ]; then
confirm 'Do you want to continue anyway?' || exit
fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/sleha-bootstrap-0.4+git.1393474526.37debd0/scripts/ha-cluster-init
new/sleha-bootstrap-0.4+git.1394193228.cc1daef/scripts/ha-cluster-init
--- old/sleha-bootstrap-0.4+git.1393474526.37debd0/scripts/ha-cluster-init
2014-02-28 06:13:11.000000000 +0100
+++ new/sleha-bootstrap-0.4+git.1394193228.cc1daef/scripts/ha-cluster-init
2014-03-07 12:57:20.000000000 +0100
@@ -280,10 +280,13 @@
# see also corosync.conf.5 and votequorum.5
provider: corosync_votequorum
expected_votes: 1
+ two_node: 0
}
END
# fi
install_tmp $tmp_conf $COROSYNC_CONF
+ invoke csync2 -m $COROSYNC_CONF
+ invoke csync2 -f $COROSYNC_CONF
invoke csync2 -xv $COROSYNC_CONF
}
@@ -422,6 +425,8 @@
local tmp_conf=$SYSCONFIG_SBD.$$
sed -e 's/^\([^#].*\)$/#\1/g' $SYSCONFIG_SBD >
$tmp_conf
install_tmp $tmp_conf $SYSCONFIG_SBD
+ invoke csync2 -m $SYSCONFIG_SBD
+ invoke csync2 -f $SYSCONFIG_SBD
invoke csync2 -xv $SYSCONFIG_SBD
fi
return
@@ -456,6 +461,8 @@
SBD_OPTS="-W"
END
install_tmp $tmp_conf $SYSCONFIG_SBD
+ invoke csync2 -m $SYSCONFIG_SBD
+ invoke csync2 -f $SYSCONFIG_SBD
invoke csync2 -xv $SYSCONFIG_SBD
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/sleha-bootstrap-0.4+git.1393474526.37debd0/scripts/ha-cluster-join
new/sleha-bootstrap-0.4+git.1394193228.cc1daef/scripts/ha-cluster-join
--- old/sleha-bootstrap-0.4+git.1393474526.37debd0/scripts/ha-cluster-join
2014-02-14 13:31:38.000000000 +0100
+++ new/sleha-bootstrap-0.4+git.1394193228.cc1daef/scripts/ha-cluster-join
2014-03-07 12:57:20.000000000 +0100
@@ -105,16 +105,16 @@
start_service csync2.socket
- # Sync csync2.cfg out to all hosts (else hosts other than the seed and
- # the joining host won't have the joining host in their config yet).
- invoke ssh root@$SEED_HOST "csync2 -m $CSYNC2_CFG ; csync2 -f
$CSYNC2_CFG ; csync2 -xv $CSYNC2_CFG" \
- || warn "csync2 of $CSYNC2_CFG failed - file may not be in sync
on all nodes"
-
- # Sync everything else to the joining node only
- # -mr marks all as dirty
- # -fr forces all in sync
- # -P syncs only to one host
- invoke ssh root@$SEED_HOST "csync2 -mr / ; csync2 -fr / ; csync2 -xv -P
$(hostname)" \
+ # Sync new config out. This goes to all hosts; csync2.cfg definitely
+ # needs to go to all hosts (else hosts other than the seed and the
+ # joining host won't have the joining host in their config yet).
+ # Strictly, the rest of the files need only go to the new host which
+ # could theoretically be effected using `csync2 -xv -P $(hostname)`,
+ # but this still leaves all the other files in dirty state (becuase
+ # they haven't gone to all nodes in the cluster, which means a
+ # subseqent join of another node can fail its sync of corosync.conf
+ # when it updates expected_votes. Grrr...
+ invoke ssh root@$SEED_HOST "csync2 -mr / ; csync2 -fr / ; csync2 -xv" \
|| warn "csync2 run failed - some files may not be sync'd"
}
@@ -174,10 +174,15 @@
# TODO(must): this is rather fragile (see related code in
ha-cluster-remove)
local tmp_conf=${COROSYNC_CONF}.$$
local new_quorum=$(awk -F[^0-9] '/^[[:space:]]*expected_votes/ { print
$NF + 1 };' $COROSYNC_CONF)
+ local two_node=0
+ [ $new_quorum -eq 2 ] && two_node=1
sed \
-e
's/^\([[:space:]]*expected_votes:[[:space:]]*\).*/\1'$new_quorum'/' \
+ -e 's/^\([[:space:]]*two_node:[[:space:]]*\).*/\1'$two_node'/' \
$COROSYNC_CONF > $tmp_conf
install_tmp $tmp_conf $COROSYNC_CONF
+ invoke csync2 -m $COROSYNC_CONF
+ invoke csync2 -f $COROSYNC_CONF
invoke csync2 -xv $COROSYNC_CONF
# ...now that that's out of the way, let's initialize the cluster.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/sleha-bootstrap-0.4+git.1393474526.37debd0/scripts/ha-cluster-remove
new/sleha-bootstrap-0.4+git.1394193228.cc1daef/scripts/ha-cluster-remove
--- old/sleha-bootstrap-0.4+git.1393474526.37debd0/scripts/ha-cluster-remove
2014-02-18 07:05:06.000000000 +0100
+++ new/sleha-bootstrap-0.4+git.1394193228.cc1daef/scripts/ha-cluster-remove
2014-03-07 12:57:20.000000000 +0100
@@ -168,17 +168,24 @@
|| error "remove the node $SEED_HOST from file $CSYNC2_CFG
failed"
status "Propagating the files across the surviving nodes"
- #csync the file to all the node
- invoke csync2 -f $CSYNC2_CFG && csync2 -xv >/dev/null 2>&1 || error
"Propagate the file $CYNC2_CFG failed"
+ # csync the file to all the node
+ # `csync2 -R` is needed to remove old records from the database
+ # for the host that's now gone.
+ invoke csync2 -R && invoke csync2 -m $CSYNC2_CFG && invoke csync2 -f
$CSYNC2_CFG && invoke csync2 -xv >/dev/null 2>&1 || error "Propagate the file
$CYNC2_CFG failed"
# Decrement expected_votes in corosync.conf
# TODO(must): this is rather fragile (see related code in
ha-cluster-join)
local tmp_conf=${COROSYNC_CONF}.$$
local new_quorum=$(awk -F[^0-9] '/^[[:space:]]*expected_votes/ { print
$NF - 1 };' $COROSYNC_CONF)
+ local two_node=0
+ [ $new_quorum -eq 2 ] && two_node=1
sed \
-e
's/^\([[:space:]]*expected_votes:[[:space:]]*\).*/\1'$new_quorum'/' \
+ -e 's/^\([[:space:]]*two_node:[[:space:]]*\).*/\1'$two_node'/' \
$COROSYNC_CONF > $tmp_conf
install_tmp $tmp_conf $COROSYNC_CONF
+ invoke csync2 -m $COROSYNC_CONF
+ invoke csync2 -f $COROSYNC_CONF
invoke csync2 -xv $COROSYNC_CONF
# Trigger corosync config reload to ensure expected_votes is propagated
--
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]