selftest: export/use CTDB related envvars in order to run the ctdb command
authorStefan Metzmacher <metze@samba.org>
Fri, 17 Nov 2023 10:45:30 +0000 (11:45 +0100)
committerJule Anger <janger@samba.org>
Sat, 16 Dec 2023 15:07:15 +0000 (15:07 +0000)
This makes it easier to test things...

BUG: https://bugzilla.samba.org/show_bug.cgi?id=15523

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Martin Schwenke <martin@meltin.net>
(cherry picked from commit 38b74d4ca9a59e7f12850c20c410f9df26cbad0a)

selftest/target/Samba.pm
selftest/target/Samba3.pm
source3/selftest/tests.py

index e4bd6a0d5d2eeec1c30dbb04249475a995f3f2ee..52fce41f96fc210fb5e588c8578d346e6db71ab5 100644 (file)
@@ -982,6 +982,25 @@ my @exported_envvars = (
        # resolv_wrapper
        "RESOLV_WRAPPER_CONF",
        "RESOLV_WRAPPER_HOSTS",
+
+       # ctdb stuff
+       "NUM_NODES",
+       "CTDB_BASE",
+       "CTDB_SOCKET",
+       "CTDB_SERVER_NAME",
+       "CTDB_IFACE_IP",
+       "CTDB_BASE_NODE0",
+       "CTDB_SOCKET_NODE0",
+       "CTDB_SERVER_NAME_NODE0",
+       "CTDB_IFACE_IP_NODE0",
+       "CTDB_BASE_NODE1",
+       "CTDB_SOCKET_NODE1",
+       "CTDB_SERVER_NAME_NODE1",
+       "CTDB_IFACE_IP_NODE1",
+       "CTDB_BASE_NODE2",
+       "CTDB_SOCKET_NODE2",
+       "CTDB_SERVER_NAME_NODE2",
+       "CTDB_IFACE_IP_NODE2",
 );
 
 sub exported_envvars_str
index 2c69993c56ad0884ef8430d35b920d11480b3489..44ac4a5901aafeeb842c646e53cea848d438ec24 100755 (executable)
@@ -527,8 +527,8 @@ sub setup_clusteredmember
                my $pub_iface = $node->{SOCKET_WRAPPER_DEFAULT_IFACE};
                my $node_prefix = $node->{NODE_PREFIX};
 
-               print "NODE_PREFIX=${node_prefix}\n";
-               print "SOCKET=${socket}\n";
+               print "CTDB_BASE=${node_prefix}\n";
+               print "CTDB_SOCKET=${socket}\n";
 
                my $require_mutexes = "dbwrap_tdb_require_mutexes:* = yes";
                if ($ENV{SELFTEST_DONT_REQUIRE_TDB_MUTEX_SUPPORT} // '' eq "1") {
@@ -4158,6 +4158,24 @@ sub provision_ctdb($$$$)
        $ret{CTDB_NODES} = \@nodes;
        $ret{CTDB_NODES_FILE} = $nodes_file;
 
+       for (my $i = 0; $i < $num_nodes; $i++) {
+               my $node = $nodes[$i];
+               my $socket = $node->{SOCKET_FILE};
+               my $server_name = $node->{SERVER_NAME};
+               my $node_prefix = $node->{NODE_PREFIX};
+               my $ip = $node->{IP};
+
+               $ret{"CTDB_BASE_NODE${i}"} = $node_prefix;
+               $ret{"CTDB_SOCKET_NODE${i}"} = $socket;
+               $ret{"CTDB_SERVER_NAME_NODE${i}"} = $server_name;
+               $ret{"CTDB_IFACE_IP_NODE${i}"} = $ip;
+       }
+
+       $ret{CTDB_BASE} = $ret{CTDB_BASE_NODE0};
+       $ret{CTDB_SOCKET} = $ret{CTDB_SOCKET_NODE0};
+       $ret{CTDB_SERVER_NAME} = $ret{CTDB_SERVER_NAME_NODE0};
+       $ret{CTDB_IFACE_IP} = $ret{CTDB_IFACE_IP_NODE0};
+
        return \%ret;
 }
 
index 973384f8c53b8b65423a18525a441e6613da1e68..43aee837e023dd84aea0823a7e6c350467cc807b 100755 (executable)
@@ -1661,7 +1661,7 @@ if have_cluster_support:
                   [os.path.join(samba3srcdir,
                                 "script/tests/test_smbXsrv_client_cross_node.sh"),
                    configuration,
-                   'ctdb0', 'ctdb1',
+                   '$CTDB_SERVER_NAME_NODE0', '$CTDB_SERVER_NAME_NODE1',
                    "tmp"])
     plantestsuite("samba3.blackbox.registry_share", "clusteredmember",
                   [os.path.join(samba3srcdir,