ctdb-tests: Add dbdir option for creating databases in fake_ctdbd
authorAmitay Isaacs <amitay@gmail.com>
Mon, 5 Feb 2018 01:43:02 +0000 (12:43 +1100)
committerAmitay Isaacs <amitay@samba.org>
Tue, 27 Mar 2018 02:27:24 +0000 (04:27 +0200)
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
16 files changed:
ctdb/tests/src/fake_ctdbd.c
ctdb/tests/takeover_helper/scripts/local.sh
ctdb/tests/tool/ctdb.getdbmap.001.sh
ctdb/tests/tool/ctdb.getdbstatus.001.sh
ctdb/tests/tool/ctdb.getdbstatus.002.sh
ctdb/tests/tool/ctdb.setdbreadonly.001.sh
ctdb/tests/tool/ctdb.setdbreadonly.002.sh
ctdb/tests/tool/ctdb.setdbreadonly.003.sh
ctdb/tests/tool/ctdb.setdbreadonly.004.sh
ctdb/tests/tool/ctdb.setdbreadonly.005.sh
ctdb/tests/tool/ctdb.setdbsticky.001.sh
ctdb/tests/tool/ctdb.setdbsticky.002.sh
ctdb/tests/tool/ctdb.setdbsticky.003.sh
ctdb/tests/tool/ctdb.setdbsticky.004.sh
ctdb/tests/tool/ctdb.setdbsticky.005.sh
ctdb/tests/tool/scripts/local.sh

index f899f7e2bba7b51efd7679b7819bf5e20e31d960..cae33912a0d1fc3534ad24736e2232aa073d8acb 100644 (file)
@@ -86,6 +86,7 @@ struct vnn_map {
 struct database {
        struct database *prev, *next;
        const char *name;
+       const char *path;
        uint32_t id;
        uint8_t flags;
        uint64_t seq_num;
@@ -93,6 +94,7 @@ struct database {
 
 struct database_map {
        struct database *db;
+       const char *dbdir;
 };
 
 struct fake_control_failure {
@@ -629,7 +631,8 @@ fail:
        return false;
 }
 
-static struct database_map *dbmap_init(TALLOC_CTX *mem_ctx)
+static struct database_map *dbmap_init(TALLOC_CTX *mem_ctx,
+                                      const char *dbdir)
 {
        struct database_map *db_map;
 
@@ -638,6 +641,12 @@ static struct database_map *dbmap_init(TALLOC_CTX *mem_ctx)
                return NULL;
        }
 
+       db_map->dbdir = talloc_strdup(db_map, dbdir);
+       if (db_map->dbdir == NULL) {
+               talloc_free(db_map);
+               return NULL;
+       }
+
        return db_map;
 }
 
@@ -721,6 +730,11 @@ static bool dbmap_parse(struct database_map *db_map)
 
                db->id = id;
                db->name = talloc_steal(db, name);
+               db->path = talloc_asprintf(db, "%s/%s", db_map->dbdir, name);
+               if (db->path == NULL) {
+                       talloc_free(db);
+                       goto fail;
+               }
                db->flags = flags;
                db->seq_num = seq_num;
 
@@ -936,7 +950,8 @@ static uint32_t new_generation(uint32_t old_generation)
        return generation;
 }
 
-static struct ctdbd_context *ctdbd_setup(TALLOC_CTX *mem_ctx)
+static struct ctdbd_context *ctdbd_setup(TALLOC_CTX *mem_ctx,
+                                        const char *dbdir)
 {
        struct ctdbd_context *ctdb;
        char line[1024];
@@ -963,7 +978,7 @@ static struct ctdbd_context *ctdbd_setup(TALLOC_CTX *mem_ctx)
                goto fail;
        }
 
-       ctdb->db_map = dbmap_init(ctdb);
+       ctdb->db_map = dbmap_init(ctdb, dbdir);
        if (ctdb->db_map == NULL) {
                goto fail;
        }
@@ -1414,15 +1429,8 @@ static void control_getdbpath(TALLOC_CTX *mem_ctx,
                reply.status = ENOENT;
                reply.errmsg = "Database not found";
        } else {
-               const char *base;
-               if (db->flags & CTDB_DB_FLAGS_PERSISTENT) {
-                       base = "/var/lib/ctdb/persistent";
-               } else {
-                       base = "/var/run/ctdb/DB_DIR";
-               }
                reply.rdata.data.db_path =
-                       talloc_asprintf(mem_ctx, "%s/%s.%u",
-                                       base, db->name, header->destnode);
+                       talloc_strdup(mem_ctx, db->path);
                if (reply.rdata.data.db_path == NULL) {
                        reply.status = ENOMEM;
                        reply.errmsg = "Memory error";
@@ -3676,18 +3684,23 @@ fail:
 }
 
 static struct options {
+       const char *dbdir;
        const char *sockpath;
        const char *pidfile;
        const char *debuglevel;
 } options;
 
 static struct poptOption cmdline_options[] = {
+       POPT_AUTOHELP
+       { "dbdir", 'D', POPT_ARG_STRING, &options.dbdir, 0,
+               "Database directory", "directory" },
        { "socket", 's', POPT_ARG_STRING, &options.sockpath, 0,
                "Unix domain socket path", "filename" },
        { "pidfile", 'p', POPT_ARG_STRING, &options.pidfile, 0,
                "pid file", "filename" } ,
        { "debug", 'd', POPT_ARG_STRING, &options.debuglevel, 0,
                "debug level", "ERR|WARNING|NOTICE|INFO|DEBUG" } ,
+       POPT_TABLEEND
 };
 
 static void cleanup(void)
@@ -3751,6 +3764,12 @@ int main(int argc, const char *argv[])
                exit(1);
        }
 
+       if (options.dbdir == NULL) {
+               fprintf(stderr, "Please specify database directory\n");
+               poptPrintHelp(pc, stdout, 0);
+               exit(1);
+       }
+
        if (options.sockpath == NULL) {
                fprintf(stderr, "Please specify socket path\n");
                poptPrintHelp(pc, stdout, 0);
@@ -3776,7 +3795,7 @@ int main(int argc, const char *argv[])
                exit(1);
        }
 
-       ctdb = ctdbd_setup(mem_ctx);
+       ctdb = ctdbd_setup(mem_ctx, options.dbdir);
        if (ctdb == NULL) {
                exit(1);
        }
index c3a1ac0a0981f0525b460244a97d4b165b108e43..2bab8c7a06eafbb46faca61d75af9a4aea55830b 100644 (file)
@@ -14,6 +14,7 @@ PATH="$PATH:$CTDB_SCRIPTS_TOOLS_HELPER_DIR"
 
 ctdbd_socket="${TEST_VAR_DIR}/ctdbd.socket.$$"
 ctdbd_pidfile="${TEST_VAR_DIR}/ctdbd.pid.$$"
+ctdbd_dbdir="${TEST_VAR_DIR}/ctdbd.db.$$"
 
 define_test ()
 {
@@ -42,14 +43,17 @@ cleanup_ctdbd ()
                rm -f "$ctdbd_pidfile"
        fi
        rm -f "$ctdbd_socket"
+       rm -rf "$ctdbd_dbdir"
 }
 
 setup_ctdbd ()
 {
        debug "Setting up fake ctdbd"
 
+       mkdir -p "$ctdbd_dbdir"
        $VALGRIND fake_ctdbd -d "$FAKE_CTDBD_DEBUGLEVEL" \
-                 -s "$ctdbd_socket" -p "$ctdbd_pidfile"
+                 -s "$ctdbd_socket" -p "$ctdbd_pidfile" \
+                 -D "$ctdbd_dbdir"
        export CTDB_SOCKET="$ctdbd_socket"
        # This current translates to a 6 second timeout for the
        # important controls
index 912371552c9eca3ab27f64a345e7ed2987db1dba..f766e9c0e385f5b212e3e6c1958e4d9073ff2e26 100755 (executable)
@@ -22,13 +22,13 @@ EOF
 
 ok <<EOF
 Number of databases:7
-dbid:0x7a19d84d name:locking.tdb path:/var/run/ctdb/DB_DIR/locking.tdb.0 READONLY
-dbid:0x4e66c2b2 name:brlock.tdb path:/var/run/ctdb/DB_DIR/brlock.tdb.0 STICKY
-dbid:0x4d2a432b name:g_lock.tdb path:/var/run/ctdb/DB_DIR/g_lock.tdb.0
-dbid:0x7132c184 name:secrets.tdb path:/var/lib/ctdb/persistent/secrets.tdb.0 PERSISTENT
-dbid:0x6cf2837d name:registry.tdb path:/var/lib/ctdb/persistent/registry.tdb.0 PERSISTENT
-dbid:0xbc57b384 name:ctdb-ip.tdb path:/var/run/ctdb/DB_DIR/ctdb-ip.tdb.0 REPLICATED
-dbid:0xbec75f0b name:ctdb-conn.tdb path:/var/run/ctdb/DB_DIR/ctdb-conn.tdb.0 REPLICATED
+dbid:0x7a19d84d name:locking.tdb path:${ctdbd_dbdir}/locking.tdb READONLY
+dbid:0x4e66c2b2 name:brlock.tdb path:${ctdbd_dbdir}/brlock.tdb STICKY
+dbid:0x4d2a432b name:g_lock.tdb path:${ctdbd_dbdir}/g_lock.tdb
+dbid:0x7132c184 name:secrets.tdb path:${ctdbd_dbdir}/secrets.tdb PERSISTENT
+dbid:0x6cf2837d name:registry.tdb path:${ctdbd_dbdir}/registry.tdb PERSISTENT
+dbid:0xbc57b384 name:ctdb-ip.tdb path:${ctdbd_dbdir}/ctdb-ip.tdb REPLICATED
+dbid:0xbec75f0b name:ctdb-conn.tdb path:${ctdbd_dbdir}/ctdb-conn.tdb REPLICATED
 EOF
 
 simple_test
index 92269d858752c231293cad84408ef4d151383f0b..5a2b79e0b6f6ccf21ad778c3384b4ce520fc7bc0 100755 (executable)
@@ -23,7 +23,7 @@ EOF
 ok <<EOF
 dbid: 0x7a19d84d
 name: locking.tdb
-path: /var/run/ctdb/DB_DIR/locking.tdb.0
+path: ${ctdbd_dbdir}/locking.tdb
 PERSISTENT: no
 REPLICATED: no
 STICKY: no
@@ -35,7 +35,7 @@ simple_test 0x7a19d84d
 ok <<EOF
 dbid: 0x4e66c2b2
 name: brlock.tdb
-path: /var/run/ctdb/DB_DIR/brlock.tdb.0
+path: ${ctdbd_dbdir}/brlock.tdb
 PERSISTENT: no
 REPLICATED: no
 STICKY: yes
@@ -47,7 +47,7 @@ simple_test 0x4e66c2b2
 ok <<EOF
 dbid: 0x4d2a432b
 name: g_lock.tdb
-path: /var/run/ctdb/DB_DIR/g_lock.tdb.0
+path: ${ctdbd_dbdir}/g_lock.tdb
 PERSISTENT: no
 REPLICATED: no
 STICKY: no
@@ -59,7 +59,7 @@ simple_test 0x4d2a432b
 ok <<EOF
 dbid: 0x7132c184
 name: secrets.tdb
-path: /var/lib/ctdb/persistent/secrets.tdb.0
+path: ${ctdbd_dbdir}/secrets.tdb
 PERSISTENT: yes
 REPLICATED: no
 STICKY: no
@@ -71,7 +71,7 @@ simple_test 0x7132c184
 ok <<EOF
 dbid: 0x6cf2837d
 name: registry.tdb
-path: /var/lib/ctdb/persistent/registry.tdb.0
+path: ${ctdbd_dbdir}/registry.tdb
 PERSISTENT: yes
 REPLICATED: no
 STICKY: no
@@ -83,7 +83,7 @@ simple_test 0x6cf2837d
 ok <<EOF
 dbid: 0xbc57b384
 name: ctdb-ip.tdb
-path: /var/run/ctdb/DB_DIR/ctdb-ip.tdb.0
+path: ${ctdbd_dbdir}/ctdb-ip.tdb
 PERSISTENT: no
 REPLICATED: yes
 STICKY: no
@@ -95,7 +95,7 @@ simple_test 0xbc57b384
 ok <<EOF
 dbid: 0xbec75f0b
 name: ctdb-conn.tdb
-path: /var/run/ctdb/DB_DIR/ctdb-conn.tdb.0
+path: ${ctdbd_dbdir}/ctdb-conn.tdb
 PERSISTENT: no
 REPLICATED: yes
 STICKY: no
index ab8e4dacb7e28ba7054df7c184426bcfb969d789..2ff6e7b926cd48e9048c31c23a2cd7aa7ad30f8f 100755 (executable)
@@ -23,7 +23,7 @@ EOF
 ok <<EOF
 dbid: 0x7a19d84d
 name: locking.tdb
-path: /var/run/ctdb/DB_DIR/locking.tdb.1
+path: ${ctdbd_dbdir}/locking.tdb
 PERSISTENT: no
 REPLICATED: no
 STICKY: no
@@ -35,7 +35,7 @@ simple_test locking.tdb -n 1
 ok <<EOF
 dbid: 0x4e66c2b2
 name: brlock.tdb
-path: /var/run/ctdb/DB_DIR/brlock.tdb.1
+path: ${ctdbd_dbdir}/brlock.tdb
 PERSISTENT: no
 REPLICATED: no
 STICKY: yes
@@ -47,7 +47,7 @@ simple_test brlock.tdb -n 1
 ok <<EOF
 dbid: 0x4d2a432b
 name: g_lock.tdb
-path: /var/run/ctdb/DB_DIR/g_lock.tdb.1
+path: ${ctdbd_dbdir}/g_lock.tdb
 PERSISTENT: no
 REPLICATED: no
 STICKY: no
@@ -59,7 +59,7 @@ simple_test g_lock.tdb -n 1
 ok <<EOF
 dbid: 0x7132c184
 name: secrets.tdb
-path: /var/lib/ctdb/persistent/secrets.tdb.1
+path: ${ctdbd_dbdir}/secrets.tdb
 PERSISTENT: yes
 REPLICATED: no
 STICKY: no
@@ -71,7 +71,7 @@ simple_test secrets.tdb -n 1
 ok <<EOF
 dbid: 0x6cf2837d
 name: registry.tdb
-path: /var/lib/ctdb/persistent/registry.tdb.1
+path: ${ctdbd_dbdir}/registry.tdb
 PERSISTENT: yes
 REPLICATED: no
 STICKY: no
@@ -83,7 +83,7 @@ simple_test registry.tdb -n 1
 ok <<EOF
 dbid: 0xbc57b384
 name: ctdb-ip.tdb
-path: /var/run/ctdb/DB_DIR/ctdb-ip.tdb.1
+path: ${ctdbd_dbdir}/ctdb-ip.tdb
 PERSISTENT: no
 REPLICATED: yes
 STICKY: no
@@ -95,7 +95,7 @@ simple_test ctdb-ip.tdb -n 1
 ok <<EOF
 dbid: 0xbec75f0b
 name: ctdb-conn.tdb
-path: /var/run/ctdb/DB_DIR/ctdb-conn.tdb.1
+path: ${ctdbd_dbdir}/ctdb-conn.tdb
 PERSISTENT: no
 REPLICATED: yes
 STICKY: no
index b8cd6ff46df257e214db9cda8418155f790f604d..0a0cfe2c9229b1b227d95983064b134fcdaf6fdf 100755 (executable)
@@ -25,13 +25,13 @@ simple_test 0x7a19d84d
 
 ok <<EOF
 Number of databases:7
-dbid:0x7a19d84d name:locking.tdb path:/var/run/ctdb/DB_DIR/locking.tdb.0 READONLY
-dbid:0x4e66c2b2 name:brlock.tdb path:/var/run/ctdb/DB_DIR/brlock.tdb.0
-dbid:0x4d2a432b name:g_lock.tdb path:/var/run/ctdb/DB_DIR/g_lock.tdb.0
-dbid:0x7132c184 name:secrets.tdb path:/var/lib/ctdb/persistent/secrets.tdb.0 PERSISTENT
-dbid:0x6cf2837d name:registry.tdb path:/var/lib/ctdb/persistent/registry.tdb.0 PERSISTENT
-dbid:0xbc57b384 name:ctdb-ip.tdb path:/var/run/ctdb/DB_DIR/ctdb-ip.tdb.0 REPLICATED
-dbid:0xbec75f0b name:ctdb-conn.tdb path:/var/run/ctdb/DB_DIR/ctdb-conn.tdb.0 REPLICATED
+dbid:0x7a19d84d name:locking.tdb path:${ctdbd_dbdir}/locking.tdb READONLY
+dbid:0x4e66c2b2 name:brlock.tdb path:${ctdbd_dbdir}/brlock.tdb
+dbid:0x4d2a432b name:g_lock.tdb path:${ctdbd_dbdir}/g_lock.tdb
+dbid:0x7132c184 name:secrets.tdb path:${ctdbd_dbdir}/secrets.tdb PERSISTENT
+dbid:0x6cf2837d name:registry.tdb path:${ctdbd_dbdir}/registry.tdb PERSISTENT
+dbid:0xbc57b384 name:ctdb-ip.tdb path:${ctdbd_dbdir}/ctdb-ip.tdb REPLICATED
+dbid:0xbec75f0b name:ctdb-conn.tdb path:${ctdbd_dbdir}/ctdb-conn.tdb REPLICATED
 EOF
 
 simple_test_other getdbmap
@@ -41,13 +41,13 @@ simple_test 0x7a19d84d
 
 ok <<EOF
 Number of databases:7
-dbid:0x7a19d84d name:locking.tdb path:/var/run/ctdb/DB_DIR/locking.tdb.0 READONLY
-dbid:0x4e66c2b2 name:brlock.tdb path:/var/run/ctdb/DB_DIR/brlock.tdb.0
-dbid:0x4d2a432b name:g_lock.tdb path:/var/run/ctdb/DB_DIR/g_lock.tdb.0
-dbid:0x7132c184 name:secrets.tdb path:/var/lib/ctdb/persistent/secrets.tdb.0 PERSISTENT
-dbid:0x6cf2837d name:registry.tdb path:/var/lib/ctdb/persistent/registry.tdb.0 PERSISTENT
-dbid:0xbc57b384 name:ctdb-ip.tdb path:/var/run/ctdb/DB_DIR/ctdb-ip.tdb.0 REPLICATED
-dbid:0xbec75f0b name:ctdb-conn.tdb path:/var/run/ctdb/DB_DIR/ctdb-conn.tdb.0 REPLICATED
+dbid:0x7a19d84d name:locking.tdb path:${ctdbd_dbdir}/locking.tdb READONLY
+dbid:0x4e66c2b2 name:brlock.tdb path:${ctdbd_dbdir}/brlock.tdb
+dbid:0x4d2a432b name:g_lock.tdb path:${ctdbd_dbdir}/g_lock.tdb
+dbid:0x7132c184 name:secrets.tdb path:${ctdbd_dbdir}/secrets.tdb PERSISTENT
+dbid:0x6cf2837d name:registry.tdb path:${ctdbd_dbdir}/registry.tdb PERSISTENT
+dbid:0xbc57b384 name:ctdb-ip.tdb path:${ctdbd_dbdir}/ctdb-ip.tdb REPLICATED
+dbid:0xbec75f0b name:ctdb-conn.tdb path:${ctdbd_dbdir}/ctdb-conn.tdb REPLICATED
 EOF
 
 simple_test_other getdbmap
index 1cb0cc7e1889e588becf8c9bd7fba5175f2dfa4e..246fb60503b245ea25f82278f8f24505afda64d4 100755 (executable)
@@ -25,13 +25,13 @@ simple_test locking.tdb
 
 ok <<EOF
 Number of databases:7
-dbid:0x7a19d84d name:locking.tdb path:/var/run/ctdb/DB_DIR/locking.tdb.0 READONLY
-dbid:0x4e66c2b2 name:brlock.tdb path:/var/run/ctdb/DB_DIR/brlock.tdb.0
-dbid:0x4d2a432b name:g_lock.tdb path:/var/run/ctdb/DB_DIR/g_lock.tdb.0
-dbid:0x7132c184 name:secrets.tdb path:/var/lib/ctdb/persistent/secrets.tdb.0 PERSISTENT
-dbid:0x6cf2837d name:registry.tdb path:/var/lib/ctdb/persistent/registry.tdb.0 PERSISTENT
-dbid:0xbc57b384 name:ctdb-ip.tdb path:/var/run/ctdb/DB_DIR/ctdb-ip.tdb.0 REPLICATED
-dbid:0xbec75f0b name:ctdb-conn.tdb path:/var/run/ctdb/DB_DIR/ctdb-conn.tdb.0 REPLICATED
+dbid:0x7a19d84d name:locking.tdb path:${ctdbd_dbdir}/locking.tdb READONLY
+dbid:0x4e66c2b2 name:brlock.tdb path:${ctdbd_dbdir}/brlock.tdb
+dbid:0x4d2a432b name:g_lock.tdb path:${ctdbd_dbdir}/g_lock.tdb
+dbid:0x7132c184 name:secrets.tdb path:${ctdbd_dbdir}/secrets.tdb PERSISTENT
+dbid:0x6cf2837d name:registry.tdb path:${ctdbd_dbdir}/registry.tdb PERSISTENT
+dbid:0xbc57b384 name:ctdb-ip.tdb path:${ctdbd_dbdir}/ctdb-ip.tdb REPLICATED
+dbid:0xbec75f0b name:ctdb-conn.tdb path:${ctdbd_dbdir}/ctdb-conn.tdb REPLICATED
 EOF
 
 simple_test_other getdbmap
index b6f22fe7e736d3742aa4f20f2b1d3bec0fe06f33..3a11c791c052cd3e088f0e5e97ab34626da7cfc6 100755 (executable)
@@ -27,13 +27,13 @@ simple_test secrets.tdb
 
 ok <<EOF
 Number of databases:7
-dbid:0x7a19d84d name:locking.tdb path:/var/run/ctdb/DB_DIR/locking.tdb.0
-dbid:0x4e66c2b2 name:brlock.tdb path:/var/run/ctdb/DB_DIR/brlock.tdb.0
-dbid:0x4d2a432b name:g_lock.tdb path:/var/run/ctdb/DB_DIR/g_lock.tdb.0
-dbid:0x7132c184 name:secrets.tdb path:/var/lib/ctdb/persistent/secrets.tdb.0 PERSISTENT
-dbid:0x6cf2837d name:registry.tdb path:/var/lib/ctdb/persistent/registry.tdb.0 PERSISTENT
-dbid:0xbc57b384 name:ctdb-ip.tdb path:/var/run/ctdb/DB_DIR/ctdb-ip.tdb.0 REPLICATED
-dbid:0xbec75f0b name:ctdb-conn.tdb path:/var/run/ctdb/DB_DIR/ctdb-conn.tdb.0 REPLICATED
+dbid:0x7a19d84d name:locking.tdb path:${ctdbd_dbdir}/locking.tdb
+dbid:0x4e66c2b2 name:brlock.tdb path:${ctdbd_dbdir}/brlock.tdb
+dbid:0x4d2a432b name:g_lock.tdb path:${ctdbd_dbdir}/g_lock.tdb
+dbid:0x7132c184 name:secrets.tdb path:${ctdbd_dbdir}/secrets.tdb PERSISTENT
+dbid:0x6cf2837d name:registry.tdb path:${ctdbd_dbdir}/registry.tdb PERSISTENT
+dbid:0xbc57b384 name:ctdb-ip.tdb path:${ctdbd_dbdir}/ctdb-ip.tdb REPLICATED
+dbid:0xbec75f0b name:ctdb-conn.tdb path:${ctdbd_dbdir}/ctdb-conn.tdb REPLICATED
 EOF
 
 simple_test_other getdbmap
index f9750402b82ed53982713e720407d6103cb1d877..5d6561dca02c7c9a83308606def545ddf9b33f1d 100755 (executable)
@@ -25,13 +25,13 @@ simple_test locking.tdb
 
 ok <<EOF
 Number of databases:7
-dbid:0x7a19d84d name:locking.tdb path:/var/run/ctdb/DB_DIR/locking.tdb.0 STICKY READONLY
-dbid:0x4e66c2b2 name:brlock.tdb path:/var/run/ctdb/DB_DIR/brlock.tdb.0
-dbid:0x4d2a432b name:g_lock.tdb path:/var/run/ctdb/DB_DIR/g_lock.tdb.0
-dbid:0x7132c184 name:secrets.tdb path:/var/lib/ctdb/persistent/secrets.tdb.0 PERSISTENT
-dbid:0x6cf2837d name:registry.tdb path:/var/lib/ctdb/persistent/registry.tdb.0 PERSISTENT
-dbid:0xbc57b384 name:ctdb-ip.tdb path:/var/run/ctdb/DB_DIR/ctdb-ip.tdb.0 REPLICATED
-dbid:0xbec75f0b name:ctdb-conn.tdb path:/var/run/ctdb/DB_DIR/ctdb-conn.tdb.0 REPLICATED
+dbid:0x7a19d84d name:locking.tdb path:${ctdbd_dbdir}/locking.tdb STICKY READONLY
+dbid:0x4e66c2b2 name:brlock.tdb path:${ctdbd_dbdir}/brlock.tdb
+dbid:0x4d2a432b name:g_lock.tdb path:${ctdbd_dbdir}/g_lock.tdb
+dbid:0x7132c184 name:secrets.tdb path:${ctdbd_dbdir}/secrets.tdb PERSISTENT
+dbid:0x6cf2837d name:registry.tdb path:${ctdbd_dbdir}/registry.tdb PERSISTENT
+dbid:0xbc57b384 name:ctdb-ip.tdb path:${ctdbd_dbdir}/ctdb-ip.tdb REPLICATED
+dbid:0xbec75f0b name:ctdb-conn.tdb path:${ctdbd_dbdir}/ctdb-conn.tdb REPLICATED
 EOF
 
 simple_test_other getdbmap
index 133f716f91f76d6bdb77bed94481611bf4e896db..ae336dd8bacaa2c65f6a3e657ae079308104ec97 100755 (executable)
@@ -27,13 +27,13 @@ simple_test ctdb-ip.tdb
 
 ok <<EOF
 Number of databases:7
-dbid:0x7a19d84d name:locking.tdb path:/var/run/ctdb/DB_DIR/locking.tdb.0
-dbid:0x4e66c2b2 name:brlock.tdb path:/var/run/ctdb/DB_DIR/brlock.tdb.0
-dbid:0x4d2a432b name:g_lock.tdb path:/var/run/ctdb/DB_DIR/g_lock.tdb.0
-dbid:0x7132c184 name:secrets.tdb path:/var/lib/ctdb/persistent/secrets.tdb.0 PERSISTENT
-dbid:0x6cf2837d name:registry.tdb path:/var/lib/ctdb/persistent/registry.tdb.0 PERSISTENT
-dbid:0xbc57b384 name:ctdb-ip.tdb path:/var/run/ctdb/DB_DIR/ctdb-ip.tdb.0 REPLICATED
-dbid:0xbec75f0b name:ctdb-conn.tdb path:/var/run/ctdb/DB_DIR/ctdb-conn.tdb.0 REPLICATED
+dbid:0x7a19d84d name:locking.tdb path:${ctdbd_dbdir}/locking.tdb
+dbid:0x4e66c2b2 name:brlock.tdb path:${ctdbd_dbdir}/brlock.tdb
+dbid:0x4d2a432b name:g_lock.tdb path:${ctdbd_dbdir}/g_lock.tdb
+dbid:0x7132c184 name:secrets.tdb path:${ctdbd_dbdir}/secrets.tdb PERSISTENT
+dbid:0x6cf2837d name:registry.tdb path:${ctdbd_dbdir}/registry.tdb PERSISTENT
+dbid:0xbc57b384 name:ctdb-ip.tdb path:${ctdbd_dbdir}/ctdb-ip.tdb REPLICATED
+dbid:0xbec75f0b name:ctdb-conn.tdb path:${ctdbd_dbdir}/ctdb-conn.tdb REPLICATED
 EOF
 
 simple_test_other getdbmap
index 1b835ad71eb05e15a4288613a3c37e12df0bd85d..28cbfd747b63a90299cc51a056a937bd32e834b3 100755 (executable)
@@ -25,13 +25,13 @@ simple_test 0x4e66c2b2
 
 ok <<EOF
 Number of databases:7
-dbid:0x7a19d84d name:locking.tdb path:/var/run/ctdb/DB_DIR/locking.tdb.0
-dbid:0x4e66c2b2 name:brlock.tdb path:/var/run/ctdb/DB_DIR/brlock.tdb.0 STICKY
-dbid:0x4d2a432b name:g_lock.tdb path:/var/run/ctdb/DB_DIR/g_lock.tdb.0
-dbid:0x7132c184 name:secrets.tdb path:/var/lib/ctdb/persistent/secrets.tdb.0 PERSISTENT
-dbid:0x6cf2837d name:registry.tdb path:/var/lib/ctdb/persistent/registry.tdb.0 PERSISTENT
-dbid:0xbc57b384 name:ctdb-ip.tdb path:/var/run/ctdb/DB_DIR/ctdb-ip.tdb.0 REPLICATED
-dbid:0xbec75f0b name:ctdb-conn.tdb path:/var/run/ctdb/DB_DIR/ctdb-conn.tdb.0 REPLICATED
+dbid:0x7a19d84d name:locking.tdb path:${ctdbd_dbdir}/locking.tdb
+dbid:0x4e66c2b2 name:brlock.tdb path:${ctdbd_dbdir}/brlock.tdb STICKY
+dbid:0x4d2a432b name:g_lock.tdb path:${ctdbd_dbdir}/g_lock.tdb
+dbid:0x7132c184 name:secrets.tdb path:${ctdbd_dbdir}/secrets.tdb PERSISTENT
+dbid:0x6cf2837d name:registry.tdb path:${ctdbd_dbdir}/registry.tdb PERSISTENT
+dbid:0xbc57b384 name:ctdb-ip.tdb path:${ctdbd_dbdir}/ctdb-ip.tdb REPLICATED
+dbid:0xbec75f0b name:ctdb-conn.tdb path:${ctdbd_dbdir}/ctdb-conn.tdb REPLICATED
 EOF
 
 simple_test_other getdbmap
@@ -41,13 +41,13 @@ simple_test 0x4e66c2b2
 
 ok <<EOF
 Number of databases:7
-dbid:0x7a19d84d name:locking.tdb path:/var/run/ctdb/DB_DIR/locking.tdb.0
-dbid:0x4e66c2b2 name:brlock.tdb path:/var/run/ctdb/DB_DIR/brlock.tdb.0 STICKY
-dbid:0x4d2a432b name:g_lock.tdb path:/var/run/ctdb/DB_DIR/g_lock.tdb.0
-dbid:0x7132c184 name:secrets.tdb path:/var/lib/ctdb/persistent/secrets.tdb.0 PERSISTENT
-dbid:0x6cf2837d name:registry.tdb path:/var/lib/ctdb/persistent/registry.tdb.0 PERSISTENT
-dbid:0xbc57b384 name:ctdb-ip.tdb path:/var/run/ctdb/DB_DIR/ctdb-ip.tdb.0 REPLICATED
-dbid:0xbec75f0b name:ctdb-conn.tdb path:/var/run/ctdb/DB_DIR/ctdb-conn.tdb.0 REPLICATED
+dbid:0x7a19d84d name:locking.tdb path:${ctdbd_dbdir}/locking.tdb
+dbid:0x4e66c2b2 name:brlock.tdb path:${ctdbd_dbdir}/brlock.tdb STICKY
+dbid:0x4d2a432b name:g_lock.tdb path:${ctdbd_dbdir}/g_lock.tdb
+dbid:0x7132c184 name:secrets.tdb path:${ctdbd_dbdir}/secrets.tdb PERSISTENT
+dbid:0x6cf2837d name:registry.tdb path:${ctdbd_dbdir}/registry.tdb PERSISTENT
+dbid:0xbc57b384 name:ctdb-ip.tdb path:${ctdbd_dbdir}/ctdb-ip.tdb REPLICATED
+dbid:0xbec75f0b name:ctdb-conn.tdb path:${ctdbd_dbdir}/ctdb-conn.tdb REPLICATED
 EOF
 
 simple_test_other getdbmap
index 7e25862a273befb293415ee830126e77c86531d2..1c39f54b22111a070d5ec9c3b516e898b2e78538 100755 (executable)
@@ -25,13 +25,13 @@ simple_test brlock.tdb
 
 ok <<EOF
 Number of databases:7
-dbid:0x7a19d84d name:locking.tdb path:/var/run/ctdb/DB_DIR/locking.tdb.0
-dbid:0x4e66c2b2 name:brlock.tdb path:/var/run/ctdb/DB_DIR/brlock.tdb.0 STICKY
-dbid:0x4d2a432b name:g_lock.tdb path:/var/run/ctdb/DB_DIR/g_lock.tdb.0
-dbid:0x7132c184 name:secrets.tdb path:/var/lib/ctdb/persistent/secrets.tdb.0 PERSISTENT
-dbid:0x6cf2837d name:registry.tdb path:/var/lib/ctdb/persistent/registry.tdb.0 PERSISTENT
-dbid:0xbc57b384 name:ctdb-ip.tdb path:/var/run/ctdb/DB_DIR/ctdb-ip.tdb.0 REPLICATED
-dbid:0xbec75f0b name:ctdb-conn.tdb path:/var/run/ctdb/DB_DIR/ctdb-conn.tdb.0 REPLICATED
+dbid:0x7a19d84d name:locking.tdb path:${ctdbd_dbdir}/locking.tdb
+dbid:0x4e66c2b2 name:brlock.tdb path:${ctdbd_dbdir}/brlock.tdb STICKY
+dbid:0x4d2a432b name:g_lock.tdb path:${ctdbd_dbdir}/g_lock.tdb
+dbid:0x7132c184 name:secrets.tdb path:${ctdbd_dbdir}/secrets.tdb PERSISTENT
+dbid:0x6cf2837d name:registry.tdb path:${ctdbd_dbdir}/registry.tdb PERSISTENT
+dbid:0xbc57b384 name:ctdb-ip.tdb path:${ctdbd_dbdir}/ctdb-ip.tdb REPLICATED
+dbid:0xbec75f0b name:ctdb-conn.tdb path:${ctdbd_dbdir}/ctdb-conn.tdb REPLICATED
 EOF
 
 simple_test_other getdbmap
index 26f5542b678def1fd621e5b7987d987f676fd48c..206fed94fd350bf0dec56f783ff399c1a82422f4 100755 (executable)
@@ -27,13 +27,13 @@ simple_test secrets.tdb
 
 ok <<EOF
 Number of databases:7
-dbid:0x7a19d84d name:locking.tdb path:/var/run/ctdb/DB_DIR/locking.tdb.0
-dbid:0x4e66c2b2 name:brlock.tdb path:/var/run/ctdb/DB_DIR/brlock.tdb.0
-dbid:0x4d2a432b name:g_lock.tdb path:/var/run/ctdb/DB_DIR/g_lock.tdb.0
-dbid:0x7132c184 name:secrets.tdb path:/var/lib/ctdb/persistent/secrets.tdb.0 PERSISTENT
-dbid:0x6cf2837d name:registry.tdb path:/var/lib/ctdb/persistent/registry.tdb.0 PERSISTENT
-dbid:0xbc57b384 name:ctdb-ip.tdb path:/var/run/ctdb/DB_DIR/ctdb-ip.tdb.0 REPLICATED
-dbid:0xbec75f0b name:ctdb-conn.tdb path:/var/run/ctdb/DB_DIR/ctdb-conn.tdb.0 REPLICATED
+dbid:0x7a19d84d name:locking.tdb path:${ctdbd_dbdir}/locking.tdb
+dbid:0x4e66c2b2 name:brlock.tdb path:${ctdbd_dbdir}/brlock.tdb
+dbid:0x4d2a432b name:g_lock.tdb path:${ctdbd_dbdir}/g_lock.tdb
+dbid:0x7132c184 name:secrets.tdb path:${ctdbd_dbdir}/secrets.tdb PERSISTENT
+dbid:0x6cf2837d name:registry.tdb path:${ctdbd_dbdir}/registry.tdb PERSISTENT
+dbid:0xbc57b384 name:ctdb-ip.tdb path:${ctdbd_dbdir}/ctdb-ip.tdb REPLICATED
+dbid:0xbec75f0b name:ctdb-conn.tdb path:${ctdbd_dbdir}/ctdb-conn.tdb REPLICATED
 EOF
 
 simple_test_other getdbmap
index 20ea3e2fc4035f9978fd173a246a0a723b2f757e..a322a57b92339acf0f6441b6f4eb261b1cca4abd 100755 (executable)
@@ -25,13 +25,13 @@ simple_test brlock.tdb
 
 ok <<EOF
 Number of databases:7
-dbid:0x7a19d84d name:locking.tdb path:/var/run/ctdb/DB_DIR/locking.tdb.0
-dbid:0x4e66c2b2 name:brlock.tdb path:/var/run/ctdb/DB_DIR/brlock.tdb.0 STICKY READONLY
-dbid:0x4d2a432b name:g_lock.tdb path:/var/run/ctdb/DB_DIR/g_lock.tdb.0
-dbid:0x7132c184 name:secrets.tdb path:/var/lib/ctdb/persistent/secrets.tdb.0 PERSISTENT
-dbid:0x6cf2837d name:registry.tdb path:/var/lib/ctdb/persistent/registry.tdb.0 PERSISTENT
-dbid:0xbc57b384 name:ctdb-ip.tdb path:/var/run/ctdb/DB_DIR/ctdb-ip.tdb.0 REPLICATED
-dbid:0xbec75f0b name:ctdb-conn.tdb path:/var/run/ctdb/DB_DIR/ctdb-conn.tdb.0 REPLICATED
+dbid:0x7a19d84d name:locking.tdb path:${ctdbd_dbdir}/locking.tdb
+dbid:0x4e66c2b2 name:brlock.tdb path:${ctdbd_dbdir}/brlock.tdb STICKY READONLY
+dbid:0x4d2a432b name:g_lock.tdb path:${ctdbd_dbdir}/g_lock.tdb
+dbid:0x7132c184 name:secrets.tdb path:${ctdbd_dbdir}/secrets.tdb PERSISTENT
+dbid:0x6cf2837d name:registry.tdb path:${ctdbd_dbdir}/registry.tdb PERSISTENT
+dbid:0xbc57b384 name:ctdb-ip.tdb path:${ctdbd_dbdir}/ctdb-ip.tdb REPLICATED
+dbid:0xbec75f0b name:ctdb-conn.tdb path:${ctdbd_dbdir}/ctdb-conn.tdb REPLICATED
 EOF
 
 simple_test_other getdbmap
index 41da1100bec0e28c5b675e496c0e9b8b11c62faf..9a9bec1bd58b1a74e7a322091c9c2000df1f07ac 100755 (executable)
@@ -27,13 +27,13 @@ simple_test ctdb-ip.tdb
 
 ok <<EOF
 Number of databases:7
-dbid:0x7a19d84d name:locking.tdb path:/var/run/ctdb/DB_DIR/locking.tdb.0
-dbid:0x4e66c2b2 name:brlock.tdb path:/var/run/ctdb/DB_DIR/brlock.tdb.0
-dbid:0x4d2a432b name:g_lock.tdb path:/var/run/ctdb/DB_DIR/g_lock.tdb.0
-dbid:0x7132c184 name:secrets.tdb path:/var/lib/ctdb/persistent/secrets.tdb.0 PERSISTENT
-dbid:0x6cf2837d name:registry.tdb path:/var/lib/ctdb/persistent/registry.tdb.0 PERSISTENT
-dbid:0xbc57b384 name:ctdb-ip.tdb path:/var/run/ctdb/DB_DIR/ctdb-ip.tdb.0 REPLICATED
-dbid:0xbec75f0b name:ctdb-conn.tdb path:/var/run/ctdb/DB_DIR/ctdb-conn.tdb.0 REPLICATED
+dbid:0x7a19d84d name:locking.tdb path:${ctdbd_dbdir}/locking.tdb
+dbid:0x4e66c2b2 name:brlock.tdb path:${ctdbd_dbdir}/brlock.tdb
+dbid:0x4d2a432b name:g_lock.tdb path:${ctdbd_dbdir}/g_lock.tdb
+dbid:0x7132c184 name:secrets.tdb path:${ctdbd_dbdir}/secrets.tdb PERSISTENT
+dbid:0x6cf2837d name:registry.tdb path:${ctdbd_dbdir}/registry.tdb PERSISTENT
+dbid:0xbc57b384 name:ctdb-ip.tdb path:${ctdbd_dbdir}/ctdb-ip.tdb REPLICATED
+dbid:0xbec75f0b name:ctdb-conn.tdb path:${ctdbd_dbdir}/ctdb-conn.tdb REPLICATED
 EOF
 
 simple_test_other getdbmap
index 0d86eca49cc379cbb27432b3b5d1f41918439a34..5be8d1a9628e78bc6f7d1d614b56df717b6e94ce 100644 (file)
@@ -13,6 +13,7 @@ fi
 
 ctdbd_socket="${CTDB_BASE}/ctdbd.socket"
 ctdbd_pidfile="${CTDB_BASE}/ctdbd.pid"
+ctdbd_dbdir="${CTDB_BASE}/ctdbd.db"
 
 define_test ()
 {
@@ -48,14 +49,17 @@ cleanup_ctdbd ()
                rm -f "$ctdbd_pidfile"
        fi
        rm -f "$ctdbd_socket"
+       rm -rf "$ctdbd_dbdir"
 }
 
 setup_ctdbd ()
 {
        echo "Setting up fake ctdbd"
 
+       mkdir -p "$ctdbd_dbdir"
        $VALGRIND fake_ctdbd -d "$FAKE_CTDBD_DEBUGLEVEL" \
-                 -s "$ctdbd_socket" -p "$ctdbd_pidfile"
+                 -s "$ctdbd_socket" -p "$ctdbd_pidfile" \
+                 -D "$ctdbd_dbdir"
        # Wait till fake_ctdbd is running
        wait_until 10 test -S "$ctdbd_socket" || \
                die "fake_ctdbd failed to start"