blob: e5d21bd9aab5fa8f47ed3ceb36c6d484bb8c0a67 [file] [log] [blame]
*** Settings ***
Suite Setup Suite Setup
Suite Teardown Suite Teardown
Test Timeout 6 minutes
Library SSHLibrary
Library String
Library Collections
*** Variables ***
${NEAR_RT_RIC_PLT_VM_USERNAME} root # User name of Near-RT RIC Platform VM
${NEAR_RT_RIC_PLT_VM_PASSWORD} root # Password of Near-RT RIC Platform VM
${NEAR_RT_RIC_PLT_VM_IP} 10.53.73.29 # IP Address of the Near-RT RIC Platform VM
${NEAR_RT_RIC_PLT_HOST_IP} 10.43.8.136
${NEAR_RT_RIC_PLT_RTMGR_POD_NAME} deployment-ricplt-rtmgr-994cd9b46-x4bf2
${NEAR_RT_RIC_PLT_E2MGR_POD_NAME} deployment-ricplt-e2mgr-7596586d98-vpxbp
${NEAR_RT_RIC_PLT_RTMGR_SERVICE_NAME} service-ricplt-rtmgr-http
${NEAR_RT_RIC_PLT_E2MGR_SERVICE_NAME} service-ricplt-e2mgr-http
*** Test Cases ***
r3_multiple_e2t_instances_support_scenario1
[Documentation] This Test case covers the checks of Multiple E2T instance support feature
...
... Scenario 1 [ Positive Case] :
...
... Step1 : \ Create a standalone E2T instance and verify whether its added in datastore(SDL file)
... Check also routes for 1090 and 1101 are mapped
...
... Step2 : \ Associate R1,R2 and R3 to newly created E2T instance one and verify whether its updated in RanList.
...
... Step3 : \ Disassociate R1 and R3 only from E2T instance and verify R2 exists & R1 and R3 removed from RanList
...
... Step4 : \ Delete E2T instance once and verify the instance and R2 is removed from datastore(SDL file)
... Check also routes are demapped for message types 1090 and 1101
[Tags] RICPLT_MultipleE2T
##Scenario1 execution
##1: Create one E2T Instnace
Log "1. Create one E2T instance "
##Delete If it exists already
${cmd_output} Execute command kubectl exec -n ricplt ${NEAR_RT_RIC_PLT_E2MGR_POD_NAME} \ -- curl -X DELETE "http://service-ricplt-rtmgr-http:3800/ric/v1/handles/e2t" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \\"E2TAddress\\": \\"10.105.143.108:38000\\"}"
${cmd_output} Execute command kubectl exec -n ricplt ${NEAR_RT_RIC_PLT_E2MGR_POD_NAME} \ -- curl -X POST "http://service-ricplt-rtmgr-http:3800/ric/v1/handles/e2t" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \\"E2TAddress\\": \\"10.105.143.108:38000\\"}"
log ${cmd_output}
##2: Verify the file /db/rt.json file whether E2T instance is updated with proper details.
Log "2. Verify the file /db/rt.json file whether E2T instance is updated with proper details."
${cmd_output} Execute command kubectl exec -n ricplt ${NEAR_RT_RIC_PLT_RTMGR_POD_NAME} cat /db/rt.json | json_pp
log ${cmd_output}
${cmd_output1} Execute command kubectl logs -n ricplt ${NEAR_RT_RIC_PLT_RTMGR_POD_NAME} --tail=12 | grep meid
log ${cmd_output1}
Run Keyword Should Contain ${cmd_output} "name" : "E2TERMINST"
Run Keyword Should Contain ${cmd_output} "ranlist" : []
Run Keyword Should Contain ${cmd_output} "fqdn" : "10.105.143.108:38000"
Run Keyword Should Contain ${cmd_output1} mse|1090,service-ricplt-e2mgr-rmr.ricplt:3801|-1|10.105.143.108:38000
Run Keyword Should Contain ${cmd_output1} mse|1101,service-ricplt-e2mgr-rmr.ricplt:3801|-1|10.105.143.108:38000
Run Keyword Should Contain ${cmd_output1} meid_map|end|0
##3: Associate R1,R2,R3 to E2T1
Log "3. Associate R1,R2,R3 to E2T1"
${cmd_output} Execute command kubectl exec -n ricplt ${NEAR_RT_RIC_PLT_E2MGR_POD_NAME} -- curl -X POST "http://service-ricplt-rtmgr-http:3800/ric/v1/handles/associate-ran-to-e2t" -H "accept: application/json" -H "Content-Type: application/json" -d "[ { \\"E2TAddress\\": \\"10.105.143.108:38000\\", \\"ranNamelist\\": [ \\"R1\\", \\"R2\\", \\"R3\\" ] }]"
log ${cmd_output}
##4: Verify the file /db/rt.json whether RANs are associated succsessfully.
Log "4. Verify the file /db/rt.json whether RANs are associated succsessfully. "
${cmd_output} Execute command kubectl exec -n ricplt ${NEAR_RT_RIC_PLT_RTMGR_POD_NAME} cat /db/rt.json
log ${cmd_output}
${cmd_output1} Execute command kubectl logs -n ricplt ${NEAR_RT_RIC_PLT_RTMGR_POD_NAME} --tail=12 | grep meid
log ${cmd_output1}
Run Keyword Should Contain ${cmd_output} "name":"E2TERMINST"
Run Keyword Should Contain ${cmd_output} "fqdn":"10.105.143.108:38000"
Run Keyword Should Contain ${cmd_output} "ranlist":["R1","R2","R3"]
Run Keyword Should Contain ${cmd_output1} mme_ar|10.105.143.108:38000|R1 R2 R3
Run Keyword Should Contain ${cmd_output1} meid_map|end|1
##5: Disassociate R1, R3 from E2T1
Log "5. Disassociate R1 and R3 from E2T1"
${cmd_output} Execute command kubectl exec -n ricplt ${NEAR_RT_RIC_PLT_E2MGR_POD_NAME} -- curl -X POST "http://service-ricplt-rtmgr-http:3800/ric/v1/handles/dissociate-ran" -H "accept: application/json" -H "Content-Type: application/json" -d "[ { \\"E2TAddress\\": \\"10.105.143.108:38000\\", \\"ranNamelist\\": [ \\"R1\\", \\"R3\\" ] }]"
log ${cmd_output}
##6: Verify the file /db/rt.json whether R1 and R3 are removed & R2 exists in Ran List.
Log "6: Verify the file /db/rt.json whether R1 and R3 are removed & R2 exists in Ran List."
${cmd_output} Execute command kubectl exec -n ricplt ${NEAR_RT_RIC_PLT_RTMGR_POD_NAME} cat /db/rt.json
log ${cmd_output}
${cmd_output1} Execute command kubectl logs -n ricplt ${NEAR_RT_RIC_PLT_RTMGR_POD_NAME} --tail=12 | grep meid
log ${cmd_output1}
Run Keyword Should Contain ${cmd_output} "name":"E2TERMINST"
Run Keyword Should Contain ${cmd_output} "fqdn":"10.105.143.108:38000"
Run Keyword Should Contain ${cmd_output} "ranlist":["R2"]
Run Keyword Should Contain ${cmd_output1} mme_del|R1 R3
Run Keyword Should Contain ${cmd_output1} meid_map|end|1
##7: Delete E2T Instance
Log "7. Delete E2T instance "
${cmd_output} Execute command kubectl exec -n ricplt ${NEAR_RT_RIC_PLT_E2MGR_POD_NAME} -- curl -X DELETE "http://service-ricplt-rtmgr-http:3800/ric/v1/handles/e2t" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \\"E2TAddress\\": \\"10.105.143.108:38000\\"}"
##8: Verify the file /db/rt.json file whether E2T instance is removed.
Log "8. Verify the file /db/rt.json file whether E2T instance is removed"
${cmd_output} Execute command kubectl exec -n ricplt ${NEAR_RT_RIC_PLT_RTMGR_POD_NAME} cat /db/rt.json | json_pp
log ${cmd_output}
${cmd_output1} Execute command kubectl logs -n ricplt ${NEAR_RT_RIC_PLT_RTMGR_POD_NAME} --tail=12 | grep meid
log ${cmd_output1}
Run Keyword Should Not Contain ${cmd_output} "ranlist" : []
Run Keyword Should Not Contain ${cmd_output} "fqdn" : "10.105.143.108:38000"
Run Keyword Should Contain ${cmd_output1} mme_del|R2
Run Keyword Should Contain ${cmd_output1} meid_map|end|1
Run Keyword Should Not Contain ${cmd_output1} mse|1090,service-ricplt-e2mgr-rmr.ricplt:3801|-1|10.105.143.108:38000
Run Keyword Should Not Contain ${cmd_output1} mse|1101,service-ricplt-e2mgr-rmr.ricplt:3801|-1|10.105.143.108:38000
r3_multiple_e2t_instances_support_scenario2
[Documentation] This Test case covers the checks of Multiple E2T instance support feature
...
... Scenario 2 [ Positive Case] :
...
... Step1 : \ Create an E2T instance along with RANList R1,R2 and verify whether its added in datastore(SDL file)
...
... Step2 : \ Associate R3 and R4 to newly created E2T instance one and verify whether its updated in RanList.
...
... Step3 : \ Disassociate all the RAN's from E2T instance and verify the same
...
... Step4 : \ Delete E2T instance once and verify the instance removed from datastore(SDL file)
[Tags] RICPLT_MultipleE2T
##Scenario1 execution
##1: Create one E2T Instnace
Log "1. Create one E2T instance "
##Delete If it exists already
${cmd_output} Execute command kubectl exec -n ricplt ${NEAR_RT_RIC_PLT_E2MGR_POD_NAME} \ -- curl -X DELETE "http://service-ricplt-rtmgr-http:3800/ric/v1/handles/e2t" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \\"E2TAddress\\": \\"10.105.143.108:38000\\"}"
${cmd_output} Execute command kubectl exec -n ricplt ${NEAR_RT_RIC_PLT_E2MGR_POD_NAME} \ -- curl -X POST "http://service-ricplt-rtmgr-http:3800/ric/v1/handles/e2t" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \\"E2TAddress\\": \\"10.105.143.108:38000\\", \\"ranNamelist\\": [ \\"R1\\", \\"R2\\" ]}"
log ${cmd_output}
##2: Verify the file /db/rt.json file whether E2T instance is updated with proper details.
Log "2. Verify the file /db/rt.json file whether E2T instance is updated with proper details."
${cmd_output} Execute command kubectl exec -n ricplt ${NEAR_RT_RIC_PLT_RTMGR_POD_NAME} cat /db/rt.json
log ${cmd_output}
${cmd_output1} Execute command kubectl logs -n ricplt ${NEAR_RT_RIC_PLT_RTMGR_POD_NAME} --tail=12 | grep meid
log ${cmd_output1}
Run Keyword Should Contain ${cmd_output} "name":"E2TERMINST"
Run Keyword Should Contain ${cmd_output} "ranlist":["R1","R2"]
Run Keyword Should Contain ${cmd_output} "fqdn":"10.105.143.108:38000"
Run Keyword Should Contain ${cmd_output1} mse|1090,service-ricplt-e2mgr-rmr.ricplt:3801|-1|10.105.143.108:38000
Run Keyword Should Contain ${cmd_output1} mse|1101,service-ricplt-e2mgr-rmr.ricplt:3801|-1|10.105.143.108:38000
Run Keyword Should Contain ${cmd_output1} mme_ar|10.105.143.108:38000|R1 R2
Run Keyword Should Contain ${cmd_output1} meid_map|end|1
##3.Associate new RAN's R3,R4 to E2T1"
Log "3. Associate R3,R4 to E2T1"
${cmd_output} Execute command kubectl exec -n ricplt ${NEAR_RT_RIC_PLT_E2MGR_POD_NAME} -- curl -X POST "http://service-ricplt-rtmgr-http:3800/ric/v1/handles/associate-ran-to-e2t" -H "accept: application/json" -H "Content-Type: application/json" -d "[ { \\"E2TAddress\\": \\"10.105.143.108:38000\\", \\"ranNamelist\\": [ \\"R3\\", \\"R4\\" ] }]"
log ${cmd_output}
##4: Verify the file /db/rt.json whether RANs are associated succsessfully.
Log "4. Verify the file /db/rt.json whether RANs are associated succsessfully. "
${cmd_output} Execute command kubectl exec -n ricplt ${NEAR_RT_RIC_PLT_RTMGR_POD_NAME} cat /db/rt.json
log ${cmd_output}
${cmd_output1} Execute command kubectl logs -n ricplt ${NEAR_RT_RIC_PLT_RTMGR_POD_NAME} --tail=12 | grep meid
log ${cmd_output1}
Run Keyword Should Contain ${cmd_output} "name":"E2TERMINST"
Run Keyword Should Contain ${cmd_output} "name":"E2TERMINST"
Run Keyword Should Contain ${cmd_output} "fqdn":"10.105.143.108:38000"
Run Keyword Should Contain ${cmd_output} "ranlist":["R1","R2","R3","R4"]
Run Keyword Should Contain ${cmd_output1} mme_ar|10.105.143.108:38000|R3 R4
Run Keyword Should Contain ${cmd_output1} meid_map|end|1
##5: Disassociate all RAN's from E2T1
Log "5. Disassociate all RAN's from E2T1"
${cmd_output} Execute command kubectl exec -n ricplt ${NEAR_RT_RIC_PLT_E2MGR_POD_NAME} -- curl -X POST "http://service-ricplt-rtmgr-http:3800/ric/v1/handles/dissociate-ran" -H "accept: application/json" -H "Content-Type: application/json" -d "[ { \\"E2TAddress\\": \\"10.105.143.108:38000\\" }]"
log ${cmd_output}
##6: Verify the file /db/rt.json whether R1,R2,R3 and R4 are removed.
Log "6: Verify the file /db/rt.json whether R1 R2 R3 and R4 are removed in Ran List."
${cmd_output} Execute command kubectl exec -n ricplt ${NEAR_RT_RIC_PLT_RTMGR_POD_NAME} cat /db/rt.json
log ${cmd_output}
${cmd_output1} Execute command kubectl logs -n ricplt ${NEAR_RT_RIC_PLT_RTMGR_POD_NAME} --tail=12 | grep meid
log ${cmd_output1}
Run Keyword Should Contain ${cmd_output} "name":"E2TERMINST"
Run Keyword Should Contain ${cmd_output} "fqdn":"10.105.143.108:38000"
Run Keyword Should Contain ${cmd_output} "ranlist":[]
Run Keyword Should Contain ${cmd_output1} mme_del|R1 R2 R3 R4
Run Keyword Should Contain ${cmd_output1} meid_map|end|1
##7: Delete E2T Instance
Log "7. Delete E2T instance "
${cmd_output} Execute command kubectl exec -n ricplt ${NEAR_RT_RIC_PLT_E2MGR_POD_NAME} -- curl -X DELETE "http://service-ricplt-rtmgr-http:3800/ric/v1/handles/e2t" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \\"E2TAddress\\": \\"10.105.143.108:38000\\"}"
##8: Verify the file /db/rt.json file whether E2T instance is removed.
Log "8. Verify the file /db/rt.json file whether E2T instance is removed"
${cmd_output} Execute command kubectl exec -n ricplt ${NEAR_RT_RIC_PLT_RTMGR_POD_NAME} cat /db/rt.json | json_pp
log ${cmd_output}
${cmd_output1} Execute command kubectl logs -n ricplt ${NEAR_RT_RIC_PLT_RTMGR_POD_NAME} --tail=12 | grep meid
log ${cmd_output1}
Run Keyword Should Not Contain ${cmd_output} "ranlist" : []
Run Keyword Should Not Contain ${cmd_output} "fqdn" : "10.105.143.108:38000"
Run Keyword Should Contain ${cmd_output1} meid_map|end|0
Run Keyword Should Not Contain ${cmd_output1} mse|1090,service-ricplt-e2mgr-rmr.ricplt:3801|-1|10.105.143.108:38000
Run Keyword Should Not Contain ${cmd_output1} mse|1101,service-ricplt-e2mgr-rmr.ricplt:3801|-1|10.105.143.108:38000
r3_multiple_e2t_instances_support_scenario3
[Documentation] This Test case covers the checks of Multiple E2T instance support feature
...
... Scenario 3 [ Positive Case] :
...
... Step1 : \ Create an E2T instance along with RANList R1,R2 and verify whether its added in datastore(SDL file)
...
... Step2 : \ Delete E2T instance by providing the RAN list and verify the instance removed from datastore(SDL file)
[Tags] RICPLT_MultipleE2T
##Scenario1 execution
##1: Create one E2T Instnace
Log "1. Create one E2T instance "
##Delete If it exists already
${cmd_output} Execute command kubectl exec -n ricplt ${NEAR_RT_RIC_PLT_E2MGR_POD_NAME} \ -- curl -X DELETE "http://service-ricplt-rtmgr-http:3800/ric/v1/handles/e2t" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \\"E2TAddress\\":\\"10.105.143.108:38000\\"}"
${cmd_output} Execute command kubectl exec -n ricplt ${NEAR_RT_RIC_PLT_E2MGR_POD_NAME} \ -- curl -X POST "http://service-ricplt-rtmgr-http:3800/ric/v1/handles/e2t" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \\"E2TAddress\\": \\"10.105.143.108:38000\\", \\"ranNamelist\\": [ \\"R1\\", \\"R2\\" ]}"
log ${cmd_output}
##2: Verify the file /db/rt.json file whether E2T instance is updated with proper details.
Log "2. Verify the file /db/rt.json file whether E2T instance is updated with proper details."
${cmd_output} Execute command kubectl exec -n ricplt ${NEAR_RT_RIC_PLT_RTMGR_POD_NAME} cat /db/rt.json
log ${cmd_output}
${cmd_output1} Execute command kubectl logs -n ricplt ${NEAR_RT_RIC_PLT_RTMGR_POD_NAME} --tail=12 | grep meid
log ${cmd_output1}
Run Keyword Should Contain ${cmd_output} "name":"E2TERMINST"
Run Keyword Should Contain ${cmd_output} "ranlist":["R1","R2"]
Run Keyword Should Contain ${cmd_output} "fqdn":"10.105.143.108:38000"
Run Keyword Should Contain ${cmd_output1} mse|1090,service-ricplt-e2mgr-rmr.ricplt:3801|-1|10.105.143.108:38000
Run Keyword Should Contain ${cmd_output1} mme_ar|10.105.143.108:38000|R1 R2
Run Keyword Should Contain ${cmd_output1} meid_map|end|1
##3: Delete E2T Instance
Log "7. Delete E2T instance "
${cmd_output} Execute command kubectl exec -n ricplt ${NEAR_RT_RIC_PLT_E2MGR_POD_NAME} -- curl -X DELETE "http://service-ricplt-rtmgr-http:3800/ric/v1/handles/e2t" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \\"E2TAddress\\": \\"10.105.143.108:38000\\", \\"ranNamelistTobeDissociated\\": [ \\"R1\\", \\"R2\\" ]}"
##8: Verify the file /db/rt.json file whether E2T instance is removed.
Log "8. Verify the file /db/rt.json file whether E2T instance is removed"
${cmd_output} Execute command kubectl exec -n ricplt ${NEAR_RT_RIC_PLT_RTMGR_POD_NAME} cat /db/rt.json | json_pp
log ${cmd_output}
${cmd_output1} Execute command kubectl logs -n ricplt ${NEAR_RT_RIC_PLT_RTMGR_POD_NAME} --tail=12 | grep meid
log ${cmd_output1}
Run Keyword Should Not Contain ${cmd_output} "ranlist" : []
Run Keyword Should Not Contain ${cmd_output} "fqdn" : "10.105.143.108:38000"
Run Keyword Should Contain ${cmd_output1} meid_map|end|1
Run Keyword Should Contain ${cmd_output1} mme_del|R1 R2
Run Keyword Should Not Contain ${cmd_output1} mse|1090,service-ricplt-e2mgr-rmr.ricplt:3801|-1|10.105.143.108:38000
Run Keyword Should Not Contain ${cmd_output1} mse|1101,service-ricplt-e2mgr-rmr.ricplt:3801|-1|10.105.143.108:38000
r3_multiple_e2t_instances_support_scenario4
[Documentation] This Test case covers the checks of Multiple E2T instance support feature
...
... Scenario 4 [ Positive Case] :
...
... Step1 : \ Create two E2T instances E2T1 and E2T2 along with RANList R11 and R21 respectively, verify whether its added in datastore(SDL file)
...
... Step2 : \ Associate R12 and R22 to newly created E2T1 and E2T2 instance respectively and verify whether its updated in RanList.
...
... Step3 : \ Disassociate all the RAN's from E2T1 instance and R23 R21 from E2T2 instance and verify the same
...
... Step4 : \ Delete E2T2 instance and associate R22 to E2T1 instance and verify the from datastore(SDL file)
[Tags] RICPLT_MultipleE2T
##Scenario1 execution
##1: Create one E2T Instnace
Log "1. Create E2T instances "
##Delete If it exists already
${cmd_output} Execute command kubectl exec -n ricplt ${NEAR_RT_RIC_PLT_E2MGR_POD_NAME} \ -- curl -X DELETE "http://service-ricplt-rtmgr-http:3800/ric/v1/handles/e2t" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \\"E2TAddress\\": \\"10.105.143.108:38000\\"}"
${cmd_output} Execute command kubectl exec -n ricplt ${NEAR_RT_RIC_PLT_E2MGR_POD_NAME} \ -- curl -X DELETE "http://service-ricplt-rtmgr-http:3800/ric/v1/handles/e2t" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \\"E2TAddress\\": \\"10.105.143.108:38001\\"}"
${cmd_output} Execute command kubectl exec -n ricplt ${NEAR_RT_RIC_PLT_E2MGR_POD_NAME} \ -- curl -X POST "http://service-ricplt-rtmgr-http:3800/ric/v1/handles/e2t" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \\"E2TAddress\\": \\"10.105.143.108:38000\\", \\"ranNamelist\\": [ \\"R11\\" ]}"
${cmd_output} Execute command kubectl exec -n ricplt ${NEAR_RT_RIC_PLT_E2MGR_POD_NAME} \ -- curl -X POST "http://service-ricplt-rtmgr-http:3800/ric/v1/handles/e2t" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \\"E2TAddress\\": \\"10.105.143.108:38001\\", \\"ranNamelist\\": [ \\"R21\\" ]}"
log ${cmd_output}
##2: Verify the file /db/rt.json file whether E2T instance is updated with proper details.
Log "2. Verify the file /db/rt.json file whether E2T instance is updated with proper details."
${cmd_output} Execute command kubectl exec -n ricplt ${NEAR_RT_RIC_PLT_RTMGR_POD_NAME} cat /db/rt.json
log ${cmd_output}
${cmd_output1} Execute command kubectl logs -n ricplt ${NEAR_RT_RIC_PLT_RTMGR_POD_NAME} --tail=35 | grep meid
log ${cmd_output1}
Run Keyword Should Contain ${cmd_output} "name":"E2TERMINST"
Run Keyword Should Contain ${cmd_output} "ranlist":["R11"]
Run Keyword Should Contain ${cmd_output} "fqdn":"10.105.143.108:38000"
Run Keyword Should Contain ${cmd_output} "ranlist":["R21"]
Run Keyword Should Contain ${cmd_output} "fqdn":"10.105.143.108:38001"
#Run Keyword Should Contain ${cmd_output1} mse|1090,service-ricplt-e2mgr-rmr.ricplt:3801|-1|10.105.143.108:38001,10.105.143.108:38000
#Run Keyword Should Contain ${cmd_output1} mse|1101,service-ricplt-e2mgr-rmr.ricplt:3801|-1|10.105.143.108:38001,10.105.143.108:38000
Run Keyword Should Contain X Times ${cmd_output1} 10.105.143.108:38000 4
Run Keyword Should Contain X Times ${cmd_output1} 10.105.143.108:38001 6
Run Keyword Should Contain ${cmd_output1} mme_ar|10.105.143.108:38001|R21
Run Keyword Should Contain ${cmd_output1} meid_map|end|1
##3.Associate RAN's R12 to E2T1 and R22 to E2T2"
Log "3. Associate R12 to E2T1 and R22 to E2T2"
${cmd_output} Execute command kubectl exec -n ricplt ${NEAR_RT_RIC_PLT_E2MGR_POD_NAME} -- curl -X POST "http://service-ricplt-rtmgr-http:3800/ric/v1/handles/associate-ran-to-e2t" -H "accept: application/json" -H "Content-Type: application/json" -d "[ { \\"E2TAddress\\": \\"10.105.143.108:38000\\", \\"ranNamelist\\": [ \\"R12\\" ] }]"
log ${cmd_output}
${cmd_output} Execute command kubectl exec -n ricplt ${NEAR_RT_RIC_PLT_E2MGR_POD_NAME} -- curl -X POST "http://service-ricplt-rtmgr-http:3800/ric/v1/handles/associate-ran-to-e2t" -H "accept: application/json" -H "Content-Type: application/json" -d "[ { \\"E2TAddress\\": \\"10.105.143.108:38001\\", \\"ranNamelist\\": [ \\"R22\\" ] }]"
log ${cmd_output}
##4: Verify the file /db/rt.json whether RANs are associated succsessfully.
Log "4. Verify the file /db/rt.json whether RANs are associated succsessfully. "
${cmd_output} Execute command kubectl exec -n ricplt ${NEAR_RT_RIC_PLT_RTMGR_POD_NAME} cat /db/rt.json
log ${cmd_output}
##5. Associate R13 and R23 in a single curl command to E2T1 and E2T2 respectively
Log "5. Associate R13 and R23 in a single curl command to E2T1 and E2T2 respectively"
${cmd_output} Execute command kubectl exec -n ricplt ${NEAR_RT_RIC_PLT_E2MGR_POD_NAME} -- curl -X POST "http://service-ricplt-rtmgr-http:3800/ric/v1/handles/associate-ran-to-e2t" -H "accept: application/json" -H "Content-Type: application/json" -d "[ { \\"E2TAddress\\": \\"10.105.143.108:38000\\", \\"ranNamelist\\": [ \\"R13\\"] }, { \\"E2TAddress\\": \\"10.105.143.108:38001\\",\\"ranNamelist\\": [ \\"R23\\"] }]"
${cmd_output} Execute command kubectl exec -n ricplt ${NEAR_RT_RIC_PLT_RTMGR_POD_NAME} cat /db/rt.json
log ${cmd_output}
${cmd_output1} Execute command kubectl logs -n ricplt ${NEAR_RT_RIC_PLT_RTMGR_POD_NAME} --tail=25 | grep meid
log ${cmd_output1}
Run Keyword Should Contain ${cmd_output} "name":"E2TERMINST"
Run Keyword Should Contain ${cmd_output} "ranlist":["R11","R12","R13"]
Run Keyword Should Contain ${cmd_output} "fqdn":"10.105.143.108:38000"
Run Keyword Should Contain ${cmd_output} "ranlist":["R21","R22","R23"]
Run Keyword Should Contain ${cmd_output} "fqdn":"10.105.143.108:38001"
Run Keyword Should Contain ${cmd_output1} mme_ar|10.105.143.108:38000|R13
Run Keyword Should Contain ${cmd_output1} mme_ar|10.105.143.108:38001|R23
Run Keyword Should Contain ${cmd_output1} meid_map|end|2
##6: Disassociate all RAN's from E2T1 R21 and R23 from E2T2
Log "6: Disassociate all RAN's from E2T1 R21 and R23 from E2T2"
${cmd_output} Execute command kubectl exec -n ricplt ${NEAR_RT_RIC_PLT_E2MGR_POD_NAME} -- curl -X POST "http://service-ricplt-rtmgr-http:3800/ric/v1/handles/dissociate-ran" -H "accept: application/json" -H "Content-Type: application/json" -d "[ { \\"E2TAddress\\": \\"10.105.143.108:38000\\" } ,{ \\"E2TAddress\\": \\"10.105.143.108:38001\\", \\"ranNamelist\\": [ \\"R21\\", \\"R23\\" ] }]"
log ${cmd_output}
##7: Verify the file /db/rt.json whether R1,R2,R3 and R4 are removed.
Log "7: Verify the file /db/rt.json whether R1 R2 R3 and R4 are removed in Ran List."
${cmd_output} Execute command kubectl exec -n ricplt ${NEAR_RT_RIC_PLT_RTMGR_POD_NAME} cat /db/rt.json
log ${cmd_output}
${cmd_output1} Execute command kubectl logs -n ricplt ${NEAR_RT_RIC_PLT_RTMGR_POD_NAME} --tail=20 | grep meid
log ${cmd_output1}
Run Keyword Should Contain ${cmd_output} "name":"E2TERMINST"
Run Keyword Should Contain ${cmd_output} "fqdn":"10.105.143.108:38000"
Run Keyword Should Contain ${cmd_output} "ranlist":[]
Run Keyword Should Contain ${cmd_output} "fqdn":"10.105.143.108:38001"
Run Keyword Should Contain ${cmd_output} "ranlist":["R22"]
Run Keyword Should Contain ${cmd_output1} mme_del|R11 R12 R13
Run Keyword Should Contain ${cmd_output1} mme_del|R21 R23
Run Keyword Should Contain ${cmd_output1} meid_map|end|2
##8: Delete E2T2 Instance and Associate R22 to E2T1
Log "8. Delete E2T2 instance and Associate R22 to E2T1"
${cmd_output} Execute command kubectl exec -n ricplt ${NEAR_RT_RIC_PLT_E2MGR_POD_NAME} -- curl -X DELETE "http://service-ricplt-rtmgr-http:3800/ric/v1/handles/e2t" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \\"E2TAddress\\": \\"10.105.143.108:38001\\", \\"ranAssocList\\": [ { \\"E2TAddress\\": \\"10.105.143.108:38000\\", \\"ranNamelist\\": [ \\"R22\\" ] } ]}"
sleep 1
##9: Verify the file /db/rt.json file whether E2T instance is removed.
Log "9. Verify the file /db/rt.json file whether E2T instance is removed"
${cmd_output} Execute command kubectl exec -n ricplt ${NEAR_RT_RIC_PLT_RTMGR_POD_NAME} cat /db/rt.json
log ${cmd_output}
${cmd_output1} Execute command kubectl logs -n ricplt ${NEAR_RT_RIC_PLT_RTMGR_POD_NAME} --tail=12 | grep meid
log ${cmd_output1}
Run Keyword Should Not Contain ${cmd_output} "ranlist" : []
Run Keyword Should Contain ${cmd_output} "fqdn":"10.105.143.108:38000"
Run Keyword Should Not Contain ${cmd_output} "fqdn" : "10.105.143.108:38001"
Run Keyword Should Contain ${cmd_output} "ranlist":["R22"]
Run Keyword Should Contain ${cmd_output1} mme_del|R22
Run Keyword Should Contain ${cmd_output1} mme_ar|10.105.143.108:38000|R22
Run Keyword Should Contain ${cmd_output1} meid_map|end|2
r3_multiple_e2t_instances_support_scenario5
[Documentation] This Test case covers the checks of Multiple E2T instance support feature
...
... Scenario 5 [ Positive Case] :
...
... Step1 : \ Create two E2T instance and verify whether its added in datastore(SDL file)
... Check also routes for 1090 and 1101 are mapped
...
... Step2 : \ Remove one E2T instance and check that message types 1090 and 1101 still present.
...
... Step3 : \ Remove second E2T and verify message types 1090 and 1101 are also removed
...
[Tags] RICPLT_MultipleE2T
##Scenario1 execution
##1: Create one E2T Instnace
Log "1. Create E2T instances "
##Delete If it exists already
${cmd_output} Execute command kubectl exec -n ricplt ${NEAR_RT_RIC_PLT_E2MGR_POD_NAME} \ -- curl -X DELETE "http://service-ricplt-rtmgr-http:3800/ric/v1/handles/e2t" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \\"E2TAddress\\": \\"10.105.143.108:38000\\"}"
${cmd_output} Execute command kubectl exec -n ricplt ${NEAR_RT_RIC_PLT_E2MGR_POD_NAME} \ -- curl -X DELETE "http://service-ricplt-rtmgr-http:3800/ric/v1/handles/e2t" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \\"E2TAddress\\": \\"10.105.143.108:38001\\"}"
${cmd_output} Execute command kubectl exec -n ricplt ${NEAR_RT_RIC_PLT_E2MGR_POD_NAME} \ -- curl -X POST "http://service-ricplt-rtmgr-http:3800/ric/v1/handles/e2t" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \\"E2TAddress\\": \\"10.105.143.108:38000\\" }"
${cmd_output} Execute command kubectl exec -n ricplt ${NEAR_RT_RIC_PLT_E2MGR_POD_NAME} \ -- curl -X POST "http://service-ricplt-rtmgr-http:3800/ric/v1/handles/e2t" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \\"E2TAddress\\": \\"10.105.143.108:38001\\" }"
log ${cmd_output}
##2: Verify the file /db/rt.json file whether E2T instance is updated with proper details.
Log "2. Verify the file /db/rt.json file whether E2T instance is updated with proper details."
${cmd_output} Execute command kubectl exec -n ricplt ${NEAR_RT_RIC_PLT_RTMGR_POD_NAME} cat /db/rt.json
log ${cmd_output}
${cmd_output1} Execute command kubectl logs -n ricplt ${NEAR_RT_RIC_PLT_RTMGR_POD_NAME} --tail=35 | grep meid
log ${cmd_output1}
Run Keyword Should Contain X Times ${cmd_output1} 10.105.143.108:38000 4
Run Keyword Should Contain X Times ${cmd_output1} 10.105.143.108:38001 4
##3: Delete E2T1 Instance
Log "3. Delete E2T1 instance"
${cmd_output} Execute command kubectl exec -n ricplt ${NEAR_RT_RIC_PLT_E2MGR_POD_NAME} -- curl -X DELETE "http://service-ricplt-rtmgr-http:3800/ric/v1/handles/e2t" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \\"E2TAddress\\": \\"10.105.143.108:38000\\"}"
##4: Verify the file /db/rt.json file whether E2T instance is removed.
Log "3. Verify the file /db/rt.json file whether E2T instance is removed"
${cmd_output} Execute command kubectl exec -n ricplt ${NEAR_RT_RIC_PLT_RTMGR_POD_NAME} cat /db/rt.json
log ${cmd_output}
${cmd_output1} Execute command kubectl logs -n ricplt ${NEAR_RT_RIC_PLT_RTMGR_POD_NAME} --tail=12 | grep meid
log ${cmd_output1}
Run Keyword Should Contain ${cmd_output1} mse|1090,service-ricplt-e2mgr-rmr.ricplt:3801|-1|10.105.143.108:38001
Run Keyword Should Contain ${cmd_output1} mse|1101,service-ricplt-e2mgr-rmr.ricplt:3801|-1|10.105.143.108:38001
##4: Delete E2T2 Instance
Log "4. Delete E2T2 instance"
${cmd_output} Execute command kubectl exec -n ricplt ${NEAR_RT_RIC_PLT_E2MGR_POD_NAME} -- curl -X DELETE "http://service-ricplt-rtmgr-http:3800/ric/v1/handles/e2t" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \\"E2TAddress\\": \\"10.105.143.108:38001\\"}"
##4: Verify the file /db/rt.json file whether E2T instance is removed.
Log "4. Verify the file /db/rt.json file whether E2T instance is removed"
${cmd_output} Execute command kubectl exec -n ricplt ${NEAR_RT_RIC_PLT_RTMGR_POD_NAME} cat /db/rt.json
log ${cmd_output}
${cmd_output1} Execute command kubectl logs -n ricplt ${NEAR_RT_RIC_PLT_RTMGR_POD_NAME} --tail=12 | grep meid
log ${cmd_output1}
Run Keyword Should Not Contain ${cmd_output1} mse|1090
Run Keyword Should Not Contain ${cmd_output1} mse|1101
r3_multiple_e2t_instances_support_scenario6
[Documentation] This Test case covers the checks of Multiple E2T instance support feature
...
... Scenario 6 [ Positive Case] :
...
... Step1 : \ Create of E2T instance with invalid fqdn fails
...
[Tags] RICPLT_MultipleE2T
##Scenario1 execution
##1: Create one E2T Instnace
Log "1. Create E2T instances "
##Delete If it exists already
${cmd_output} Execute command kubectl exec -n ricplt ${NEAR_RT_RIC_PLT_E2MGR_POD_NAME} \ -- curl -i -X POST "http://service-ricplt-rtmgr-http:3800/ric/v1/handles/e2t" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \\"E2TAddress\\": \\"dummy.e2t.com:12345\\" }"
log ${cmd_output}
Run Keyword Should Contain ${cmd_output} 400 Bad Request
r3_multiple_e2t_instances_support_scenario7
[Documentation] This Test case covers the checks of Multiple E2T instance support feature
...
... Scenario 7 [ Positive Case] :
...
... Step1 : \ Create of 10 E2T instance
...
[Tags] RICPLT_MultipleE2T
##Scenario1 execution
##1: Create one E2T Instance
Log "1. Create E2T instances "
##Delete If it exists already
:FOR ${INDEX} IN RANGE 1 11
\ ${cmd_output} Execute command kubectl exec -n ricplt ${NEAR_RT_RIC_PLT_E2MGR_POD_NAME} \ -- curl -i -X POST "http://service-ricplt-rtmgr-http:3800/ric/v1/handles/e2t" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \\"E2TAddress\\": \\"10.20.30.${INDEX}:12345\\" }"
\ log ${cmd_output}
\ Run Keyword Should Contain ${cmd_output} 201
##2: Delete the created E2T instances
:FOR ${INDEX} IN RANGE 1 11
\ ${cmd_output} Execute command kubectl exec -n ricplt ${NEAR_RT_RIC_PLT_E2MGR_POD_NAME} \ -- curl -i -X DELETE "http://service-ricplt-rtmgr-http:3800/ric/v1/handles/e2t" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \\"E2TAddress\\": \\"10.20.30.${INDEX}:12345\\" }"
\ log ${cmd_output}
\ Run Keyword Should Contain ${cmd_output} 201
r3_multiple_e2t_instances_support_scenario8
[Documentation] This Test case covers the checks of Multiple E2T instance support feature
...
... Scenario 8 [ Positive Case] :
...
... Step1 : \ Create of 10 E2T instance
...
[Tags] RICPLT_MultipleE2T
##Scenario1 execution
##1: Create one E2T Instance
${cmd_output} Execute command kubectl exec -n ricplt ${NEAR_RT_RIC_PLT_E2MGR_POD_NAME} \ -- curl -X DELETE "http://service-ricplt-rtmgr-http:3800/ric/v1/handles/e2t" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \\"E2TAddress\\": \\"10.105.143.108:38000\\"}"
${cmd_output} Execute command kubectl exec -n ricplt ${NEAR_RT_RIC_PLT_E2MGR_POD_NAME} \ -- curl -X POST "http://service-ricplt-rtmgr-http:3800/ric/v1/handles/e2t" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \\"E2TAddress\\": \\"10.105.143.108:38000\\" }"
log ${cmd_output}
${cmd_output} Execute command kubectl exec -n ricplt ${NEAR_RT_RIC_PLT_E2MGR_POD_NAME} -- curl -X POST "http://service-ricplt-rtmgr-http:3800/ric/v1/handles/associate-ran-to-e2t" -H "accept: application/json" -H "Content-Type: application/json" -d "[ { \\"E2TAddress\\": \\"10.105.143.108:38000\\", \\"ranNamelist\\": [ \\"R1\\", \\"R2\\", \\"R3\\", \\"R4\\", \\"R5\\", \\"R6\\", \\"R7\\", \\"R8\\", \\"R9\\", \\"R10\\"] }]"
log ${cmd_output}
${cmd_output1} Execute command kubectl logs -n ricplt ${NEAR_RT_RIC_PLT_RTMGR_POD_NAME} --tail=12 | grep meid
log ${cmd_output1}
Run Keyword Should Contain ${cmd_output1} mme_ar|10.105.143.108:38000|R1 R2 R3 R4 R5 R6 R7 R8 R9 R10
Run Keyword Should Contain ${cmd_output1} meid_map|end|1
${cmd_output} Execute command kubectl exec -n ricplt ${NEAR_RT_RIC_PLT_E2MGR_POD_NAME} \ -- curl -i -X DELETE "http://service-ricplt-rtmgr-http:3800/ric/v1/handles/e2t" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \\"E2TAddress\\": \\"10.105.143.108:38000\\" }"
${cmd_output1} Execute command kubectl logs -n ricplt ${NEAR_RT_RIC_PLT_RTMGR_POD_NAME} --tail=12 | grep meid
log ${cmd_output1}
Run Keyword Should Contain ${cmd_output} 201
Run Keyword Should Contain ${cmd_output1} mme_del|R1 R2 R3 R4 R5 R6 R7 R8 R9 R10
*** Keywords ***
Login_RIC_Platform_VM
[Arguments] ${alias_name}=ricplt
SSHLibrary.Open Connection ${NEAR_RT_RIC_PLT_VM_IP} 22
SSHLibrary.Login ${NEAR_RT_RIC_PLT_VM_USERNAME} ${NEAR_RT_RIC_PLT_VM_PASSWORD}
Suite Setup
##Added place holder now
Login_RIC_Platform_VM
check_ric_platform_services
Suite Teardown
Close Connection
Wait For routing manager service
[Arguments] ${maxcount}=10 ${count}=1
FOR ${count} IN RANGE 1 ${maxcount}
${cmd_output} Execute command kubectl get pod -n ricplt | grep -i deployment-ricplt-rtmgr
${status}= Run Keyword And Ignore Error Should Contain ${cmd_output} Running
${ready}= Run Keyword And Ignore Error Should Contain ${cmd_output} 1/1
Log ${status}
Log ${ready}
Run Keyword If ("${status[0]}" == "PASS") and ("${ready[0]}" == "PASS") Exit For Loop
##Run Keyword And Ignore Error Execute command
Sleep 2
END
Log "Max retry count reached, seems routing manager is not running successfully"
Run Keyword Should Contain ${cmd_output} Running
Run Keyword Should Contain ${cmd_output} 1/1
check_ric_platform_services
##check whether required servcies are up and running.
Log "Checking the status of Routing manager POD"
Wait For routing manager service 10 1
${NEAR_RT_RIC_PLT_RTMGR_POD_NAME} Execute command kubectl get pod -n ricplt | grep -i deployment-ricplt-rtmgr | awk '{ print $1}'
${NEAR_RT_RIC_PLT_E2MGR_POD_NAME} Execute command kubectl get pod -n ricplt | grep -i deployment-ricplt-e2mgr | awk '{ print $1}'
Set Suite Variable ${NEAR_RT_RIC_PLT_RTMGR_POD_NAME}
Set Suite Variable ${NEAR_RT_RIC_PLT_E2MGR_POD_NAME}