From 0692e138adc92dd36dcbb68ef7c1515fa101a4d4 Mon Sep 17 00:00:00 2001 From: Philip O'Toole Date: Mon, 20 Nov 2023 08:46:48 -0500 Subject: [PATCH] Update E2E for Raft port join --- system_test/e2e/helpers.py | 6 ++---- system_test/e2e/joining.py | 30 +++++++++++++++--------------- system_test/e2e/multi_node.py | 4 ++-- system_test/e2e/multi_node_adv.py | 8 ++++---- 4 files changed, 23 insertions(+), 25 deletions(-) diff --git a/system_test/e2e/helpers.py b/system_test/e2e/helpers.py index f7d624fb..26a6bef0 100644 --- a/system_test/e2e/helpers.py +++ b/system_test/e2e/helpers.py @@ -165,7 +165,7 @@ class Node(object): if self.raft_adv is None: self.raft_adv = self.raft_addr - def start(self, join=None, join_as=None, join_attempts=None, join_interval=None, + def start(self, join=None, join_attempts=None, join_interval=None, disco_mode=None, disco_key=None, disco_config=None, wait=True, timeout=TIMEOUT): if self.process is not None: return @@ -199,8 +199,6 @@ class Node(object): command += ['-auto-restore', self.auto_restore] if join is not None: command += ['-join', join] - if join_as is not None: - command += ['-join-as', join_as] if join_attempts is not None: command += ['-join-attempts', str(join_attempts)] if join_interval is not None: @@ -352,7 +350,7 @@ class Node(object): return int(self.status()['store']['raft']['last_snapshot_index']) def num_join_requests(self): - return int(self.expvar()['http']['joins']) + return int(self.expvar()['cluster']['num_join_req']) def num_snapshots(self): return int(self.expvar()['store']['num_snapshots']) diff --git a/system_test/e2e/joining.py b/system_test/e2e/joining.py index 19ced8b4..87100002 100644 --- a/system_test/e2e/joining.py +++ b/system_test/e2e/joining.py @@ -26,7 +26,7 @@ class TestJoinEncryptedNoVerify(unittest.TestCase): n0.wait_for_leader() n1 = Node(RQLITED_PATH, '1', node_cert=certFile, node_key=keyFile, node_no_verify=False) - n1.start(join=n0.APIAddr()) + n1.start(join=n0.RaftAddr()) self.assertRaises(Exception, n1.wait_for_leader) # Join should fail due to bad cert. deprovision_node(n0) @@ -70,18 +70,18 @@ class TestIdempotentJoin(unittest.TestCase): self.n0.wait_for_leader() self.n1 = Node(RQLITED_PATH, '1') - self.n1.start(join=self.n0.APIAddr()) + self.n1.start(join=self.n0.RaftAddr()) self.n1.wait_for_leader() self.assertEqual(self.n0.num_join_requests(), 1) self.n1.stop() - self.n1.start(join=self.n0.APIAddr()) + self.n1.start(join=self.n0.RaftAddr()) self.n1.wait_for_leader() self.assertEqual(self.n0.num_join_requests(), 2) -class TestRedirectedJoin(unittest.TestCase): +class TestForwardedJoin(unittest.TestCase): def tearDown(self): deprovision_node(self.n0) deprovision_node(self.n1) @@ -94,29 +94,29 @@ class TestRedirectedJoin(unittest.TestCase): l0 = self.n0.wait_for_leader() self.n1 = Node(RQLITED_PATH, '1') - self.n1.start(join=self.n0.APIAddr()) + self.n1.start(join=self.n0.RaftAddr()) self.n1.wait_for_leader() self.assertTrue(self.n1.is_follower()) self.n2 = Node(RQLITED_PATH, '2') - self.n2.start(join=self.n1.APIAddr()) + self.n2.start(join=self.n1.RaftAddr()) l2 = self.n2.wait_for_leader() self.assertEqual(l0, l2) - def test_api_adv(self): - '''Test that a node can join via a follower that advertises a different API address''' + def test_raft_adv(self): + '''Test that a node can join via a follower that advertises a different Raft address''' self.n0 = Node(RQLITED_PATH, '0', - api_addr="0.0.0.0:4001", api_adv="localhost:4001") + raft_addr="0.0.0.0:4002", raft_adv="localhost:4002") self.n0.start() l0 = self.n0.wait_for_leader() self.n1 = Node(RQLITED_PATH, '1') - self.n1.start(join=self.n0.APIAddr()) + self.n1.start(join=self.n0.RaftAddr()) self.n1.wait_for_leader() self.assertTrue(self.n1.is_follower()) self.n2 = Node(RQLITED_PATH, '2') - self.n2.start(join=self.n1.APIAddr()) + self.n2.start(join=self.n1.RaftAddr()) l2 = self.n2.wait_for_leader() self.assertEqual(l0, l2) @@ -127,11 +127,11 @@ class TestJoinCatchup(unittest.TestCase): self.n0.wait_for_leader() self.n1 = Node(RQLITED_PATH, '1') - self.n1.start(join=self.n0.APIAddr()) + self.n1.start(join=self.n0.RaftAddr()) self.n1.wait_for_leader() self.n2 = Node(RQLITED_PATH, '2') - self.n2.start(join=self.n0.APIAddr()) + self.n2.start(join=self.n0.RaftAddr()) self.n2.wait_for_leader() self.cluster = Cluster([self.n0, self.n1, self.n2]) @@ -164,7 +164,7 @@ class TestJoinCatchup(unittest.TestCase): applied = n0.wait_for_all_fsm() # Restart follower, explicity rejoin, and ensure it picks up new records - self.n1.start(join=self.n0.APIAddr()) + self.n1.start(join=self.n0.RaftAddr()) self.n1.wait_for_leader() self.n1.wait_for_fsm_index(applied) self.assertEqual(n0.expvar()['store']['num_ignored_joins'], 1) @@ -197,7 +197,7 @@ class TestJoinCatchup(unittest.TestCase): # Restart follower with new network attributes, explicity rejoin, and ensure it picks up new records self.n1.scramble_network() - self.n1.start(join=self.n0.APIAddr()) + self.n1.start(join=self.n0.RaftAddr()) self.n1.wait_for_leader() self.assertEqual(n0.expvar()['store']['num_removed_before_joins'], 1) self.n1.wait_for_fsm_index(applied) diff --git a/system_test/e2e/multi_node.py b/system_test/e2e/multi_node.py index 5cc419c9..5731122e 100644 --- a/system_test/e2e/multi_node.py +++ b/system_test/e2e/multi_node.py @@ -24,11 +24,11 @@ class TestEndToEnd(unittest.TestCase): n0.wait_for_leader() n1 = Node(RQLITED_PATH, '1') - n1.start(join=n0.APIAddr()) + n1.start(join=n0.RaftAddr()) n1.wait_for_leader() n2 = Node(RQLITED_PATH, '2') - n2.start(join=n0.APIAddr()) + n2.start(join=n0.RaftAddr()) n2.wait_for_leader() self.cluster = Cluster([n0, n1, n2]) diff --git a/system_test/e2e/multi_node_adv.py b/system_test/e2e/multi_node_adv.py index 9db6bb7b..3fafca70 100644 --- a/system_test/e2e/multi_node_adv.py +++ b/system_test/e2e/multi_node_adv.py @@ -24,11 +24,11 @@ class TestEndToEndAdvAddr(TestEndToEnd): n0.wait_for_leader() n1 = Node(RQLITED_PATH, '1') - n1.start(join=n0.APIAddr()) + n1.start(join=n0.RaftAddr()) n1.wait_for_leader() n2 = Node(RQLITED_PATH, '2') - n2.start(join=n0.APIAddr()) + n2.start(join=n0.RaftAddr()) n2.wait_for_leader() self.cluster = Cluster([n0, n1, n2]) @@ -46,11 +46,11 @@ class TestEndToEndAdvAddrEncryptedNode(TestEndToEnd): n0.wait_for_leader() n1 = Node(RQLITED_PATH, '1', node_cert=certFile, node_key=keyFile, node_no_verify=True) - n1.start(join=n0.APIAddr()) + n1.start(join=n0.RaftAddr()) n1.wait_for_leader() n2 = Node(RQLITED_PATH, '2', node_cert=certFile, node_key=keyFile, node_no_verify=True) - n2.start(join=n0.APIAddr()) + n2.start(join=n0.RaftAddr()) n2.wait_for_leader() self.cluster = Cluster([n0, n1, n2])