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]

Reply via email to