[SCM] Samba Shared Repository - branch master updated

Amitay Isaacs amitay at samba.org
Wed May 13 01:28:04 MDT 2015


The branch, master has been updated
       via  4779832 ctdb-doc: Document externally managed public IP addresses
       via  6ad263f ctdb-tests: Add tickle test for external public address handling
       via  3b25fac ctdb-scripts: New eventscript 10.external
       via  a1d6b3f ctdb-daemon: Move release of all IPs to startup
       via  7d0a4ab ctdb-daemon: Never release all IPs when DisableIPFailover is set
       via  0d0512c ctdb-scripts: Drop all public IP addresses from 10.interface
       via  5483d0c ctdb-daemon: Don't update IP tree if DisableIPFailover is set
       via  3c7bcea ctdb-daemon: Mark interfaces as "up" by default
       via  694482f ctdb-daemon: Skip "IP on interface" checks if DisableIPFailover is set
       via  3e6660c ctdb-daemon: Improve readability of code by nesting if-statements
      from  40eac8e libads: record service ticket endtime for sealed ldap connections

https://git.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 4779832309aa80e26ac7a0300ff4b2df6f7ac989
Author: Martin Schwenke <martin at meltin.net>
Date:   Tue May 12 14:42:00 2015 +1000

    ctdb-doc: Document externally managed public IP addresses
    
    For use with DisableIPFailover=1.
    
    Pair-programmed-with: Amitay Isaacs <amitay at gmail.com>
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>
    
    Autobuild-User(master): Amitay Isaacs <amitay at samba.org>
    Autobuild-Date(master): Wed May 13 09:27:36 CEST 2015 on sn-devel-104

commit 6ad263ff94ed77bb1a7fc7baf8c74dfa12d761de
Author: Martin Schwenke <martin at meltin.net>
Date:   Tue May 12 14:11:59 2015 +1000

    ctdb-tests: Add tickle test for external public address handling
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>

commit 3b25face87b01c3013cf40f4b54be0c58aff5b4b
Author: Martin Schwenke <martin at meltin.net>
Date:   Mon May 11 15:29:34 2015 +1000

    ctdb-scripts: New eventscript 10.external
    
    This is an alternative to 10.interface and is installed as disabled by
    default.  It should only be used with DisableIPFailover=yes and when
    IP failover is being handled externally.  In this mode CTDB can be
    informed of public IP address movements using "ctdb moveip".
    
    During the "startup" event, this eventscript currently finds any
    public IP addresses configured in $CTDB_PUBLIC_ADDRESSES and tells
    CTDB which node they are on using "ctdb moveip".  This allows CTDB to
    send ARPs and tickle-ACKs.
    
    Pair-programmed-with: Amitay Isaacs <amitay at gmail.com>
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>

commit a1d6b3fb4bff4251facd52bfe7c03d68562a81a7
Author: Martin Schwenke <martin at meltin.net>
Date:   Fri May 8 20:00:35 2015 +1000

    ctdb-daemon: Move release of all IPs to startup
    
    This means that DisableIPFailover will be set if it should be.
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>

commit 7d0a4ab6229b19ee55f79cdcf6de811b429e4657
Author: Martin Schwenke <martin at meltin.net>
Date:   Fri May 8 15:20:04 2015 +1000

    ctdb-daemon: Never release all IPs when DisableIPFailover is set
    
    If DisableIPFailover is set then something else may be managing public
    IP addresses so CTDB should leave them alone.
    
    Pair-programmed-with: Amitay Isaacs <amitay at gmail.com>
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>

commit 0d0512cb65c9a27ea60a88c9b2a2d3804dad32c0
Author: Martin Schwenke <martin at meltin.net>
Date:   Fri May 8 15:18:48 2015 +1000

    ctdb-scripts: Drop all public IP addresses from 10.interface
    
    00.ctdb should not know about public IP addresses.
    
    Move related tests to operate on 10.interface.
    
    Pair-programmed-with: Amitay Isaacs <amitay at gmail.com>
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>

commit 5483d0c7999b5d28dfe823fbd254895024157936
Author: Martin Schwenke <martin at meltin.net>
Date:   Fri May 8 13:14:34 2015 +1000

    ctdb-daemon: Don't update IP tree if DisableIPFailover is set
    
    There won't be an IP tree.  It is only ever initialised during a
    takeover run.
    
    The alternate to this would be to avoid sending
    CTDB_SRVID_RECD_UPDATE_IP in "ctdb moveip".  This logic is probably
    best kept out of the CLI tool.
    
    Pair-programmed-with: Amitay Isaacs <amitay at gmail.com>
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>

commit 3c7bcea368dc8f68e8e82cc527cf588dcff453c8
Author: Martin Schwenke <martin at meltin.net>
Date:   Fri May 8 17:11:24 2015 +1000

    ctdb-daemon: Mark interfaces as "up" by default
    
    The potential for public IP addresses to shuffle around during node
    initialisation disappeared a while ago because IP addresses can only
    be assigned to a node that is in CTDB_RUNSTATE_RUNNING.  This means
    that interfaces might as well just be initialised as "up".  If any
    interfaces are actually "down" then this will be rectified by the
    "startup" event in 10.interfaces.
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>

commit 694482fb3f6c356c5a75b74eda1189b9b8225c84
Author: Martin Schwenke <martin at meltin.net>
Date:   Thu May 7 20:41:55 2015 +1000

    ctdb-daemon: Skip "IP on interface" checks if DisableIPFailover is set
    
    To support external failover of IP addresses if DisableIPFailover is
    set.  CTDB's idea of IP address assignment can be manipulated using
    "ctdb moveip".  Checking if the IP address is already held breaks
    this in several places.
    
    Pair-programmed-with: Amitay Isaacs <amitay at gmail.com>
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>

commit 3e6660c46f5b65e11ba8e6e009c3ae2df263013e
Author: Martin Schwenke <martin at meltin.net>
Date:   Fri May 8 12:34:43 2015 +1000

    ctdb-daemon: Improve readability of code by nesting if-statements
    
    ctdb_sys_have_ip() should only be run if if do_publicipcheck is set.
    This is clearer if written as 2 nested if-statements rather than as a
    lazy conjuction.
    
    Pair-programmed-with: Amitay Isaacs <amitay at gmail.com>
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>

-----------------------------------------------------------------------

Summary of changes:
 ctdb/config/events.d/00.ctdb                       |   4 -
 ctdb/config/events.d/10.external                   |  49 ++++++++++
 ctdb/config/events.d/10.interface                  |   4 +
 ctdb/doc/examples/README                           |   5 +-
 ctdb/doc/examples/{cluster.conf => external.conf}  |  18 +++-
 ctdb/packaging/RPM/ctdb.spec.in                    |   1 +
 ctdb/server/ctdb_daemon.c                          |   5 -
 ctdb/server/ctdb_monitor.c                         |   3 +
 ctdb/server/ctdb_takeover.c                        |  47 +++++-----
 ctdb/tests/complex/35_cifs_external_tickle.sh      | 102 +++++++++++++++++++++
 ...0.ctdb.init.021.sh => 10.interface.init.021.sh} |   0
 ...0.ctdb.init.022.sh => 10.interface.init.022.sh} |   0
 ...0.ctdb.init.023.sh => 10.interface.init.023.sh} |   0
 13 files changed, 203 insertions(+), 35 deletions(-)
 create mode 100644 ctdb/config/events.d/10.external
 copy ctdb/doc/examples/{cluster.conf => external.conf} (82%)
 create mode 100755 ctdb/tests/complex/35_cifs_external_tickle.sh
 rename ctdb/tests/eventscripts/{00.ctdb.init.021.sh => 10.interface.init.021.sh} (100%)
 rename ctdb/tests/eventscripts/{00.ctdb.init.022.sh => 10.interface.init.022.sh} (100%)
 rename ctdb/tests/eventscripts/{00.ctdb.init.023.sh => 10.interface.init.023.sh} (100%)


Changeset truncated at 500 lines:

diff --git a/ctdb/config/events.d/00.ctdb b/ctdb/config/events.d/00.ctdb
index 5e8af4c..21ca77b 100755
--- a/ctdb/config/events.d/00.ctdb
+++ b/ctdb/config/events.d/00.ctdb
@@ -172,10 +172,6 @@ case "$1" in
 	    exit $ret
 	}
 
-	# make sure we drop any ips that might still be held if
-	# previous instance of ctdb got killed with -9 or similar
-	drop_all_public_ips
-
 	if select_tdb_checker ; then
 	    check_persistent_databases || exit $?
 	    check_non_persistent_databases
diff --git a/ctdb/config/events.d/10.external b/ctdb/config/events.d/10.external
new file mode 100644
index 0000000..3fcb0e1
--- /dev/null
+++ b/ctdb/config/events.d/10.external
@@ -0,0 +1,49 @@
+#!/bin/sh
+
+# Eventscript for CTDB to cope with externally managed public IP addresses
+
+# If DisableIPFailover is set:
+#
+# * 10.interface must be disabled.
+# * For connection tracking/killing to work this script must be enabled.
+
+[ -n "$CTDB_BASE" ] || \
+    export CTDB_BASE=$(cd -P $(dirname "$0") ; dirname "$PWD")
+
+. $CTDB_BASE/functions
+loadconfig
+
+if [ -z "$CTDB_PUBLIC_ADDRESSES" ] ; then
+    exit 0
+fi
+
+if [ ! -f "$CTDB_PUBLIC_ADDRESSES" ] ; then
+    if [ "$1" = "init" ]; then
+	echo "No public addresses file found. Nothing to do for 10.interfaces.external"
+    fi
+    exit 0
+fi
+
+takeover_assigned_ips ()
+{
+    ctdb_get_pnn
+
+    ctdb -X ip |
+    awk -F'|' '{print $2}' |
+    while read ip ; do
+	if [ -n "$(ip_maskbits_iface $ip)" ] ; then
+	    echo "Assigning $ip to this node ($pnn)"
+	    ctdb moveip "$ip" "$pnn"
+	fi
+    done
+}
+
+ctdb_check_args "$@"
+
+case "$1" in
+    startup)
+	takeover_assigned_ips
+	;;
+esac
+
+exit 0
diff --git a/ctdb/config/events.d/10.interface b/ctdb/config/events.d/10.interface
index 51d1b97..69da210 100755
--- a/ctdb/config/events.d/10.interface
+++ b/ctdb/config/events.d/10.interface
@@ -180,6 +180,10 @@ case "$1" in
 	_promote="sys/net/ipv4/conf/all/promote_secondaries"
 	get_proc "$_promote" >/dev/null 2>&1 || \
 	    die "Public IPs only supported if promote_secondaries is available"
+
+	# make sure we drop any ips that might still be held if
+	# previous instance of ctdb got killed with -9 or similar
+	drop_all_public_ips
 	;;
 
      #############################
diff --git a/ctdb/doc/examples/README b/ctdb/doc/examples/README
index 71337b7..7a2e964 100644
--- a/ctdb/doc/examples/README
+++ b/ctdb/doc/examples/README
@@ -1,4 +1,5 @@
 This directory includes sample CTDB cluster configurations.
 
-  o cluster.conf - Basic cluster setup
-  o natgw.conf   - Basic cluster setup with NAT gateway feature
+  o cluster.conf  - Basic cluster setup
+  o natgw.conf    - Basic cluster setup with NAT gateway feature
+  o external.conf - Basic cluster setup with externally managed public IP addresses
diff --git a/ctdb/doc/examples/cluster.conf b/ctdb/doc/examples/external.conf
similarity index 82%
copy from ctdb/doc/examples/cluster.conf
copy to ctdb/doc/examples/external.conf
index 8da982c..8354e5c 100644
--- a/ctdb/doc/examples/cluster.conf
+++ b/ctdb/doc/examples/external.conf
@@ -1,5 +1,5 @@
 #
-# CTDB configuration for simple cluster
+# CTDB configuration for cluster with externally managed public IP addresses
 #
 # This is the sample configuration for a 3-node CTDB cluster providing file
 # services via Samba and NFS.
@@ -67,6 +67,22 @@ CTDB_NODES=/etc/ctdb/nodes
 #
 CTDB_PUBLIC_ADDRESSES=/etc/ctdb/public_addresses
 
+#
+# Externally managed public IP addresses:
+#
+# This indicates that CTDB will not host/failover public IP addresses.
+# The addresses will need to be assigned/failed-over via some external
+# means.  Use "ctdb moveip" to inform CTDB of the IP
+# assignment/failover so that CTDB can do connection tracking/killing
+# correctly.
+#
+CTDB_SET_DisableIPFailover=1
+#
+# Also:
+#  ctdb disablescript 10.interface
+#  ctdb enablescript  10.external
+#
+
 # Enable logging to syslog
 CTDB_LOGGING=syslog
 
diff --git a/ctdb/packaging/RPM/ctdb.spec.in b/ctdb/packaging/RPM/ctdb.spec.in
index f6f5d89..98dd302 100644
--- a/ctdb/packaging/RPM/ctdb.spec.in
+++ b/ctdb/packaging/RPM/ctdb.spec.in
@@ -166,6 +166,7 @@ rm -rf $RPM_BUILD_ROOT
 %{_sysconfdir}/ctdb/events.d/00.ctdb
 %{_sysconfdir}/ctdb/events.d/01.reclock
 %{_sysconfdir}/ctdb/events.d/10.interface
+%{_sysconfdir}/ctdb/events.d/10.external
 %{_sysconfdir}/ctdb/events.d/13.per_ip_routing
 %{_sysconfdir}/ctdb/events.d/11.natgw
 %{_sysconfdir}/ctdb/events.d/11.routing
diff --git a/ctdb/server/ctdb_daemon.c b/ctdb/server/ctdb_daemon.c
index 1dd0a6d..dada0a4 100644
--- a/ctdb/server/ctdb_daemon.c
+++ b/ctdb/server/ctdb_daemon.c
@@ -1334,11 +1334,6 @@ int ctdb_start_daemon(struct ctdb_context *ctdb, bool do_fork)
 	}
 	tevent_fd_set_auto_close(fde);
 
-	/* release any IPs we hold from previous runs of the daemon */
-	if (ctdb->tunable.disable_ip_failover == 0) {
-		ctdb_release_all_ips(ctdb);
-	}
-
 	/* Start the transport */
 	if (ctdb->methods->start(ctdb) != 0) {
 		DEBUG(DEBUG_ALERT,("transport failed to start!\n"));
diff --git a/ctdb/server/ctdb_monitor.c b/ctdb/server/ctdb_monitor.c
index c502f0e..6dd7c1e 100644
--- a/ctdb/server/ctdb_monitor.c
+++ b/ctdb/server/ctdb_monitor.c
@@ -247,6 +247,9 @@ static void ctdb_run_startup(struct event_context *ev, struct timed_event *te,
 		return;
 	}
 
+	/* release any IPs we hold from previous runs of the daemon */
+	ctdb_release_all_ips(ctdb);
+
 	DEBUG(DEBUG_NOTICE,("Running the \"startup\" event.\n"));
 	ret = ctdb_event_script_callback(ctdb,
 					 ctdb->monitor->monitor_context,
diff --git a/ctdb/server/ctdb_takeover.c b/ctdb/server/ctdb_takeover.c
index b09abd3..510c883 100644
--- a/ctdb/server/ctdb_takeover.c
+++ b/ctdb/server/ctdb_takeover.c
@@ -72,20 +72,8 @@ static int ctdb_add_local_iface(struct ctdb_context *ctdb, const char *iface)
 	CTDB_NO_MEMORY_FATAL(ctdb, i);
 	i->name = talloc_strdup(i, iface);
 	CTDB_NO_MEMORY(ctdb, i->name);
-	/*
-	 * If link_up defaults to true then IPs can be allocated to a
-	 * node during the first recovery.  However, then an interface
-	 * could have its link marked down during the startup event,
-	 * causing the IP to move almost immediately.  If link_up
-	 * defaults to false then, during normal operation, IPs added
-	 * to a new interface can't be assigned until a monitor cycle
-	 * has occurred and marked the new interfaces up.  This makes
-	 * IP allocation unpredictable.  The following is a neat
-	 * compromise: early in startup link_up defaults to false, so
-	 * IPs can't be assigned, and after startup IPs can be
-	 * assigned immediately.
-	 */
-	i->link_up = (ctdb->runstate == CTDB_RUNSTATE_RUNNING);
+
+	i->link_up = true;
 
 	DLIST_ADD(ctdb->ifaces, i);
 
@@ -720,7 +708,7 @@ int32_t ctdb_control_takeover_ip(struct ctdb_context *ctdb,
 		return 0;
 	}
 
-	if (ctdb->do_checkpublicip) {
+	if (ctdb->tunable.disable_ip_failover == 0 && ctdb->do_checkpublicip) {
 		have_ip = ctdb_sys_have_ip(&pip->addr);
 	}
 	best_iface = ctdb_vnn_best_iface(ctdb, vnn);
@@ -873,12 +861,16 @@ static void release_ip_callback(struct ctdb_context *ctdb, int status,
 		ctdb_ban_self(ctdb);
 	}
 
-	if (ctdb->do_checkpublicip && ctdb_sys_have_ip(state->addr)) {
-		DEBUG(DEBUG_ERR, ("IP %s still hosted during release IP callback, failing\n",
-				  ctdb_addr_to_str(state->addr)));
-		ctdb_request_control_reply(ctdb, state->c, NULL, -1, NULL);
-		talloc_free(state);
-		return;
+	if (ctdb->tunable.disable_ip_failover == 0 && ctdb->do_checkpublicip) {
+		if  (ctdb_sys_have_ip(state->addr)) {
+			DEBUG(DEBUG_ERR,
+			      ("IP %s still hosted during release IP callback, failing\n",
+			       ctdb_addr_to_str(state->addr)));
+			ctdb_request_control_reply(ctdb, state->c,
+						   NULL, -1, NULL);
+			talloc_free(state);
+			return;
+		}
 	}
 
 	/* send a message to all clients of this node telling them
@@ -948,7 +940,7 @@ int32_t ctdb_control_release_ip(struct ctdb_context *ctdb,
 	 * intended new node.  The following causes makes ctdbd ignore
 	 * a release for any address it doesn't host.
 	 */
-	if (ctdb->do_checkpublicip) {
+	if (ctdb->tunable.disable_ip_failover == 0 && ctdb->do_checkpublicip) {
 		if (!ctdb_sys_have_ip(&pip->addr)) {
 			DEBUG(DEBUG_DEBUG,("Redundant release of IP %s/%u on interface %s (ip not held)\n",
 				ctdb_addr_to_str(&pip->addr),
@@ -3144,6 +3136,10 @@ void ctdb_release_all_ips(struct ctdb_context *ctdb)
 	struct ctdb_vnn *vnn;
 	int count = 0;
 
+	if (ctdb->tunable.disable_ip_failover == 1) {
+		return;
+	}
+
 	for (vnn=ctdb->vnn;vnn;vnn=vnn->next) {
 		if (!ctdb_sys_have_ip(&vnn->public_address)) {
 			ctdb_vnn_unassign_iface(ctdb, vnn);
@@ -4242,7 +4238,12 @@ int verify_remote_ip_allocation(struct ctdb_context *ctdb,
 
 int update_ip_assignment_tree(struct ctdb_context *ctdb, struct ctdb_public_ip *ip)
 {
-	struct ctdb_public_ip_list *tmp_ip; 
+	struct ctdb_public_ip_list *tmp_ip;
+
+	/* IP tree is never built if DisableIPFailover is set */
+	if (ctdb->tunable.disable_ip_failover != 0) {
+		return 0;
+	}
 
 	if (ctdb->ip_tree == NULL) {
 		DEBUG(DEBUG_ERR,("No ctdb->ip_tree yet. Failed to update ip assignment\n"));
diff --git a/ctdb/tests/complex/35_cifs_external_tickle.sh b/ctdb/tests/complex/35_cifs_external_tickle.sh
new file mode 100755
index 0000000..fabe81b
--- /dev/null
+++ b/ctdb/tests/complex/35_cifs_external_tickle.sh
@@ -0,0 +1,102 @@
+#!/bin/bash
+
+test_info()
+{
+    cat <<EOF
+For external IP address management, verify that CIFS tickles are sent.
+
+Prerequisites:
+
+* An active CTDB cluster with at least 2 nodes with public addresses.
+
+* Test must be run on a real or virtual cluster rather than against
+  local daemons.
+
+* Test must not be run from a cluster node.
+
+* Clustered Samba must be listening on TCP port 445.
+EOF
+}
+
+. "${TEST_SCRIPTS_DIR}/integration.bash"
+
+set -e
+
+ctdb_test_init "$@"
+
+ctdb_test_check_real_cluster
+
+cluster_is_healthy
+
+# Reset configuration
+ctdb_restart_when_done
+
+select_test_node_and_ips
+
+# Select a different node to move the IP address to
+to_node=""
+while read x to_node ; do
+    if [ "$to_node" != "$test_node" ] ; then
+	break
+    fi
+done <<<"$out"
+if [ -z "$to_node" ] ; then
+    die "BAD: Unable to find a target node different to ${to_node}"
+fi
+
+echo "Get mask and interface for ${test_ip}"
+get_test_ip_mask_and_iface
+
+echo "Set DisableIPFailover=1 on all nodes"
+try_command_on_node all $CTDB setvar DisableIPFailover 1
+
+echo "Give the recovery daemon some time to reload tunables"
+sleep_for 5
+
+my_exit_hook ()
+{
+    onnode -q all $CTDB enablescript  "10.interface"
+    onnode -q all $CTDB disablescript "10.external"
+}
+ctdb_test_exit_hook_add my_exit_hook
+
+echo "Disable 10.interface on all nodes"
+try_command_on_node all $CTDB disablescript 10.interface
+echo "Enable 10.external on all nodes"
+try_command_on_node all $CTDB enablescript  10.external
+
+test_port=445
+
+echo "Connecting to node ${test_node} on IP ${test_ip}:${test_port} with netcat..."
+
+nc -d -w 60 $test_ip $test_port &
+nc_pid=$!
+ctdb_test_exit_hook_add "kill $nc_pid >/dev/null 2>&1"
+
+wait_until_get_src_socket "tcp" "${test_ip}:${test_port}" $nc_pid "nc"
+src_socket="$out"
+echo "Source socket is $src_socket"
+
+# This should happen as soon as connection is up... but unless we wait
+# we sometimes beat the registration.
+echo "Checking if CIFS connection is tracked by CTDB..."
+wait_until 10 check_tickles $test_node $test_ip $test_port $src_socket
+echo "$out"
+
+if [ "${out/SRC: ${src_socket} /}" != "$out" ] ; then
+    echo "GOOD: CIFS connection tracked OK by CTDB."
+else
+    echo "BAD: Socket not tracked by CTDB."
+    testfailures=1
+fi
+
+tcptickle_sniff_start $src_socket "${test_ip}:${test_port}"
+
+echo "Moving $test_ip from $test_node to $to_node"
+try_command_on_node $test_node ip addr del "${test_ip}/${mask}" dev "$iface"
+try_command_on_node $to_node   ip addr add "${test_ip}/${mask}" dev "$iface"
+try_command_on_node $to_node   ctdb moveip "$test_ip" "$to_node"
+
+wait_until_ips_are_on_node "$to_node" "$test_ip"
+
+tcptickle_sniff_wait_show
diff --git a/ctdb/tests/eventscripts/00.ctdb.init.021.sh b/ctdb/tests/eventscripts/10.interface.init.021.sh
similarity index 100%
rename from ctdb/tests/eventscripts/00.ctdb.init.021.sh
rename to ctdb/tests/eventscripts/10.interface.init.021.sh
diff --git a/ctdb/tests/eventscripts/00.ctdb.init.022.sh b/ctdb/tests/eventscripts/10.interface.init.022.sh
similarity index 100%
rename from ctdb/tests/eventscripts/00.ctdb.init.022.sh
rename to ctdb/tests/eventscripts/10.interface.init.022.sh
diff --git a/ctdb/tests/eventscripts/00.ctdb.init.023.sh b/ctdb/tests/eventscripts/10.interface.init.023.sh
similarity index 100%
rename from ctdb/tests/eventscripts/00.ctdb.init.023.sh
rename to ctdb/tests/eventscripts/10.interface.init.023.sh


-- 
Samba Shared Repository


More information about the samba-cvs mailing list