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 14:29:10 +0000 (14:29 +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 4f0f29df5cf99e4cc12d0e1a6cf64c831069024e..a2018a040587cb256081f5ff2dd38197606c12ae 100644 (file)
@@ -971,6 +971,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 fb581451801789f5cc22fcdbf367719ac0d1e5a3..60775433de267c164b416c11746cb64c8a1a03f9 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") {
@@ -4120,6 +4120,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 2c8336d35e87df1801ae6458bf5a96329229dc9b..adea6096c030bc35b18731fbae53b6843ccd969d 100755 (executable)
@@ -1631,7 +1631,7 @@ plantestsuite("samba3.blackbox.smbXsrv_client_cross_node", "clusteredmember:loca
               [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,