Skip to content

Commit fed5d74

Browse files
e2e: enable "TestSingleNodeFailure" on k8s
1 parent 6b079e7 commit fed5d74

File tree

5 files changed

+11
-21
lines changed

5 files changed

+11
-21
lines changed

.github/workflows/k8s-e2e.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -223,8 +223,8 @@ jobs:
223223
- name: Install Helm Chart for spdk-csi
224224
run: |
225225
cd $GITHUB_WORKSPACE/spdk-csi/charts/latest/spdk-csi/
226-
echo "Sleeping for 120 seconds before helm install"
227-
sleep 120
226+
echo "Sleeping for 30 seconds before helm install"
227+
sleep 30
228228
helm install spdk-csi ./ \
229229
--namespace spdk-csi \
230230
--create-namespace \

e2e/__init__.py

-2
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,4 @@ def get_all_tests(custom=True, k8s_test=False):
3434
tests.remove(TestLvolFioNpcs0)
3535
tests.remove(TestLvolFioNpcs1)
3636
tests.remove(TestLvolFioNpcs2)
37-
if k8s_test:
38-
tests.remove(TestSingleNodeFailure)
3937
return tests

e2e/e2e_tests/ha_journal/lvol_journal_device_node_restart.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -262,7 +262,7 @@ def run(self):
262262
# Step 13: Ungracefully stop node 1 (container shutdown)
263263
self.logger.info("Stopping container on node 1 (ungraceful shutdown).")
264264
node_ip = self.journal_manager.sn_journal_map[self.lvol_sn_node]['primary_journal'][1]
265-
self.ssh_obj.stop_docker_containers(node_ip, "spdk")
265+
self.ssh_obj.stop_spdk_process(node_ip)
266266
self.sbcli_utils.wait_for_storage_node_status(self.lvol_sn_node,
267267
"unreachable",
268268
timeout=300)
@@ -377,7 +377,7 @@ def stop_and_restart_based_on_journals(self):
377377
# Step 5: Force stop the node with secondary journal 2
378378
secondary_node_2 = self.extract_node_from_journal(secondary_journal_2[0])
379379
self.logger.info(f"Forcefully stopping node: {secondary_node_2} (secondary journal 2)")
380-
self.ssh_obj.stop_docker_containers(node=secondary_journal_2[1], container_name="spdk")
380+
self.ssh_obj.stop_spdk_process(node=secondary_journal_2[1])
381381
sleep_n_sec(420)
382382

383383
self.sbcli_utils.restart_node(node_uuid=secondary_node_2)

e2e/e2e_tests/single_node_failure.py

+3-7
Original file line numberDiff line numberDiff line change
@@ -110,18 +110,14 @@ def run(self):
110110
)
111111

112112
sleep_n_sec(30)
113-
if not self.k8s_test:
114-
self.ssh_obj.stop_docker_containers(node=node_ip, container_name="spdk")
115-
else:
116-
# TODO: Add K8s deployment delete step
117-
pass
118-
113+
self.ssh_obj.stop_spdk_process(node=node_ip)
114+
119115
try:
120116
self.logger.info(f"Waiting for node to become offline/unreachable, {no_lvol_node_uuid}")
121117
self.sbcli_utils.wait_for_storage_node_status(no_lvol_node_uuid,
122118
["unreachable", "offline"],
123119
timeout=500)
124-
sleep_n_sec(30)
120+
# sleep_n_sec(30)
125121
# self.validations(node_uuid=no_lvol_node_uuid,
126122
# node_status=["offline", "in_shutdown", "in_restart"],
127123
# # The status changes between them very quickly hence

e2e/utils/ssh_utils.py

+4-8
Original file line numberDiff line numberDiff line change
@@ -340,18 +340,14 @@ def list_files(self, node, location):
340340
output, error = self.exec_command(node=node, command=cmd)
341341
return output
342342

343-
def stop_docker_containers(self, node, container_name=None):
344-
"""Stops given docker container. Stops all if no name is given
343+
def stop_spdk_process(self, node):
344+
"""Stops spdk process
345345
346346
Args:
347347
node (str): Node IP
348-
container_name (str): Name of container to stop
349348
"""
350-
if container_name:
351-
cmd = f"sudo docker stop {container_name}"
352-
else:
353-
cmd = "sudo docker stop $(sudo docker ps -a -q)"
354-
349+
350+
cmd = "curl 0.0.0.0:5000/snode/spdk_process_kill"
355351
output, error = self.exec_command(node=node, command=cmd)
356352
return output
357353

0 commit comments

Comments
 (0)