diff --git a/robot-systest/lib/advanced_cluster_mgmt_lib.resource b/robot-systest/lib/advanced_cluster_mgmt_lib.resource
index dc1621d..23b3c02 100644
--- a/robot-systest/lib/advanced_cluster_mgmt_lib.resource
+++ b/robot-systest/lib/advanced_cluster_mgmt_lib.resource
@@ -25,6 +25,8 @@
 ${SUCCESS_RETURN_CODE}   0
 ${CLUSTER_LAUNCH_MAX_WAIT_TIME}   12min
 ${CLUSTER_LAUNCH_POL_TIME}   30sec
+${CLUSTER_REGISTER_MAX_WAIT_TIME}   7min
+${CLUSTER_REGISTER_POL_TIME}   30sec
 ${CLUSTER_DELETE_MAX_WAIT_TIME}   12min
 ${CLUSTER_DELETE_POL_TIME}   30sec
 ${OKA_OPERATION_MAX_WAIT_TIME}   5min
@@ -55,6 +57,31 @@
     Log   ${cluster_id}
     Check Cluster Age Keys   ${cluster_id}
     IF   ${wait_flag} == True
+        Wait Until Keyword Succeeds   ${CLUSTER_REGISTER_MAX_WAIT_TIME}   ${CLUSTER_REGISTER_POL_TIME}
+        ...   Check For Cluster To Be Ready   ${name}
+    END
+    RETURN   ${cluster_id}
+
+Register Cluster
+    [Documentation]   Register a Kubernetes cluster in OSM using a provided name and kubeconfig credentials.
+    [Arguments]   ${name}   ${vim_account}   ${creds}   ${description}   ${bootstrap_flag}=True   ${wait_flag}=True
+    ${command}=   Catenate
+    ...   osm cluster-register ${name}
+    ...   --vim-account ${vim_account}
+    ...   --creds ${creds}
+    ...   --description ${description}
+    IF   ${bootstrap_flag} == True
+        Catenate   ${command}   --bootstrap
+    ELSE
+        Catenate   ${command}   --no-bootstrap
+    END
+    ${rc}   ${stdout}=   Run And Return Rc And Output   ${command}
+    Log   ${rc},${stdout}
+    Should Be Equal As Integers   ${rc}   ${SUCCESS_RETURN_CODE}   msg=Cluster registration failed: ${stdout}
+    ${cluster_id}=   Set Variable   ${stdout}
+    Log   ${cluster_id}
+    Check Cluster Age Keys   ${cluster_id}
+    IF   ${wait_flag} == True
         Wait Until Keyword Succeeds   ${CLUSTER_LAUNCH_MAX_WAIT_TIME}   ${CLUSTER_LAUNCH_POL_TIME}
         ...   Check For Cluster To Be Ready   ${name}
     END
@@ -75,7 +102,7 @@
     Log   pubkey is ${stdout}
 
 Delete Cluster
-    [Documentation]   Unregister/delete a Kubernetes cluster from OSM.
+    [Documentation]   Delete a Kubernetes cluster from OSM.
     [Arguments]   ${cluster_name}   ${wait_flag}=True
     ${rc}   ${stdout}=   Run And Return Rc And Output   osm cluster-delete ${cluster_name}
     Log   ${rc},${stdout}
@@ -85,6 +112,17 @@
         ...    Check For Cluster Deletion Status   ${cluster_name}
     END
 
+Deregister Cluster
+    [Documentation]   Deregister a Kubernetes cluster from OSM.
+    [Arguments]   ${cluster_name}   ${wait_flag}=True
+    ${rc}   ${stdout}=   Run And Return Rc And Output   osm cluster-deregister ${cluster_name}
+    Log   ${rc},${stdout}
+    Should Be Equal As Integers   ${rc}   ${SUCCESS_RETURN_CODE}   msg=Cluster deregistration failed: ${stdout}
+    IF   ${wait_flag} == True
+        Wait Until Keyword Succeeds   ${CLUSTER_DELETE_MAX_WAIT_TIME}   ${CLUSTER_DELETE_POL_TIME}
+        ...    Check For Cluster Deletion Status   ${cluster_name}
+    END
+
 Check For Cluster Deletion Status
     [Documentation]   Check if a Kubernetes cluster identified by name is deleted or in error state.
     [Arguments]   ${cluster_name}
@@ -236,10 +274,12 @@
     Log   ${matches}
     IF   ${matches} != @{EMPTY}
        Log   ${ksu_name} is a valid UUID
-       ${rc}   ${stdout}=   Run And Return Rc And Output   osm ksu-list --filter _id="${ksu_name}" | grep ${ksu_name}
+       # ${rc}   ${stdout}=   Run And Return Rc And Output   osm ksu-list --filter _id="${ksu_name}" | grep ${ksu_name}
+       ${rc}   ${stdout}=   Run And Return Rc And Output   osm ksu-list --filter _id="${ksu_name}" -o jsonpath='[*].name'| grep -E "\^${ksu_name}\$""
     ELSE
        Log   ${ksu_name} is not a valid UUID, so it will be treated as a name
-       ${rc}   ${stdout}=   Run And Return Rc And Output   osm ksu-list --filter name="${ksu_name}" | grep ${ksu_name}
+       # ${rc}   ${stdout}=   Run And Return Rc And Output   osm ksu-list --filter name="${ksu_name}" | grep ${ksu_name}
+       ${rc}   ${stdout}=   Run And Return Rc And Output   osm ksu-list --filter name="${ksu_name}" -o jsonpath='[*].name'| grep -E "\^${ksu_name}\$"
     END
     Log   ${rc},${stdout}
     Should Be Empty   ${stdout}
diff --git a/robot-systest/testsuite/gitops_01-advanced_cluster_management.robot b/robot-systest/testsuite/gitops_01-declarative_cluster_creation_oka_ksu.robot
similarity index 97%
rename from robot-systest/testsuite/gitops_01-advanced_cluster_management.robot
rename to robot-systest/testsuite/gitops_01-declarative_cluster_creation_oka_ksu.robot
index 14c31af..a6bb19a 100644
--- a/robot-systest/testsuite/gitops_01-advanced_cluster_management.robot
+++ b/robot-systest/testsuite/gitops_01-declarative_cluster_creation_oka_ksu.robot
@@ -13,7 +13,7 @@
 
 
 *** Settings ***
-Documentation   [GITOPS-01] Advanced Cluster Management.
+Documentation   [GITOPS-01] Advanced Cluster Management. Cluster creation
 
 Library   OperatingSystem
 Library   String
@@ -24,7 +24,7 @@
 
 Test Tags   gitops_01   cluster_gitops
 
-# Suite Teardown   Run Keyword And Ignore Error   Suite Cleanup
+Suite Teardown   Run Keyword And Ignore Error   Suite Cleanup
 
 
 *** Variables ***
diff --git a/robot-systest/testsuite/gitops_01-advanced_cluster_management.robot b/robot-systest/testsuite/gitops_02-declarative_cluster_registration_oka_ksu.robot
similarity index 73%
copy from robot-systest/testsuite/gitops_01-advanced_cluster_management.robot
copy to robot-systest/testsuite/gitops_02-declarative_cluster_registration_oka_ksu.robot
index 14c31af..4f3a07a 100644
--- a/robot-systest/testsuite/gitops_01-advanced_cluster_management.robot
+++ b/robot-systest/testsuite/gitops_02-declarative_cluster_registration_oka_ksu.robot
@@ -13,7 +13,7 @@
 
 
 *** Settings ***
-Documentation   [GITOPS-01] Advanced Cluster Management.
+Documentation   [GITOPS-02] Advanced Cluster Management. Cluster registration
 
 Library   OperatingSystem
 Library   String
@@ -22,7 +22,7 @@
 
 Resource   ../lib/advanced_cluster_mgmt_lib.resource
 
-Test Tags   gitops_01   cluster_gitops
+Test Tags   gitops_02   cluster_gitops
 
 # Suite Teardown   Run Keyword And Ignore Error   Suite Cleanup
 
@@ -41,19 +41,16 @@
 ${OKA_NS_PROFILE}   app-profile
 
 # Cluster
-${CLUSTER_NAME}   gitops01
-${CLUSTER_DESCRIPTION}   "Cluster for gitops01 Robot test suite"
-${CLUSTER_VM_SIZE}   Standard_D2_v2
-${CLUSTER_NODES}   2
-${REGION_NAME}   northeurope
-${RESOURCE_GROUP}   OSM-CTIO
-${KUBERNETES_VERSION}   "1.30"
+${CLUSTER_NAME}   cl-madrid-norte1
+${CLUSTER_DESCRIPTION}   "Cluster for gitops02 Robot test suite"
 
 # KSUs
-${KSU1_NAME}   testacme
 ${KSU_NS_NAME}   jenkins-ns
+${KSU1_NAME}   testacme
 ${KSU2_NAME}   jenkins
-${KSU3_NAME}   jenkinsbis
+${KSU_NS_ID}   ${EMPTY}
+${KSU1_ID}   ${EMPTY}
+${KSU2_ID}   ${EMPTY}
 
 
 *** Test Cases ***
@@ -64,10 +61,10 @@
     Add OKA Package   ${OKA1_NAME}   '${OKA_FOLDER}/${OKA1_PKG}'   ${OKA1_PROFILE}
     Add OKA Package   ${OKA2_NAME}   '${OKA_FOLDER}/${OKA2_PKG}'   ${OKA2_PROFILE}
 
-Create Cluster For Testsuite in Azure
-    [Documentation]   Create K8s cluster for the testsuite.
+Register Cluster For Testsuite
+    [Documentation]   Register K8s cluster for the testsuite.
     [Tags]   cluster   create
-    ${id}=   Create Cluster   ${CLUSTER_NAME}   %{VIM_TARGET}   ${CLUSTER_DESCRIPTION}   ${CLUSTER_VM_SIZE}   ${KUBERNETES_VERSION}   ${CLUSTER_NODES}   ${REGION_NAME}   ${RESOURCE_GROUP}
+    ${id}=   Register Cluster   ${CLUSTER_NAME}   %{VIM_TARGET}   %{CLUSTER_KUBECONFIG_CREDENTIALS}   ${CLUSTER_DESCRIPTION}
     Set Suite Variable   ${CLUSTER_ID}   ${id}
     Log   ${CLUSTER_ID}
 
@@ -100,37 +97,40 @@
     Set Suite Variable   ${KSU2_ID}   ${id}
     Log   ${KSU2_ID}
 
-Create KSU3 With Params
-    [Documentation]   Create KSU based on ${OKA2_NAME} with same params as KSU2.
-    [Tags]   ksu   ksu3   create
-    ${id}=   Create KSU   ${KSU3_NAME}   ${KSU3_NAME}   ${CLUSTER_NAME}   app-profile   ${OKA2_NAME}   ${OKA_FOLDER}/apps/jenkins-params.yaml
-    Set Suite Variable   ${KSU3_ID}   ${id}
-    Log   ${KSU3_ID}
-
-Delete KSU3
-    [Documentation]   Delete KSU3 based on ${OKA2_NAME}.
-    [Tags]   cleanup   ksu   ksu3
-    Delete KSU   ${KSU3_ID}
-
 Delete KSU2
     [Documentation]   Delete KSU2 based on ${OKA2_NAME}.
     [Tags]   cleanup   ksu   ksu2
-    Delete KSU   ${KSU2_ID}
+    IF   '${KSU2_ID}' != ''
+       ${KSU_TO_BE_DELETED}=   Set Variable   ${KSU2_ID}
+    ELSE
+       ${KSU_TO_BE_DELETED}=   Set Variable   ${KSU2_NAME}
+    END
+    Delete KSU   ${KSU_TO_BE_DELETED}
 
 Delete KSU1
     [Documentation]   Delete KSU1 based on ${OKA1_NAME}.
     [Tags]   cleanup   ksu   ksu1
-    Delete KSU   ${KSU1_NAME}
+    IF   '${KSU1_ID}' != ''
+       ${KSU_TO_BE_DELETED}=   Set Variable   ${KSU1_ID}
+    ELSE
+       ${KSU_TO_BE_DELETED}=   Set Variable   ${KSU1_NAME}
+    END
+    Delete KSU   ${KSU_TO_BE_DELETED}
 
 Delete KSU Namespace
     [Documentation]   Delete KSU based on ${OKA_NS_NAME}.
     [Tags]   cleanup   ksu   ksu-ns
-    Delete KSU   ${KSU_NS_ID}
+    IF   '${KSU_NS_ID}' != ''
+       ${KSU_TO_BE_DELETED}=   Set Variable   ${KSU_NS_ID}
+    ELSE
+       ${KSU_TO_BE_DELETED}=   Set Variable   ${KSU_NS_NAME}
+    END
+    Delete KSU   ${KSU_TO_BE_DELETED}
 
-Delete Cluster For Testsuite
-    [Documentation]   Delete K8s cluster for the testsuite.
+Deregister Cluster For Testsuite
+    [Documentation]   Deregister K8s cluster for the testsuite.
     [Tags]   cleanup   cluster
-    Delete Cluster   ${CLUSTER_NAME}
+    Deregister Cluster   ${CLUSTER_NAME}
 
 Delete OKA Packages For The Testsuite
     [Documentation]   Delete OKA packages for the testsuite.
@@ -143,7 +143,7 @@
 *** Keywords ***
 Suite Cleanup
     [Documentation]   Test Suit Cleanup: Deleting cluster, KSUs, OKAs
-    Run Keyword If Any Tests Failed   Delete Cluster   ${CLUSTER_NAME}
+    Run Keyword If Any Tests Failed   Deregister Cluster   ${CLUSTER_NAME}
     Run Keyword If Any Tests Failed   Delete OKA Package   ${OKA_NS_NAME}
     Run Keyword If Any Tests Failed   Delete OKA Package   ${OKA1_NAME}
     Run Keyword If Any Tests Failed   Delete OKA Package   ${OKA2_NAME}
