Wait until keyword succeeds 2 min 10 sec Validate Required Dockers 4
Start E2
- Wait until keyword succeeds 2 min 10 sec Validate Required Dockers
-
+ Wait until keyword succeeds 2 min 10 sec Validate Required Dockers 5
+ Start e2adapter
+ Wait until keyword succeeds 1 min 10 sec Validate Required Dockers
String response body ranName ${enb_ran_name}
String response body connectionStatus DISCONNECTED
String response body nodeType ENB
- String response body enb enbType MACRO_ENB
+ String response body enb enbType SHORT_MACRO_ENB
+ Missing response body setupFromNetwork
prepare logs for tests
Remove log files
Get request gnb
Sleep 2s
- Get Request node b gnb
+ Get Request nodeb
Integer response status 200
String response body ranName ${ranname}
String response body connectionStatus DISCONNECTED
Get request gnb
Sleep 2s
- Get Request node b gnb
+ Get Request nodeb
Integer response status 200
String response body ranName ${ranname}
String response body connectionStatus CONNECTED
Integer response body gnb ranFunctions 1 ranFunctionRevision 1
Integer response body gnb ranFunctions 2 ranFunctionId 3
Integer response body gnb ranFunctions 2 ranFunctionRevision 1
-
+ Boolean response body setupFromNetwork true
Prepare Logs For Tests
Remove log files
Get request gnb
Sleep 2s
- Get Request node b gnb
+ Get Request nodeb
Integer response status 200
String response body ranName ${ranname}
String response body connectionStatus CONNECTED
Verify RAN is not associated with E2T instance
Sleep 6m
- Get Request node b gnb
+ Get Request nodeb
Integer response status 200
String response body ranName ${ranname}
Missing response body associatedE2tInstanceAddress
Start Redis Monitor
Setup Ran and verify it's CONNECTED and associated
- Get Request node b gnb
+ Get Request nodeb
Integer response status 200
String response body ranName ${ranname}
String response body connectionStatus CONNECTED
Verify connection status is DISCONNECTED and RAN is not associated with E2T instance
Sleep 30s
- GET ${getNodeb}
+ GET ${getNodeb}/${ranName}
Integer response status 200
String response body ranName ${ranname}
Missing response body associatedE2tInstanceAddress
*** Keywords ***
Verify connected and associated
- Get Request node b gnb
+ Get Request nodeb
Integer response status 200
String response body ranName ${ranName}
String response body connectionStatus CONNECTED
String response body associatedE2tInstanceAddress ${e2t_alpha_address}
Verify shutdown for gnb
- Get Request node b gnb
+ Get Request nodeb
Integer response status 200
String response body ranName ${ranName}
String response body connectionStatus SHUT_DOWN
Resource ../Resource/resource.robot
Library OperatingSystem
Library Process
+Variables ../Scripts/variables.py
+
+*** Variables ***
+${e2adapter} ${e2adapter_pod_name}
*** Keywords ***
-Get Request node b gnb
+Get Request nodeb
+ [Arguments] ${nodeb_name}=${ranName}
Sleep 1s
- GET ${getNodeb}
+ GET ${getNodeb}/${nodeb_name}
Update Gnb request
Sleep 1s
Remove File ${EXECDIR}/${e2mgr_log_filename}
Remove File ${EXECDIR}/${e2t_log_filename}
-
Save logs
Sleep 1s
Run ${Save_sim_log}
Stop Routing Manager
Start Routing Manager
+Start e2adapter
+ Log to Console Starting e2adapter
+ Run And Return Rc And Output ${start_e2adapter}
+ Sleep 5s
+
+Stop e2adapter
+ Log to Console Stopping e2adapter
+ Run And Return Rc And Output ${stop_e2adapter}
+ Sleep 5s
+
Flush And Populate DB
[Arguments] ${set_new_timestamp}=${True}
Log To Console Flushing and populating DB
Stop Dbass
Stop E2
Stop Routing Manager
+ Stop e2adapter
+
+Send eNB Setup Request
+ Log To Console Sending eNB setup request form e2adapter
+ ${send_enb_setup} Evaluate "kubectl -n ricplt exec -it ${e2adapter} cli send-e2setup-req 10.0.2.15"
+ Sleep 3s
+ Run And Return Rc And Output ${send_enb_setup}
Start Redis Monitor
Log To Console Starting redis monitor log
Redis Monitor Logs - Verify Publish To Manipulation Channel
[Arguments] ${ran_name} ${event}
Log To Console Verify Publish To Manipulation Channel
+ Sleep 3s
${result}= log_scripts.verify_redis_monitor_manipulation_message ${EXECDIR}/${redis_monitor_log_filename} ${ran_name} ${event}
Should Be Equal As Strings ${result} True
Redis Monitor Logs - Verify Publish To Connection Status Channel
[Arguments] ${ran_name} ${event}
Log To Console Verify Publish To Connection Status Channel
+ Sleep 3s
${result}= log_scripts.verify_redis_monitor_connection_status_message ${EXECDIR}/${redis_monitor_log_filename} ${ran_name} ${event}
Should Be Equal As Strings ${result} True
+
+Redis Monitor Logs - Verify NOT Published To Manipulation Channel
+ [Arguments] ${ran_name} ${event}
+ Log To Console Verify NOT Published To Manipulation Channel
+ Sleep 3s
+ ${result}= log_scripts.verify_redis_monitor_manipulation_message ${EXECDIR}/${redis_monitor_log_filename} ${ran_name} ${event}
+ Should Be Equal As Strings ${result} False
\ No newline at end of file
#REST
${ranName} gnb_208_092_303030
-${enb_ran_name} enb_test
-${getNodeb} /v1/nodeb/${ranName}
+${enb_ran_name} enB_shortmacro_208__555540
+${getNodeb} /v1/nodeb
${set_general_configuration} /v1/nodeb/parameters
${set_general_configuration_body} {"enableRic":false}
${update_gnb_url} /v1/nodeb/gnb/${ranName}
${enb_url} /v1/nodeb/enb
${update_gnb_body} {"servedNrCells":[{"servedNrCellInformation":{"cellId":"abcd","choiceNrMode":{"fdd":{}},"nrMode":1,"nrPci":1,"servedPlmns":["whatever"]},"nrNeighbourInfos":[{"nrCgi":"one","choiceNrMode":{"fdd":{}},"nrMode":1,"nrPci":1}]}]}
${update_gnb_body_notvalid} {"servedNrCells":[{"servedNrCellInformation":{"choiceNrMode":{"fdd":{}},"nrMode":1,"nrPci":1,"servedPlmns":["whatever"]},"nrNeighbourInfos":[{"nrCgi":"whatever","choiceNrMode":{"fdd":{}},"nrMode":1,"nrPci":1}]}]}
-${add_enb_request_body} {"ranName":"enb_test","globalNbId":{"nbId":"abc","plmnId":"def"},"port":1234,"enb":{"enbType":1,"guGroupIds":["ghi"],"servedCells":[{"broadcastPlmns":["jkl"],"cellId":"mnop","choiceEutraMode":{"fdd":{"dlearFcn":1,"ulearFcn":1},"tdd":{"additionalSpecialSubframeExtensionInfo":{"additionalSpecialSubframePatternsExtension":1,"cyclicPrefixDl":1,"cyclicPrefixUl":1},"additionalSpecialSubframeInfo":{"additionalSpecialSubframePatterns":1,"cyclicPrefixDl":1,"cyclicPrefixUl":1},"earFcn":4,"specialSubframeInfo":{"specialSubframePatterns":1,"cyclicPrefixDl":1,"cyclicPrefixUl":1}}},"eutraMode":1,"csgId":"string","mbmsServiceAreaIdentities":["sds"],"mbsfnSubframeInfos":[{"radioframeAllocationOffset":3,"subframeAllocation":"jhg"}],"multibandInfos":[4],"neighbourInfos":[{"earFcn":4,"ecgi":"klj","pci":5,"tac":"wew"}],"pci":2,"prachConfiguration":{"highSpeedFlag":true,"prachConfigurationIndex":5,"prachFrequencyOffset":6,"rootSequenceIndex":7,"zeroCorrelationZoneConfiguration":6},"tac":"asd","additionalCellInformation":{"cellLatitude":1,"cellLongitude":1,"antennaHeight":1,"antennaAzimuthDirection":2,"antennaTiltAngle":3,"antennaMaxTransmit":4,"antennaMaxGain":5,"sectorId":6}},{"broadcastPlmns":["jkl"],"cellId":"qrst","choiceEutraMode":{"fdd":{"dlearFcn":4,"ulearFcn":2},"tdd":{"additionalSpecialSubframeExtensionInfo":{"additionalSpecialSubframePatternsExtension":1,"cyclicPrefixDl":1,"cyclicPrefixUl":1},"additionalSpecialSubframeInfo":{"additionalSpecialSubframePatterns":1,"cyclicPrefixDl":1,"cyclicPrefixUl":1},"earFcn":4,"specialSubframeInfo":{"specialSubframePatterns":1,"cyclicPrefixDl":1,"cyclicPrefixUl":1}}},"eutraMode":1,"csgId":"string","mbmsServiceAreaIdentities":["sds"],"mbsfnSubframeInfos":[{"radioframeAllocationOffset":5,"subframeAllocation":"jhg"}],"multibandInfos":[4],"neighbourInfos":[{"earFcn":2,"ecgi":"klj","pci":4,"tac":"wew"}],"pci":3,"prachConfiguration":{"highSpeedFlag":true,"prachConfigurationIndex":4,"prachFrequencyOffset":3,"rootSequenceIndex":3,"zeroCorrelationZoneConfiguration":2},"tac":"asd","additionalCellInformation":{"cellLatitude":3,"cellLongitude":3,"antennaHeight":3,"antennaAzimuthDirection":3,"antennaTiltAngle":4,"antennaMaxTransmit":4,"antennaMaxGain":5,"sectorId":5}}]}}
-${add_enb_response_body} {"ranName":"enb_test","port":1234,"connectionStatus":"DISCONNECTED","globalNbId":{"plmnId":"def","nbId":"abc"},"nodeType":"ENB","enb":{"enbType":"MACRO_ENB","servedCells":[{"pci":2,"cellId":"mnop","tac":"asd","broadcastPlmns":["jkl"],"choiceEutraMode":{"fdd":{"ulearFcn":1,"dlearFcn":1},"tdd":{"earFcn":4,"specialSubframeInfo":{"specialSubframePatterns":"SSP0","cyclicPrefixDl":"NORMAL","cyclicPrefixUl":"NORMAL"},"additionalSpecialSubframeInfo":{"additionalSpecialSubframePatterns":"SSP0","cyclicPrefixDl":"NORMAL","cyclicPrefixUl":"NORMAL"},"additionalSpecialSubframeExtensionInfo":{"additionalSpecialSubframePatternsExtension":"SSP10","cyclicPrefixDl":"NORMAL","cyclicPrefixUl":"NORMAL"}}},"eutraMode":"FDD","prachConfiguration":{"rootSequenceIndex":7,"zeroCorrelationZoneConfiguration":6,"highSpeedFlag":true,"prachFrequencyOffset":6,"prachConfigurationIndex":5},"mbsfnSubframeInfos":[{"radioframeAllocationOffset":3,"subframeAllocation":"jhg"}],"csgId":"string","mbmsServiceAreaIdentities":["sds"],"multibandInfos":[4],"neighbourInfos":[{"ecgi":"klj","pci":5,"earFcn":4,"tac":"wew"}],"additionalCellInformation":{"cellLatitude":1,"cellLongitude":1,"antennaHeight":1,"antennaAzimuthDirection":2,"antennaTiltAngle":3,"antennaMaxTransmit":4,"antennaMaxGain":5,"sectorId":6}},{"pci":3,"cellId":"qrst","tac":"asd","broadcastPlmns":["jkl"],"choiceEutraMode":{"fdd":{"ulearFcn":2,"dlearFcn":4},"tdd":{"earFcn":4,"specialSubframeInfo":{"specialSubframePatterns":"SSP0","cyclicPrefixDl":"NORMAL","cyclicPrefixUl":"NORMAL"},"additionalSpecialSubframeInfo":{"additionalSpecialSubframePatterns":"SSP0","cyclicPrefixDl":"NORMAL","cyclicPrefixUl":"NORMAL"},"additionalSpecialSubframeExtensionInfo":{"additionalSpecialSubframePatternsExtension":"SSP10","cyclicPrefixDl":"NORMAL","cyclicPrefixUl":"NORMAL"}}},"eutraMode":"FDD","prachConfiguration":{"rootSequenceIndex":3,"zeroCorrelationZoneConfiguration":2,"highSpeedFlag":true,"prachFrequencyOffset":3,"prachConfigurationIndex":4},"mbsfnSubframeInfos":[{"radioframeAllocationOffset":5,"subframeAllocation":"jhg"}],"csgId":"string","mbmsServiceAreaIdentities":["sds"],"multibandInfos":[4],"neighbourInfos":[{"ecgi":"klj","pci":4,"earFcn":2,"tac":"wew"}],"additionalCellInformation":{"cellLatitude":3,"cellLongitude":3,"antennaHeight":3,"antennaAzimuthDirection":3,"antennaTiltAngle":4,"antennaMaxTransmit":4,"antennaMaxGain":5,"sectorId":5}}],"guGroupIds":["ghi"]}}
+${add_enb_request_body} {"ranName":"${enb_ran_name}","globalNbId":{"nbId":"abc","plmnId":"def"},"port":1234,"enb":{"enbType":3,"guGroupIds":["ghi"],"servedCells":[{"broadcastPlmns":["jkl"],"cellId":"mnop","choiceEutraMode":{"fdd":{"dlearFcn":1,"ulearFcn":1},"tdd":{"additionalSpecialSubframeExtensionInfo":{"additionalSpecialSubframePatternsExtension":1,"cyclicPrefixDl":1,"cyclicPrefixUl":1},"additionalSpecialSubframeInfo":{"additionalSpecialSubframePatterns":1,"cyclicPrefixDl":1,"cyclicPrefixUl":1},"earFcn":4,"specialSubframeInfo":{"specialSubframePatterns":1,"cyclicPrefixDl":1,"cyclicPrefixUl":1}}},"eutraMode":1,"csgId":"string","mbmsServiceAreaIdentities":["sds"],"mbsfnSubframeInfos":[{"radioframeAllocationOffset":3,"subframeAllocation":"jhg"}],"multibandInfos":[4],"neighbourInfos":[{"earFcn":4,"ecgi":"klj","pci":5,"tac":"wew"}],"pci":2,"prachConfiguration":{"highSpeedFlag":true,"prachConfigurationIndex":5,"prachFrequencyOffset":6,"rootSequenceIndex":7,"zeroCorrelationZoneConfiguration":6},"tac":"asd","additionalCellInformation":{"cellLatitude":1,"cellLongitude":1,"antennaHeight":1,"antennaAzimuthDirection":2,"antennaTiltAngle":3,"antennaMaxTransmit":4,"antennaMaxGain":5,"sectorId":6}},{"broadcastPlmns":["jkl"],"cellId":"qrst","choiceEutraMode":{"fdd":{"dlearFcn":4,"ulearFcn":2},"tdd":{"additionalSpecialSubframeExtensionInfo":{"additionalSpecialSubframePatternsExtension":1,"cyclicPrefixDl":1,"cyclicPrefixUl":1},"additionalSpecialSubframeInfo":{"additionalSpecialSubframePatterns":1,"cyclicPrefixDl":1,"cyclicPrefixUl":1},"earFcn":4,"specialSubframeInfo":{"specialSubframePatterns":1,"cyclicPrefixDl":1,"cyclicPrefixUl":1}}},"eutraMode":1,"csgId":"string","mbmsServiceAreaIdentities":["sds"],"mbsfnSubframeInfos":[{"radioframeAllocationOffset":5,"subframeAllocation":"jhg"}],"multibandInfos":[4],"neighbourInfos":[{"earFcn":2,"ecgi":"klj","pci":4,"tac":"wew"}],"pci":3,"prachConfiguration":{"highSpeedFlag":true,"prachConfigurationIndex":4,"prachFrequencyOffset":3,"rootSequenceIndex":3,"zeroCorrelationZoneConfiguration":2},"tac":"asd","additionalCellInformation":{"cellLatitude":3,"cellLongitude":3,"antennaHeight":3,"antennaAzimuthDirection":3,"antennaTiltAngle":4,"antennaMaxTransmit":4,"antennaMaxGain":5,"sectorId":5}}]}}
+${add_enb_response_body} {"ranName":"${enb_ran_name}","port":1234,"connectionStatus":"DISCONNECTED","globalNbId":{"plmnId":"def","nbId":"abc"},"nodeType":"ENB","enb":{"enbType":"SHORT_MACRO_ENB","servedCells":[{"pci":2,"cellId":"mnop","tac":"asd","broadcastPlmns":["jkl"],"choiceEutraMode":{"fdd":{"ulearFcn":1,"dlearFcn":1},"tdd":{"earFcn":4,"specialSubframeInfo":{"specialSubframePatterns":"SSP0","cyclicPrefixDl":"NORMAL","cyclicPrefixUl":"NORMAL"},"additionalSpecialSubframeInfo":{"additionalSpecialSubframePatterns":"SSP0","cyclicPrefixDl":"NORMAL","cyclicPrefixUl":"NORMAL"},"additionalSpecialSubframeExtensionInfo":{"additionalSpecialSubframePatternsExtension":"SSP10","cyclicPrefixDl":"NORMAL","cyclicPrefixUl":"NORMAL"}}},"eutraMode":"FDD","prachConfiguration":{"rootSequenceIndex":7,"zeroCorrelationZoneConfiguration":6,"highSpeedFlag":true,"prachFrequencyOffset":6,"prachConfigurationIndex":5},"mbsfnSubframeInfos":[{"radioframeAllocationOffset":3,"subframeAllocation":"jhg"}],"csgId":"string","mbmsServiceAreaIdentities":["sds"],"multibandInfos":[4],"neighbourInfos":[{"ecgi":"klj","pci":5,"earFcn":4,"tac":"wew"}],"additionalCellInformation":{"cellLatitude":1,"cellLongitude":1,"antennaHeight":1,"antennaAzimuthDirection":2,"antennaTiltAngle":3,"antennaMaxTransmit":4,"antennaMaxGain":5,"sectorId":6}},{"pci":3,"cellId":"qrst","tac":"asd","broadcastPlmns":["jkl"],"choiceEutraMode":{"fdd":{"ulearFcn":2,"dlearFcn":4},"tdd":{"earFcn":4,"specialSubframeInfo":{"specialSubframePatterns":"SSP0","cyclicPrefixDl":"NORMAL","cyclicPrefixUl":"NORMAL"},"additionalSpecialSubframeInfo":{"additionalSpecialSubframePatterns":"SSP0","cyclicPrefixDl":"NORMAL","cyclicPrefixUl":"NORMAL"},"additionalSpecialSubframeExtensionInfo":{"additionalSpecialSubframePatternsExtension":"SSP10","cyclicPrefixDl":"NORMAL","cyclicPrefixUl":"NORMAL"}}},"eutraMode":"FDD","prachConfiguration":{"rootSequenceIndex":3,"zeroCorrelationZoneConfiguration":2,"highSpeedFlag":true,"prachFrequencyOffset":3,"prachConfigurationIndex":4},"mbsfnSubframeInfos":[{"radioframeAllocationOffset":5,"subframeAllocation":"jhg"}],"csgId":"string","mbmsServiceAreaIdentities":["sds"],"multibandInfos":[4],"neighbourInfos":[{"ecgi":"klj","pci":4,"earFcn":2,"tac":"wew"}],"additionalCellInformation":{"cellLatitude":3,"cellLongitude":3,"antennaHeight":3,"antennaAzimuthDirection":3,"antennaTiltAngle":4,"antennaMaxTransmit":4,"antennaMaxGain":5,"sectorId":5}}],"guGroupIds":["ghi"]}}
${update_enb_request_body} {"enb":{"enbType":"HOME_ENB","guGroupIds":["ghi"],"servedCells":[{"broadcastPlmns":["jkl"],"cellId":"mnop","choiceEutraMode":{"fdd":{"dlearFcn":1,"ulearFcn":1},"tdd":{"additionalSpecialSubframeExtensionInfo":{"additionalSpecialSubframePatternsExtension":1,"cyclicPrefixDl":1,"cyclicPrefixUl":1},"additionalSpecialSubframeInfo":{"additionalSpecialSubframePatterns":1,"cyclicPrefixDl":1,"cyclicPrefixUl":1},"earFcn":4,"specialSubframeInfo":{"specialSubframePatterns":1,"cyclicPrefixDl":1,"cyclicPrefixUl":1}}},"eutraMode":1,"csgId":"string","mbmsServiceAreaIdentities":["sds"],"mbsfnSubframeInfos":[{"radioframeAllocationOffset":3,"subframeAllocation":"jhg"}],"multibandInfos":[4],"neighbourInfos":[{"earFcn":4,"ecgi":"klj","pci":5,"tac":"wew"}],"pci":2,"prachConfiguration":{"highSpeedFlag":true,"prachConfigurationIndex":5,"prachFrequencyOffset":6,"rootSequenceIndex":7,"zeroCorrelationZoneConfiguration":6},"tac":"asd","additionalCellInformation":{"cellLatitude":1,"cellLongitude":1,"antennaHeight":1,"antennaAzimuthDirection":2,"antennaTiltAngle":3,"antennaMaxTransmit":4,"antennaMaxGain":5,"sectorId":6}},{"broadcastPlmns":["jkl"],"cellId":"qrst","choiceEutraMode":{"fdd":{"dlearFcn":4,"ulearFcn":2},"tdd":{"additionalSpecialSubframeExtensionInfo":{"additionalSpecialSubframePatternsExtension":1,"cyclicPrefixDl":1,"cyclicPrefixUl":1},"additionalSpecialSubframeInfo":{"additionalSpecialSubframePatterns":1,"cyclicPrefixDl":1,"cyclicPrefixUl":1},"earFcn":4,"specialSubframeInfo":{"specialSubframePatterns":1,"cyclicPrefixDl":1,"cyclicPrefixUl":1}}},"eutraMode":1,"csgId":"string","mbmsServiceAreaIdentities":["sds"],"mbsfnSubframeInfos":[{"radioframeAllocationOffset":5,"subframeAllocation":"jhg"}],"multibandInfos":[4],"neighbourInfos":[{"earFcn":2,"ecgi":"klj","pci":4,"tac":"wew"}],"pci":3,"prachConfiguration":{"highSpeedFlag":true,"prachConfigurationIndex":4,"prachFrequencyOffset":3,"rootSequenceIndex":3,"zeroCorrelationZoneConfiguration":2},"tac":"asd","additionalCellInformation":{"cellLatitude":3,"cellLongitude":3,"antennaHeight":3,"antennaAzimuthDirection":3,"antennaTiltAngle":4,"antennaMaxTransmit":4,"antennaMaxGain":5,"sectorId":5}}]}}
${header} {"Content-Type": "application/json"}
#K8S
-${pods_number} 5
-${pods_number-1} 4
-${verify_all_pods_are_ready_command} kubectl -n ricplt get pods | grep -E 'dbaas|e2mgr|rtmgr|gnbe2|e2term' | grep Running | grep 1/1 |wc --lines
+${pods_number} 6
+${pods_number-1} 5
+${verify_all_pods_are_ready_command} kubectl -n ricplt get pods | grep -E 'dbaas|e2mgr|rtmgr|gnbe2|e2term|e2adapter' | grep Running | grep 1/1 |wc --lines
${stop_simu} kubectl scale --replicas=0 deploy/oran-simulator-gnbe2-oran-simu -n=ricplt
${start_simu} kubectl scale --replicas=1 deploy/oran-simulator-gnbe2-oran-simu -n=ricplt
${start_e2mgr} kubectl scale --replicas=1 deploy/deployment-ricplt-e2mgr -n=ricplt
${dbass_stop} kubectl -n ricplt scale statefulsets statefulset-ricplt-dbaas-server --replicas=0
${stop_routing_manager} kubectl scale --replicas=0 deploy/deployment-ricplt-rtmgr -n=ricplt
${start_routing_manager} kubectl scale --replicas=1 deploy/deployment-ricplt-rtmgr -n=ricplt
+${stop_e2adapter} kubectl scale --replicas=0 deploy/e2adapter -n=ricplt
+${start_e2adapter} kubectl scale --replicas=1 deploy/e2adapter -n=ricplt
${gnbe2_sim_pod} kubectl -n ricplt get pods |grep gnbe2 | awk '{print $1}'
${e2mgr_pod} kubectl -n ricplt get pods |grep e2mgr | awk '{print $1}'
${e2term_pod} kubectl -n ricplt get pods |grep e2term | awk '{print $1}'
service_ip = subprocess.check_output(["/bin/bash", "-c", k8s_command], universal_newlines=True)
- return service_ip.strip()
\ No newline at end of file
+ return service_ip.strip()
+
+def extract_pod_name(pod_base_name):
+ k8s_command = "kubectl get pods -n ricplt | /bin/grep {} | awk \'{{print $1}}\'" \
+ .format(pod_base_name)
+
+ pod_name = subprocess.check_output(["/bin/bash", "-c", k8s_command], universal_newlines=True)
+
+ return pod_name.strip()
\ No newline at end of file
e2t_alpha_ip = k8s_helper.extract_service_ip("e2term-rmr-alpha")
e2t_alpha_address = e2t_alpha_ip + ":38000"
+
+e2adapter_pod_name = k8s_helper.extract_pod_name("e2adapter")
+
Get request gnb
Sleep 2s
- Get Request node b gnb
+ Get Request nodeb
Integer response status 200
String response body ranName ${ranname}
String response body connectionStatus DISCONNECTED
--- /dev/null
+##############################################################################
+#
+# Copyright (c) 2019 AT&T Intellectual Property.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+##############################################################################
+#
+# This source code is part of the near-RT RIC (RAN Intelligent Controller)
+# platform project (RICP).
+#
+
+
+*** Settings ***
+Variables ../Scripts/variables.py
+Resource ../Resource/resource.robot
+Resource ../Resource/Keywords.robot
+Library OperatingSystem
+Library ../Scripts/find_rmr_message.py
+Library ../Scripts/log_scripts.py
+Library REST ${url}
+
+*** Variables ***
+${url} ${e2mgr_address}
+
+*** Test Cases ***
+[Setup]
+ Start Redis Monitor
+ AND Prepare Enviorment
+
+Add eNB
+ Sleep 2s
+ Add eNb Request
+ Integer response status 201
+ String response body ranName ${enb_ran_name}
+ String response body connectionStatus DISCONNECTED
+ String response body nodeType ENB
+ String response body enb enbType SHORT_MACRO_ENB
+ Missing response body setupFromNetwork
+
+Send eNB setup request via e2adapter
+ Send eNB Setup Request
+
+Get request eNB
+ Sleep 2s
+ Get Request nodeb ${enb_ran_name}
+ Integer response status 200
+ String response body ranName ${enb_ran_name}
+ String response body connectionStatus CONNECTED
+ String response body nodeType ENB
+ String response body enb enbType SHORT_MACRO_ENB
+ Boolean response body setupFromNetwork true
+
+Prepare Logs For Tests
+ Remove log files
+ Save logs
+
+Redis Monitor Logs - Verify Publish
+ Redis Monitor Logs - Verify Publish To Connection Status Channel ${enb_ran_name} CONNECTED
+ Redis Monitor Logs - Verify NOT Published To Manipulation Channel ${enb_ran_name} UPDATED
+
+[Teardown]
+ Stop Redis Monitor
+
+
+
+
+
--- /dev/null
+##############################################################################
+#
+# Copyright (c) 2019 AT&T Intellectual Property.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+##############################################################################
+#
+# This source code is part of the near-RT RIC (RAN Intelligent Controller)
+# platform project (RICP).
+#
+
+
+*** Settings ***
+Variables ../Scripts/variables.py
+Resource ../Resource/resource.robot
+Resource ../Resource/Keywords.robot
+Library OperatingSystem
+Library ../Scripts/find_rmr_message.py
+Library ../Scripts/log_scripts.py
+Library REST ${url}
+
+*** Variables ***
+${url} ${e2mgr_address}
+
+*** Test Cases ***
+[Setup]
+ Start Redis Monitor
+ AND Prepare Enviorment
+
+Send eNB setup request via e2adapter
+ Send eNB Setup Request
+
+Redis Monitor Logs - Verify Publish
+ Redis Monitor Logs - Verify Publish To Connection Status Channel ${enb_ran_name} CONNECTED
+ Redis Monitor Logs - Verify NOT Published To Manipulation Channel ${enb_ran_name} UPDATED
+
+Get request eNB
+ Sleep 2s
+ Get Request nodeb ${enb_ran_name}
+ Integer response status 200
+ String response body ranName ${enb_ran_name}
+ String response body connectionStatus CONNECTED
+ String response body nodeType ENB
+ String response body enb enbType SHORT_MACRO_ENB
+ Boolean response body setupFromNetwork true
+
+Prepare Logs For Tests
+ Remove log files
+ Save logs
+
+[Teardown]
+ Stop Redis Monitor
+
+
+
+
+
--- /dev/null
+##############################################################################
+#
+# Copyright (c) 2019 AT&T Intellectual Property.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+##############################################################################
+#
+# This source code is part of the near-RT RIC (RAN Intelligent Controller)
+# platform project (RICP).
+#
+
+*** Settings ***
+Documentation Setup eNB
# The Jenkins job requires a tag to build the Docker image.
# Global-JJB script assumes this file is in the repo root.
---
-tag: 5.4.1
+tag: 5.4.2
return false, errors.New("nodeB entity in incorrect state")
}
+ nodebInfo.SetupFromNetwork = true
+
if nodebInfo.NodeType == entities.Node_ENB {
return false, nil
}
notificationRequest := &models.NotificationRequest{RanName: enbNodebRanName, Payload: append([]byte(e2SetupMsgPrefix), xmlEnb...)}
enbToUpdate := getExpectedNodebForExistingRan(*nodebInfo, notificationRequest.Payload)
-
+ enbToUpdate.SetupFromNetwork = true
writerMock.On("UpdateNodebInfo", enbToUpdate).Return(nil)
e2tInstancesManagerMock.On("AddRansToInstance", e2tInstanceFullAddress, []string{enbNodebRanName}).Return(nil)
var errEmpty error
enbToUpdate2 := *enbToUpdate
enbToUpdate2.ConnectionStatus = entities.ConnectionStatus_CONNECTED
+ enbToUpdate2.SetupFromNetwork = true
writerMock.On("UpdateNodebInfoOnConnectionStatusInversion", &enbToUpdate2, enbNodebRanName+"_CONNECTED").Return(nil)
enbToUpdate3 := *enbToUpdate
enbToUpdate3.ConnectionStatus = entities.ConnectionStatus_CONNECTED
+ enbToUpdate3.SetupFromNetwork = true
enbToUpdate3.AssociatedE2TInstanceAddress = e2tInstanceFullAddress
writerMock.On("UpdateNodebInfo", &enbToUpdate3).Return(nil)
e2tInstancesManagerMock.On("AddRansToInstance", e2tInstanceFullAddress, []string{enbNodebRanName}).Return(nil)
notificationRequest := &models.NotificationRequest{RanName: gnbNodebRanName, Payload: append([]byte(e2SetupMsgPrefix), xmlGnb...)}
gnbToUpdate := getExpectedNodebForExistingRan(*nodebInfo, notificationRequest.Payload)
-
+ gnbToUpdate.SetupFromNetwork = true
writerMock.On("UpdateNodebInfo", gnbToUpdate).Return(nil)
if withFunctions {
writerMock.On("UpdateNodebInfoAndPublish", gnbToUpdate).Return(nil)
gnbToUpdate2 := *gnbToUpdate
gnbToUpdate2.ConnectionStatus = entities.ConnectionStatus_DISCONNECTED
+ gnbToUpdate2.SetupFromNetwork = true
writerMock.On("UpdateNodebInfoOnConnectionStatusInversion", &gnbToUpdate2, gnbNodebRanName+"_DISCONNECTED").Return(nil)
var errEmpty error
gnbToUpdate := getExpectedNodebForExistingRan(*nodebInfo, notificationRequest.Payload)
gnbToUpdate2 := *gnbToUpdate
gnbToUpdate2.ConnectionStatus = entities.ConnectionStatus_CONNECTED
+ gnbToUpdate2.SetupFromNetwork = true
writerMock.On("UpdateNodebInfoOnConnectionStatusInversion", &gnbToUpdate2, gnbNodebRanName+"_CONNECTED").Return(nil)
gnbToUpdate3 := *gnbToUpdate
gnbToUpdate3.ConnectionStatus = entities.ConnectionStatus_CONNECTED
+ gnbToUpdate3.SetupFromNetwork = true
gnbToUpdate3.AssociatedE2TInstanceAddress = e2tInstanceFullAddress
writerMock.On("UpdateNodebInfo", &gnbToUpdate3).Return(nil)
e2tInstancesManagerMock.On("AddRansToInstance", e2tInstanceFullAddress, []string{gnbNodebRanName}).Return(nil)