[SCM] CTDB repository - branch master updated - ctdb-2.1-198-gc574309

2013-05-24 Thread Amitay Isaacs
The branch, master has been updated
   via  c57430998a3bdedc8a904eb3a9cdfde1421aff50 (commit)
   via  f15dd562fd8c08cafd957ce9509102db7eb49668 (commit)
   via  c0c27762ea728ed86405b29c642ba9e43200f4ae (commit)
   via  1190bb0d9c14dc5889c2df56f6c8986db23d81a1 (commit)
   via  40e34773b8063196457746ffe7a048eb87d96d61 (commit)
   via  03fd90d41f9cd9b8c42dc6b8b8d46ae19101a544 (commit)
   via  473cfcb019f0cb4a094bf10397f7414f7923ee57 (commit)
   via  f6792f478197774d2f3b2258c969b67c83e017ab (commit)
  from  c50eca6fbf49a6c7bf50905334704f8d2d3237d7 (commit)

http://gitweb.samba.org/?p=ctdb.git;a=shortlog;h=master


- Log -
commit c57430998a3bdedc8a904eb3a9cdfde1421aff50
Author: Martin Schwenke 
Date:   Mon May 6 20:31:08 2013 +1000

tests/takeover: New tests to check runstate handling

Signed-off-by: Martin Schwenke 

commit f15dd562fd8c08cafd957ce9509102db7eb49668
Author: Martin Schwenke 
Date:   Mon May 6 15:36:29 2013 +1000

recoverd: Nodes can only takeover IPs if they are in runstate RUNNING

Currently the order of the first IP allocation, including the first
"ipreallocated" event, and the "startup" event is undefined.  Both of
these events can (re)start services.

This stops IPs being hosted before the "startup" event has completed.

Signed-off-by: Martin Schwenke 
Pair-programmed-with: Amitay Isaacs 

commit c0c27762ea728ed86405b29c642ba9e43200f4ae
Author: Martin Schwenke 
Date:   Thu May 23 19:03:11 2013 +1000

recoverd: Handle errors carefully when fetching tunables

If a tunable is not implemented on a remote node then this should not
be fatal.  In this case the takeover run can continue using benign
defaults for the tunables.

However, timeouts and any unexpected errors should be fatal.  These
should abort the takeover run because they can lead to unexpected IP
movements.

Signed-off-by: Martin Schwenke 

commit 1190bb0d9c14dc5889c2df56f6c8986db23d81a1
Author: Martin Schwenke 
Date:   Thu May 23 19:01:01 2013 +1000

recoverd: Set explicit default value when getting tunable from nodes

Both of the current defaults are implicitly 0.  It is better to make
the defaults obvious.

Signed-off-by: Martin Schwenke 

commit 40e34773b8063196457746ffe7a048eb87d96d61
Author: Martin Schwenke 
Date:   Thu May 23 16:09:38 2013 +1000

client: async_callback() sets result to -ETIME if a control times out

Otherwise there is no way of treating a timeout differently to a
general failure.

Signed-off-by: Martin Schwenke 
Pair-programmed-with: Amitay Isaacs 

commit 03fd90d41f9cd9b8c42dc6b8b8d46ae19101a544
Author: Martin Schwenke 
Date:   Tue May 21 15:41:56 2013 +1000

ctdbd: Update the get_tunable code to return -EINVAL for unknown tunable

Otherwise callers can't tell the difference between some other failure
(e.g. memory allocation failure) and an unknown tunable.

Signed-off-by: Martin Schwenke 

commit 473cfcb019f0cb4a094bf10397f7414f7923ee57
Author: Martin Schwenke 
Date:   Wed May 22 17:19:34 2013 +1000

recoverd: Whitespace improvements

Signed-off-by: Martin Schwenke 

commit f6792f478197774d2f3b2258c969b67c83e017ab
Author: Martin Schwenke 
Date:   Wed May 22 20:56:03 2013 +1000

recoverd: Use talloc_array_length() for simpler code

Signed-off-by: Martin Schwenke 

---

Summary of changes:
 client/ctdb_client.c|7 +-
 server/ctdb_takeover.c  |  211 +++
 server/ctdb_tunables.c  |2 +-
 tests/src/ctdb_takeover_tests.c |   30 -
 tests/takeover/lcp2.024.sh  |   42 ++
 tests/takeover/{lcp2.007.sh => lcp2.025.sh} |   24 ++--
 tests/takeover/{lcp2.007.sh => lcp2.026.sh} |   24 ++--
 tools/ctdb.c|2 +-
 8 files changed, 287 insertions(+), 55 deletions(-)
 create mode 100755 tests/takeover/lcp2.024.sh
 copy tests/takeover/{lcp2.007.sh => lcp2.025.sh} (71%)
 copy tests/takeover/{lcp2.007.sh => lcp2.026.sh} (70%)


Changeset truncated at 500 lines:

diff --git a/client/ctdb_client.c b/client/ctdb_client.c
index e930bff..334d830 100644
--- a/client/ctdb_client.c
+++ b/client/ctdb_client.c
@@ -2502,7 +2502,7 @@ int ctdb_ctrl_get_tunable(struct ctdb_context *ctdb,
talloc_free(data.dptr);
if (ret != 0 || res != 0) {
DEBUG(DEBUG_ERR,(__location__ " ctdb_control for get_tunable 
failed\n"));
-   return -1;
+   return ret != 0 ? ret : res;
}
 
if (outdata.dsize != sizeof(uint32_t)) {
@@ -3329,6 +3329,11 @@ static void async_callback(struct 
ctdb_client_control_state *state)
DEBUG(DEBUG_ERR,("Async operation failed wit

[SCM] CTDB repository - branch master updated - ctdb-2.1-201-gb697625

2013-05-24 Thread Amitay Isaacs
The branch, master has been updated
   via  b697625b184227dad1be31a41b7a3fd9bd312e29 (commit)
   via  d9e24782a90d9ce29c0e6584b75d2b186142174d (commit)
   via  9a21d417c51fb9cad8f2e87e00ca54d379aef860 (commit)
  from  c57430998a3bdedc8a904eb3a9cdfde1421aff50 (commit)

http://gitweb.samba.org/?p=ctdb.git;a=shortlog;h=master


- Log -
commit b697625b184227dad1be31a41b7a3fd9bd312e29
Author: Michael Adam 
Date:   Fri May 17 11:05:44 2013 +0200

ctdbd: fix comment explaining redirection of CTDB_REQ_CALL redirection.

Signed-off-by: Michael Adam 

commit d9e24782a90d9ce29c0e6584b75d2b186142174d
Author: Michael Adam 
Date:   Fri May 17 11:01:31 2013 +0200

ctdbd: remove a nonempty blank line

Signed-off-by: Michael Adam 

commit 9a21d417c51fb9cad8f2e87e00ca54d379aef860
Author: Michael Adam 
Date:   Fri May 17 11:00:32 2013 +0200

ctdbd: update comment describing ctdb_call_send_redirect()

Signed-off-by: Michael Adam 

---

Summary of changes:
 server/ctdb_call.c |   21 ++---
 1 files changed, 6 insertions(+), 15 deletions(-)


Changeset truncated at 500 lines:

diff --git a/server/ctdb_call.c b/server/ctdb_call.c
index dbbebec..a98903d 100644
--- a/server/ctdb_call.c
+++ b/server/ctdb_call.c
@@ -113,20 +113,9 @@ static void ctdb_send_error(struct ctdb_context *ctdb,
  * to its local ctdb (ctdb_request_call). If the node is not itself
  * the record's DMASTER, it first redirects the packet to  the
  * record's LMASTER. The LMASTER then redirects the call packet to
- * the current DMASTER. But there is a race: The record may have
- * been migrated off the DMASTER while the redirected packet is
- * on the wire (or in the local queue). So in case the record has
- * migrated off the new destinaton of the call packet, instead of
- * going back to the LMASTER to get the new DMASTER, we try to
- * reduce round-trips by first chasing the record a couple of times
- * before giving up the direct chase and finally going back to the
- * LMASTER (again). Note that this works because of this: When
+ * the current DMASTER. Note that this works because of this: When
  * a record is migrated off a node, then the new DMASTER is stored
  * in the record's copy on the former DMASTER.
- *
- * The maximum number of attempts for direct chase to make before
- * going back to the LMASTER is configurable by the tunable
- * "MaxRedirectCount".
  */
 static void ctdb_call_send_redirect(struct ctdb_context *ctdb,
struct ctdb_db_context *ctdb_db,
@@ -134,7 +123,6 @@ static void ctdb_call_send_redirect(struct ctdb_context 
*ctdb,
struct ctdb_req_call *c, 
struct ctdb_ltdb_header *header)
 {
-   
uint32_t lmaster = ctdb_lmaster(ctdb, &key);
 
c->hdr.destnode = lmaster;
@@ -813,8 +801,11 @@ void ctdb_request_call(struct ctdb_context *ctdb, struct 
ctdb_req_header *hdr)
return;
}
 
-   /* if we are not the dmaster and are not hosting any delegations,
-  then send a redirect to the requesting node */
+   /*
+* If we are not the dmaster and are not hosting any delegations,
+* then we redirect the request to the node than can answer it
+* (the lmaster or the dmaster).
+*/
if ((header.dmaster != ctdb->pnn) 
&& (!(header.flags & CTDB_REC_RO_HAVE_DELEGATIONS)) ) {
talloc_free(data.dptr);


-- 
CTDB repository


[SCM] CTDB repository - branch master updated - ctdb-2.1-202-g32723c9

2013-05-24 Thread Michael Adam
The branch, master has been updated
   via  32723c9efdad1c6ca4aa53f308ccd9bef1aadfff (commit)
  from  b697625b184227dad1be31a41b7a3fd9bd312e29 (commit)

http://gitweb.samba.org/?p=ctdb.git;a=shortlog;h=master


- Log -
commit 32723c9efdad1c6ca4aa53f308ccd9bef1aadfff
Author: Amitay Isaacs 
Date:   Fri May 24 18:07:39 2013 +1000

vacuum: Reduce the priority of non-critical error

Since the complete database is not locked when the receive_records
control is received, it's possible that we may not be able to obtain
lock on a chain.  We will try again to store this record.

Signed-off-by: Amitay Isaacs 
Reviewed-by: Michael Adam 

---

Summary of changes:
 server/ctdb_recover.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)


Changeset truncated at 500 lines:

diff --git a/server/ctdb_recover.c b/server/ctdb_recover.c
index 6506f8b..7a8b0bb 100644
--- a/server/ctdb_recover.c
+++ b/server/ctdb_recover.c
@@ -1138,7 +1138,7 @@ static int store_tdb_record(struct ctdb_context *ctdb,
 
/* use a non-blocking lock */
if (tdb_chainlock_nonblock(ctdb_db->ltdb->tdb, key) != 0) {
-   DEBUG(DEBUG_ERR, (__location__ " Failed to lock chain\n"));
+   DEBUG(DEBUG_INFO, (__location__ " Failed to lock chain in 
non-blocking mode\n"));
return -1;
}
 


-- 
CTDB repository


[SCM] CTDB repository - branch master updated - ctdb-2.1-206-g75a620c

2013-05-24 Thread Amitay Isaacs
The branch, master has been updated
   via  75a620c516e384f042b5d675183b3a1b48fd6115 (commit)
   via  cfd1371d3a1f78a0ed86485d83bd4d311727c3d4 (commit)
   via  ef35c8889d90220929e48e66eb62da9ea2025ede (commit)
   via  954ae6f84cb06a8dcbc12456d4752280072be5bf (commit)
  from  32723c9efdad1c6ca4aa53f308ccd9bef1aadfff (commit)

http://gitweb.samba.org/?p=ctdb.git;a=shortlog;h=master


- Log -
commit 75a620c516e384f042b5d675183b3a1b48fd6115
Author: Martin Schwenke 
Date:   Fri Apr 5 20:47:47 2013 +1100

tests/takeover: New test with 900 IPs

commit cfd1371d3a1f78a0ed86485d83bd4d311727c3d4
Author: Martin Schwenke 
Date:   Fri Apr 5 20:45:08 2013 +1100

tests/takeover: Takeover tests can use up to 1024 and checks limits

Signed-off-by: Martin Schwenke 

commit ef35c8889d90220929e48e66eb62da9ea2025ede
Author: Martin Schwenke 
Date:   Mon Apr 8 14:37:44 2013 +1000

tests/takeover: LCP2 tests for weird, unbalanced corner-cases

2 tests to show a bad result and a 3rd test for the fix.

Signed-off-by: Martin Schwenke 

commit 954ae6f84cb06a8dcbc12456d4752280072be5bf
Author: Martin Schwenke 
Date:   Mon Apr 8 14:37:08 2013 +1000

tests/takeover: Allow takeover runs with differing IP allocations per node

Signed-off-by: Martin Schwenke 

---

Summary of changes:
 tests/src/ctdb_takeover_tests.c |   71 ++-
 tests/takeover/lcp2.027.sh  |   45 +
 tests/takeover/lcp2.028.sh  |   45 +
 tests/takeover/lcp2.029.sh  |  111 +++
 tests/takeover/lcp2.030.sh  | 1813 +++
 tests/takeover/scripts/local.sh |3 +-
 6 files changed, 2075 insertions(+), 13 deletions(-)
 create mode 100755 tests/takeover/lcp2.027.sh
 create mode 100755 tests/takeover/lcp2.028.sh
 create mode 100755 tests/takeover/lcp2.029.sh
 create mode 100755 tests/takeover/lcp2.030.sh


Changeset truncated at 500 lines:

diff --git a/tests/src/ctdb_takeover_tests.c b/tests/src/ctdb_takeover_tests.c
index 196f90d..1aa0620 100644
--- a/tests/src/ctdb_takeover_tests.c
+++ b/tests/src/ctdb_takeover_tests.c
@@ -21,7 +21,7 @@
 
 /* This is lazy... but it is test code! */
 #define CTDB_TEST_MAX_NODES 256
-#define CTDB_TEST_MAX_IPS 256
+#define CTDB_TEST_MAX_IPS 1024
 
 /* Format of each line is "IP pnn" - the separator has to be at least
  * 1 space (not a tab or whatever - a space!).
@@ -127,6 +127,11 @@ read_ctdb_public_ip_info(TALLOC_CTX *ctx,
*t = '\0';
}
 
+   /* Exit on an empty line */
+   if (line[0] == '\0') {
+   break;
+   }
+
/* Get the IP address */
tok = strtok(line, " \t");
if (tok == NULL) {
@@ -140,6 +145,10 @@ read_ctdb_public_ip_info(TALLOC_CTX *ctx,
}
 
numips++;
+   if (numips > CTDB_TEST_MAX_IPS) {
+   DEBUG(DEBUG_ERR, ("ERROR: Exceeding CTDB_TEST_MAX_IPS: 
%d\n", CTDB_TEST_MAX_IPS));
+   exit(1);
+   }
 
/* Get the PNN */
pnn = -1;
@@ -236,6 +245,10 @@ void ctdb_test_read_ctdb_public_ip_info(const char 
nodestates[])
tok = strtok(ns, ",");
while (tok != NULL) {
numnodes++;
+   if (numnodes > CTDB_TEST_MAX_NODES) {
+   DEBUG(DEBUG_ERR, ("ERROR: Exceeding 
CTDB_TEST_MAX_NODES: %d\n", CTDB_TEST_MAX_NODES));
+   exit(1);
+   }
tok = strtok(NULL, ",");
}

@@ -377,10 +390,26 @@ static enum ctdb_runstate *get_runstate(TALLOC_CTX 
*tmp_ctx,
return runstate;
 }
 
+/* Fake up enough CTDB state to be able to run the IP allocation
+ * algorithm.  Usually this sets up some standard state, sets the node
+ * states from the command-line and reads the current IP layout from
+ * stdin.
+ *
+ * However, if read_ips_for_multiple_nodes is true then each node's
+ * idea of the IP layout is read separately from stdin.  In this mode
+ * is doesn't make much sense to use read_ctdb_public_ip_info's
+ * optional ALLOWED_PNN,... list in the input, since each node is
+ * being handled separately anyway.  IPs for each node are separated
+ * by a blank line.  This mode is for testing weird behaviours where
+ * the IP layouts differs across nodes and we want to improve
+ * create_merged_ip_list(), so should only be used in tests of
+ * ctdb_takeover_run_core().  Yes, it is a hack...  :-)
+ */
 void ctdb_test_init(const char nodestates[],
struct ctdb_context **ctdb,
struct ctdb_public_ip_list **all_ips,
-   struct ctdb_ipflags **ipflags)
+   struct ctdb_ipflags **ipflags,
+   bool read_ips_for_multiple_nodes)
 {
struct ctdb_all_public_ips *

autobuild: intermittent test failure detected

2013-05-24 Thread autobuild
The autobuild test system has detected an intermittent failing test in 
the current master tree.

The autobuild log of the failure is available here:

   http://git.samba.org/autobuild.flakey/2013-05-24-1542/flakey.log

The samba3 build logs are available here:

   http://git.samba.org/autobuild.flakey/2013-05-24-1542/samba3.stderr
   http://git.samba.org/autobuild.flakey/2013-05-24-1542/samba3.stdout

The source4 build logs are available here:

   http://git.samba.org/autobuild.flakey/2013-05-24-1542/samba.stderr
   http://git.samba.org/autobuild.flakey/2013-05-24-1542/samba.stdout
  
The top commit at the time of the failure was:

commit e24fe5705e3c4d33705ebb584ea2009bb4a1a82c
Author: Stefan Metzmacher 
Date:   Fri May 17 23:18:55 2013 +0200

libnet-vampire: make use of dsdb_repl_resolve_working_schema()

Pair-Programmed-With: Matthieu Patou 

Signed-off-by: Stefan Metzmacher 

Reviewed-by: Andrew Bartlett 

Autobuild-User(master): Andrew Bartlett 
Autobuild-Date(master): Thu May 23 14:18:03 CEST 2013 on sn-devel-104


autobuild: intermittent test failure detected

2013-05-24 Thread autobuild
The autobuild test system has detected an intermittent failing test in 
the current master tree.

The autobuild log of the failure is available here:

   http://git.samba.org/autobuild.flakey/2013-05-24-1742/flakey.log

The samba3 build logs are available here:

   http://git.samba.org/autobuild.flakey/2013-05-24-1742/samba3.stderr
   http://git.samba.org/autobuild.flakey/2013-05-24-1742/samba3.stdout

The source4 build logs are available here:

   http://git.samba.org/autobuild.flakey/2013-05-24-1742/samba.stderr
   http://git.samba.org/autobuild.flakey/2013-05-24-1742/samba.stdout
  
The top commit at the time of the failure was:

commit e24fe5705e3c4d33705ebb584ea2009bb4a1a82c
Author: Stefan Metzmacher 
Date:   Fri May 17 23:18:55 2013 +0200

libnet-vampire: make use of dsdb_repl_resolve_working_schema()

Pair-Programmed-With: Matthieu Patou 

Signed-off-by: Stefan Metzmacher 

Reviewed-by: Andrew Bartlett 

Autobuild-User(master): Andrew Bartlett 
Autobuild-Date(master): Thu May 23 14:18:03 CEST 2013 on sn-devel-104


[SCM] Samba Shared Repository - branch master updated

2013-05-24 Thread Jeremy Allison
The branch, master has been updated
   via  39d7982 building RPMs on RHEL fail because of a typo.
  from  e24fe57 libnet-vampire: make use of 
dsdb_repl_resolve_working_schema()

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


- Log -
commit 39d7982625ba05befa7bc2430a79d44984eb410e
Author: Anand Avati 
Date:   Fri May 24 12:23:06 2013 -0700

building RPMs on RHEL fail because of a typo.

Signed-off-by: Anand Avati 
Reviewed-by: Jeremy Allison 
Reviewed-by: Simo Sorce 

Autobuild-User(master): Jeremy Allison 
Autobuild-Date(master): Sat May 25 01:04:37 CEST 2013 on sn-devel-104

---

Summary of changes:
 packaging/RHEL/samba.spec.tmpl |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)


Changeset truncated at 500 lines:

diff --git a/packaging/RHEL/samba.spec.tmpl b/packaging/RHEL/samba.spec.tmpl
index 7df7cb5..05e46e1 100644
--- a/packaging/RHEL/samba.spec.tmpl
+++ b/packaging/RHEL/samba.spec.tmpl
@@ -2,7 +2,7 @@
 %define auth %(test -f /etc/pam.d/system-auth && echo /etc/pam.d/system-auth 
|| echo)
 %define this_is_redhat  %(test -e /etc/redhat-release && echo 1 || echo 0)
 %if %{this_is_redhat} > 0
-%define rhel_ver %(grep "release" /etc/redhat-release | sed 
%"s/^[^0-9]*\\([0-9]*\\).*/\\1/g")
+%define rhel_ver %(grep "release" /etc/redhat-release | sed 
"s/^[^0-9]*\\([0-9]*\\).*/\\1/g")
 %else
 %define rhel_ver 0
 %endif


-- 
Samba Shared Repository


autobuild: intermittent test failure detected

2013-05-24 Thread autobuild
The autobuild test system has detected an intermittent failing test in 
the current master tree.

The autobuild log of the failure is available here:

   http://git.samba.org/autobuild.flakey/2013-05-25-0138/flakey.log

The samba3 build logs are available here:

   http://git.samba.org/autobuild.flakey/2013-05-25-0138/samba3.stderr
   http://git.samba.org/autobuild.flakey/2013-05-25-0138/samba3.stdout

The source4 build logs are available here:

   http://git.samba.org/autobuild.flakey/2013-05-25-0138/samba.stderr
   http://git.samba.org/autobuild.flakey/2013-05-25-0138/samba.stdout
  
The top commit at the time of the failure was:

commit e24fe5705e3c4d33705ebb584ea2009bb4a1a82c
Author: Stefan Metzmacher 
Date:   Fri May 17 23:18:55 2013 +0200

libnet-vampire: make use of dsdb_repl_resolve_working_schema()

Pair-Programmed-With: Matthieu Patou 

Signed-off-by: Stefan Metzmacher 

Reviewed-by: Andrew Bartlett 

Autobuild-User(master): Andrew Bartlett 
Autobuild-Date(master): Thu May 23 14:18:03 CEST 2013 on sn-devel-104


autobuild: intermittent test failure detected

2013-05-24 Thread autobuild
The autobuild test system has detected an intermittent failing test in 
the current master tree.

The autobuild log of the failure is available here:

   http://git.samba.org/autobuild.flakey/2013-05-25-0340/flakey.log

The samba3 build logs are available here:

   http://git.samba.org/autobuild.flakey/2013-05-25-0340/samba3.stderr
   http://git.samba.org/autobuild.flakey/2013-05-25-0340/samba3.stdout

The source4 build logs are available here:

   http://git.samba.org/autobuild.flakey/2013-05-25-0340/samba.stderr
   http://git.samba.org/autobuild.flakey/2013-05-25-0340/samba.stdout
  
The top commit at the time of the failure was:

commit 39d7982625ba05befa7bc2430a79d44984eb410e
Author: Anand Avati 
Date:   Fri May 24 12:23:06 2013 -0700

building RPMs on RHEL fail because of a typo.

Signed-off-by: Anand Avati 
Reviewed-by: Jeremy Allison 
Reviewed-by: Simo Sorce 

Autobuild-User(master): Jeremy Allison 
Autobuild-Date(master): Sat May 25 01:04:37 CEST 2013 on sn-devel-104