This is an automated email from the ASF dual-hosted git repository.
nanda pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ozone.git
The following commit(s) were added to refs/heads/master by this push:
new 488c4765ff HDDS-9261. SCM Decommissioning Robot tests improvement.
(#5269)
488c4765ff is described below
commit 488c4765ff15f11b8cd09d0a45873d82df373d72
Author: Pratyush Bhatt <[email protected]>
AuthorDate: Tue Oct 10 19:58:49 2023 +0530
HDDS-9261. SCM Decommissioning Robot tests improvement. (#5269)
---
.../disabled-test-root-ca-rotation.sh | 4 +-
.../main/smoketest/scmha/scm-decommission.robot | 66 +++++++++++++++-------
2 files changed, 49 insertions(+), 21 deletions(-)
diff --git
a/hadoop-ozone/dist/src/main/compose/ozonesecure-ha/disabled-test-root-ca-rotation.sh
b/hadoop-ozone/dist/src/main/compose/ozonesecure-ha/disabled-test-root-ca-rotation.sh
index b1a9e52857..c8138d8923 100755
---
a/hadoop-ozone/dist/src/main/compose/ozonesecure-ha/disabled-test-root-ca-rotation.sh
+++
b/hadoop-ozone/dist/src/main/compose/ozonesecure-ha/disabled-test-root-ca-rotation.sh
@@ -86,8 +86,8 @@ execute_robot_test scm4.org -v "TARGET_SCM:scm3.org"
scmha/scm-leader-transfer.
# wait for next root CA rotation
wait_for_execute_command scm3.org 240 "ozone admin cert info 5"
-#decomission scm1.org
-execute_robot_test scm3.org scmha/scm-decommission.robot
+#decomission scm3.org
+execute_robot_test scm1.org scmha/scm-decommission.robot
# check the metrics
execute_robot_test scm2.org scmha/root-ca-rotation.robot
diff --git a/hadoop-ozone/dist/src/main/smoketest/scmha/scm-decommission.robot
b/hadoop-ozone/dist/src/main/smoketest/scmha/scm-decommission.robot
index 49ce16b233..67f0666a58 100644
--- a/hadoop-ozone/dist/src/main/smoketest/scmha/scm-decommission.robot
+++ b/hadoop-ozone/dist/src/main/smoketest/scmha/scm-decommission.robot
@@ -14,47 +14,75 @@
# limitations under the License.
*** Settings ***
-Documentation Smoketest ozone cluster startup
+Documentation Test Ozone SCM Decommissioning
Library OperatingSystem
Library BuiltIn
Resource ../commonlib.robot
Test Timeout 5 minutes
*** Variables ***
+${VOLUME} decom-volume
+${BUCKET} decom-bucket
+${TESTFILE} testfiledecomm
+
+*** Keywords ***
+Create volume bucket and put key
+ Execute ozone sh volume create /${VOLUME}
+ Execute ozone sh bucket create /${VOLUME}/${BUCKET}
+ Create File /tmp/${TESTFILE}
+ Execute echo "This is a decommissioning test" >
/tmp/${TESTFILE}
+ ${md5sum} = Execute md5sum /tmp/${TESTFILE} | awk '{print
$1}'
+ Execute ozone sh key put /${VOLUME}/${BUCKET}/${TESTFILE}
/tmp/${TESTFILE}
+ [Return] ${md5sum}
+
+Get Primordial SCM ID
+ ${result} = Execute ozone admin scm roles
--service-id=scmservice
+ ${primordial_node} = Get Lines Matching Pattern ${result}
scm[1234].org:9894:LEADER*
+ ${primordial_split} = Split String ${primordial_node}
:
+ ${primordial_scmId} = Strip String ${primordial_split[3]}
+ [Return] ${primordial_scmId}
+
+Get SCM Node count
+ ${result} = Execute ozone admin scm roles
--service-id=scmservice
+ ${nodes_in_quorum} = Get Lines Matching Pattern
${result} scm[1234].org:9894:*
+ ${node_count} = Get Line Count ${nodes_in_quorum}
+ [Return] ${node_count}
-** Keywords ***
-*** Test Cases ***
Transfer Leader to non-primordial node Follower
${result} = Execute ozone admin scm roles
--service-id=scmservice
LOG ${result}
- ${follower_nodes} = Get Lines Matching Pattern
${result} scm[23].org:9894:FOLLOWER*
- ${follower_node} = Get Line ${follower_nodes} 0
- ${follower_split} = Split String ${follower_node} :
+ ${follower_nodes} = Get Lines Matching Pattern
${result} scm[1234].org:9894:FOLLOWER*
+ ${follower_node} = Get Line ${follower_nodes} 0
+ ${follower_split} = Split String ${follower_node} :
${follower_scmId} = Strip String ${follower_split[3]}
${result} = Execute ozone admin scm transfer
--service-id=scmservice -n ${follower_scmId}
LOG ${result}
- Should Contain ${result}
Transfer leadership successfully
+ [Return] ${result}
+*** Test Cases ***
Decommission SCM Primordial Node
- ${result} = Execute ozone admin scm roles
--service-id=scmservice
- ${nodes_in_quorum} = Get Lines Matching Pattern
${result} scm[1234].org:9894:*
- ${node_count} = Get Line Count ${nodes_in_quorum}
+ ${primordial_scm_id} = Get Primordial SCM ID
+ LOG Primordial scm id :
${primordial_scm_id}
+ ${decomm_output} = Execute And Ignore Error ozone admin scm
decommission --nodeid=${primordial_scm_id}
+ LOG ${decomm_output}
+ Should Contain ${decomm_output}
Cannot remove current leader
+ ${md5sum} = Create volume bucket and put key
+ ${transfer_result} = Transfer Leader to non-primordial node Follower
+ Should Contain ${transfer_result}
Transfer leadership successfully
+ ${node_count} = Get SCM Node count
${node_count_pre} = Convert to String ${node_count}
${n} = Evaluate ${node_count}-1
${node_count_expect} = Convert to String ${n}
LOG SCM Instance Count before
SCM Decommission: ${node_count_pre}
- ${primordial_node} = Get Lines Containing String
${result} scm1
- ${primordial_split} = Split String ${primordial_node} :
- ${primordial_scmId} = Strip String ${primordial_split[3]}
- ${decommission_res} = Execute ozone admin scm
decommission --nodeid=${primordial_scmId}
+ ${decommission_res} = Execute ozone admin scm
decommission --nodeid=${primordial_scm_id}
LOG ${decommission_res}
Should Contain ${decommission_res}
Decommissioned
- ${result} = Execute ozone admin scm roles
--service-id=scmservice
- ${nodes_in_quorum} = Get Lines Matching Pattern
${result} scm[1234].org:9894:*
- ${node_count} = Get Line Count ${nodes_in_quorum}
+ ${node_count} = Get SCM Node count
${node_count_post} = Convert to String ${node_count}
LOG SCM Instance Count after
SCM Decommission: ${node_count_post}
- Should be Equal ${node_count_expect}
${node_count_post}
-
+ Should be Equal ${node_count_expect}
${node_count_post}
+ Execute ozone sh key get /${VOLUME}/${BUCKET}/${TESTFILE}
/tmp/getdecomfile
+ ${md5sum_new} = Execute md5sum /tmp/getdecomfile |
awk '{print $1}'
+ Should be Equal ${md5sum}
${md5sum_new}
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]