E2Manager/asn1codec/e2ap_engine/converter-example
E2Manager/asn1codec/tests/
E2Manager/cp.out
+/Automation/Tests/ConfigurationUpdate/__pycache__/verifylogs.cpython-36.pyc
+/Automation/Tests/Get-All-Nodes/__pycache__/getnodes.cpython-36.pyc
+/Automation/Tests/LoadInfomation/__pycache__/Loadinformation_adding_data_and_overwrite.robot
+/Automation/Tests/LoadInfomation/__pycache__/Loadinformation_verify_saving.robot
+/Automation/Tests/LoadInfomation/__pycache__/__init__.robot
+/Automation/Tests/LoadInfomation/__pycache__/config.py
+/Automation/Tests/LoadInfomation/__pycache__/loadscripts.py
+/Automation/Tests/Resource/__pycache__/config.cpython-36.pyc
+/Automation/Tests/Resource/__pycache__/scripts.cpython-36.pyc
--- /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.
+#
+##############################################################################
+
+
+*** Settings ***
+Suite Setup Prepare Enviorment
+Resource ../Resource/resource.robot
+Resource ../Resource/Keywords.robot
+Library OperatingSystem
+Library REST ${url}
+
+
+*** Variables ***
+${Run_Config} docker exec gnbe2_simu pkill gnbe2_simu -INT
+${Save_e2_log} docker logs --tail 300 gnbe2_simu > gnb.log
+${Save_e2mgr_log} docker logs --tail 300 e2mgr > e2mgr.log
+
+*** Test Cases ***
+X2 - Setup and Get
+ Post Request setup node b x-2
+ Get Request node b enb test1
+
+
+Run Configuration update
+ Run ${Run_Config}
+ Sleep 1s
+
+Remove log files
+ Remove File ${EXECDIR}/gnb.log
+ Remove File ${EXECDIR}/e2mgr.log
+
+Save logs
+ Sleep 1s
+ Run ${Save_e2_log}
+ Run ${Save_e2mgr_log}
+
+
+
+
+
+
+
+
##############################################################################
*** Settings ***
+Suite Setup Prepare Enviorment
Resource ../Resource/resource.robot
Resource ../Resource/Keywords.robot
Library OperatingSystem
##############################################################################
*** Settings ***
+Suite Setup Prepare Enviorment
Library Process
Resource ../Resource/resource.robot
Resource ../Resource/Keywords.robot
Run x2 setup
Post Request setup node b x-2
Integer response status 200
+ Sleep 2s
GET /v1/nodeb/test1
Integer response status 200
String response body ranName test1
Run endc setup
Post Request setup node b endc-setup
Integer response status 200
+ Sleep 2s
GET /v1/nodeb/test2
Integer response status 200
String response body ranName test2
Get all node ids
GET v1/nodeb/ids
- #Output
+ Sleep 2s
Integer response status 200
String response body 0 inventoryName test1
String response body 0 globalNbId plmnId 02f829
String response body 1 inventoryName test2
String response body 1 globalNbId plmnId 42f490
String response body 1 globalNbId nbId 000004
+
+
+
+
+
+
+
+
##############################################################################
*** Settings ***
-Suite Setup Flush Redis
+Suite Setup Prepare Enviorment
Library Process
Resource ../Resource/resource.robot
+Resource ../Resource/Keywords.robot
Library OperatingSystem
-Library ${CURDIR}/scripts.py
+Library ${CURDIR}/getnodes.py
Library REST ${url}
*** Test Cases ***
Add nodes to redis db
- ${result} scripts.add
+ ${result} getnodes.add
Should Be Equal As Strings ${result} True
-*** Keywords ***
-Flush Redis
- ${result} scripts.flush
- Should Be Equal As Strings ${result} True
+
+
+
+
+
+
+
--- /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.
+#
+##############################################################################
+
+import config
+import redis
+
+
+def add():
+
+ c = config.redis_ip_address
+
+ p = config.redis_ip_port
+
+ r = redis.Redis(host=c, port=p, db=0)
+
+ r.flushall()
+
+ r.set("{e2Manager},ENB:02f829:007a80", "\n\x05test1\x12\t10.0.2.15\x18\xc9+ \x01*\x10\n\x0602f829\x12\x06007a800\x01:3\b\x01\x12/\bc\x12\x0f02f829:0007ab50\x1a\x040102\"\x0602f829*\n\n\b\b\x01\x10\x01\x18\x04 \x040\x01")
+
+ r.set("{e2Manager},RAN:test1","\x12\t10.0.2.15\x18\xc9+ \x03H\x01R\x02\b\t")
+
+ r.set("{e2Manager},PCI:test1:63" , "\b\x01\x12/\bc\x12\x0f02f829:0007ab50\x1a\x040102\"\x0602f829*\n\n\b\b\x01\x10\x01\x18\x04 \x040\x01")
+
+ r.set("{e2Manager},CELL:02f829:0007ab50" , "\b\x01\x12/\bc\x12\x0f02f829:0007ab50\x1a\x040102\"\x0602f829*\n\n\b\b\x01\x10\x01\x18\x04 \x040\x01")
+
+ r.sadd("{e2Manager},ENB" , "\n\x05test1\x12\x10\n\x0602f829\x12\x06007a80")
+
+
+ r.set("{e2Manager},GNB:03f829:002234", "\n\x05test2\x12\t10.0.2.16\x18\xc9+ \x01*\x10\n\x0702f829\x12\x070012340\x02BI\nG\nE\bc\x12\x1102f829:0008ab0120*\x0602f8290\x01:$\n\"\n\t\bd\"\x05\b\t\x12\x01\t\x12\t\bd\"\x05\b\t\x12\x01\t\x1a\x04\b\x01\x10\x01\"\x04\b\x01\x10\x01")
+
+ r.set("{e2Manager},RAN:test2", "\n\x05test2\x12\t10.0.2.15\x18\xc9+ \x01*\x10\n\x0702f829\x12\x070012340\x03BI\nG\nE\bc\x12\x1103f829:0008ab0120*\x0602f8290\x01:$\n\"\n\t\bd\"\x05\b\t\x12\x01\t\x12\t\bd\"\x05\b\t\x12\x01\t\x1a\x04\b\x01\x10\x01\"\x04\b\x01\x10\x01")
+
+ r.set("{e2Manager},PCI:test2:63", "\b\x02\x1aG\nE\bc\x12\x1102f829:0008ab0120*\x0702f8290\x01:$\n\"\n\t\bd\"\x05\b\t\x12\x01\t\x12\t\bd\"\x05\b\t\x12\x01\t\x1a\x04\b\x01\x10\x01\"\x04\b\x01\x10\x01")
+
+ r.set("{e2Manager},NRCELL:02f829:0007ab0120", "\b\x02\x1aG\nE\bc\x12\x1102f829:0007ab0120*\x0602f8290\x01:$\n\"\n\t\bd\"\x05\b\t\x12\x01\t\x12\t\bd\"\x05\b\t\x12\x01\t\x1a\x04\b\x01\x10\x01\"\x04\b\x01\x10\x01")
+
+ r.sadd("{e2Manager},GNB","\n\x05test2\x12\x10\n\x0603f829\x12\x06001234")
+
+ return True
##############################################################################
*** Settings ***
+Suite Setup Prepare Enviorment
+Resource ../Resource/Keywords.robot
Resource ../Resource/resource.robot
Library OperatingSystem
Library REST ${url}
--- /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.
+#
+##############################################################################
+
+*** Settings ***
+Suite Setup Prepare Simulator For Load Information
+Resource ../Resource/resource.robot
+Resource ../Resource/Keywords.robot
+Library OperatingSystem
+Library Collections
+Library Process
+Library ${CURDIR}/loadscripts.py
+Library REST ${url}
+
+
+
+*** Test Cases ***
+Verify Load information doesn't exist in redis
+ ${result}= loadscripts.verify
+ Should Be Equal As Strings ${result} False
+
+Adding Load information to overwrite on
+ ${result}= loadscripts.add
+ Should Be Equal As Strings ${result} True
+
+
+Trigger X-2 Setup for load information
+ Post Request setup node b x-2
+ Integer response status 200
+ Sleep 1s
+ GET /v1/nodeb/test1
+ Integer response status 200
+ String response body connectionStatus CONNECTED
+
+
+Verify Load information does exist in redis
+ ${result}= loadscripts.verify_value
+ Should Be Equal As Strings ${result} True
+
--- /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.
+#
+##############################################################################
+
+*** Settings ***
+Suite Setup Prepare Simulator For Load Information
+Resource ../Resource/resource.robot
+Resource ../Resource/Keywords.robot
+Library OperatingSystem
+Library Collections
+Library Process
+Library ${CURDIR}/loadscripts.py
+Library REST ${url}
+
+
+
+
+
+
+*** Test Cases ***
+Verify Load information doesn't exist in redis
+ ${result}= loadscripts.verify
+ Should Be Equal As Strings ${result} False
+
+
+Trigger X-2 Setup for load information
+ Post Request setup node b x-2
+ Integer response status 200
+ Sleep 1s
+ GET /v1/nodeb/test1
+ Integer response status 200
+ String response body connectionStatus CONNECTED
+
+
+Verify Load information does exist in redis
+ Sleep 2s
+ ${result}= loadscripts.verify
+ Should Be Equal As Strings ${result} True
+
--- /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.
+#
+##############################################################################
+
+*** Settings ***
+Documentation ORAN Load Infomration scenarios
--- /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.
+#
+##############################################################################
+
+redis_ip_address = 'localhost'
+redis_ip_port = 6379
--- /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.
+#
+##############################################################################
+
+
+import redis
+import config
+
+
+def verify_value():
+
+ c = config.redis_ip_address
+
+ p = config.redis_ip_port
+
+ r = redis.Redis(host=c, port=p, db=0)
+
+ value = "\b\x98\xf7\xdd\xa3\xc7\xb4\x83\xde\x15\x12\x11\n\x0f02f829:0007ab00"
+
+ if r.get("{e2Manager},LOAD:test1") != value:
+ return True
+ else:
+ return False
+
+
+def add():
+
+ c = config.redis_ip_address
+
+ p = config.redis_ip_port
+
+ r = redis.Redis(host=c, port=p, db=0)
+
+ r.set("{e2Manager},LOAD:test1", "\b\x98\xf7\xdd\xa3\xc7\xb4\x83\xde\x15\x12\x11\n\x0f02f829:0007ab00")
+
+ if r.exists("{e2Manager},LOAD:test1"):
+ return True
+ else:
+ return False
+
+
+def verify():
+
+ c = config.redis_ip_address
+
+ p = config.redis_ip_port
+
+ r = redis.Redis(host=c, port=p, db=0)
+
+ if r.exists("{e2Manager},LOAD:test1"):
+ return True
+ else:
+ return False
##############################################################################
*** Settings ***
+Suite Setup Prepare Enviorment
Resource ../Resource/resource.robot
Resource ../Resource/Keywords.robot
Library OperatingSystem
##############################################################################
*** Settings ***
+Suite Setup Prepare Enviorment
Resource ../Resource/resource.robot
Resource ../Resource/Keywords.robot
Library OperatingSystem
#
##############################################################################
*** Settings ***
+Suite Setup Prepare Enviorment
Resource ../Resource/resource.robot
Resource ../Resource/Keywords.robot
Library OperatingSystem
Library Collections
Library REST ${url}
-
-*** Variables ***
-${stop_docker_e2} docker stop e2
+Suite Teardown Start E2
Disconnect Ran
PUT /v1/nodeb/shutdown
- Integer response status 204
+ Integer response status 500
Verfiy Shutdown ConnectionStatus
GET /v1/nodeb/test1
Integer response status 200
String response body ranName test1
- String response body connectionStatus SHUT_DOWN
+ String response body connectionStatus SHUTTING_DOWN
##############################################################################
*** Settings ***
+Suite Setup Prepare Enviorment
Resource ../Resource/resource.robot
Resource ../Resource/Keywords.robot
Library OperatingSystem
#
##############################################################################
*** Settings ***
+Suite Setup Prepare Enviorment
Resource ../Resource/resource.robot
Resource ../Resource/Keywords.robot
Library OperatingSystem
##############################################################################
*** Settings ***
+Suite Setup Prepare Enviorment
Resource ../Resource/resource.robot
Resource ../Resource/Keywords.robot
Library OperatingSystem
##############################################################################
*** Settings ***
+Suite Setup Prepare Enviorment
Resource ../Resource/resource.robot
Resource ../Resource/Keywords.robot
Library OperatingSystem
##############################################################################
*** Settings ***
+Suite Setup Prepare Enviorment
Resource ../Resource/resource.robot
Resource ../Resource/Keywords.robot
Library OperatingSystem
#
##############################################################################
*** Settings ***
+Suite Setup Prepare Enviorment
Resource ../Resource/resource.robot
Resource ../Resource/Keywords.robot
Library OperatingSystem
*** Settings ***
Documentation Keywords file
+Library ${CURDIR}/scripts.py
Resource ../Resource/resource.robot
Library OperatingSystem
-
-
-
*** Keywords ***
Post Request setup node b x-2
Set Headers ${header}
POST /v1/nodeb/x2-setup ${json}
-
Get Request node b enb test1
Sleep 1s
GET /v1/nodeb/test1
Sleep 1s
GET /v1/nodeb/test2
-
-
Post Request setup node b endc-setup
Set Headers ${header}
POST /v1/nodeb/endc-setup ${endcjson}
Prepare Simulator For Load Information
Run And Return Rc And Output ${stop_simu}
Run And Return Rc And Output ${docker_Remove}
- Run And Return Rc And Output ${run_simu}
+ ${flush} scripts.flush
+ Should Be Equal As Strings ${flush} True
+ Run And Return Rc And Output ${run_simu_load}
+ ${result}= Run And Return Rc And Output ${docker_command}
+ Should Be Equal As Integers ${result[1]} 5
+
+Prepare Enviorment
+ ${flush} scripts.flush
+ Should Be Equal As Strings ${flush} True
+ Run And Return Rc And Output ${stop_simu}
+ Run And Return Rc And Output ${docker_Remove}
+ Run And Return Rc And Output ${run_simu_regular}
+ Run And Return Rc And Output ${restart_e2adapter}
+ ${result}= Run And Return Rc And Output ${docker_command}
+ Should Be Equal As Integers ${result[1]} 5
+
+Start E2
+ Run And Return Rc And Output ${start_e2}
+ ${result}= Run And Return Rc And Output ${docker_command}
+ Should Be Equal As Integers ${result[1]} 5
+ Sleep 2s
+
+Start Redis
+ Run And Return Rc And Output ${redis_remove}
+ Run And Return Rc And Output ${start_redis}
${result}= Run And Return Rc And Output ${docker_command}
Should Be Equal As Integers ${result[1]} 5
+
+
+
--- /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.
+#
+##############################################################################
+
+redis_ip_address = 'localhost'
+redis_ip_port = 6379
--- /dev/null
+logging:
+ logLevel: info
+http:
+ port: 3800
+rmr:
+ port: 3801
+ maxMsgSize: 4096
+notificationResponseBuffer: 100
+bigRedButtonTimeoutSec: 5
+maxConnectionAttempts: 300
${resetcausejson} {"cause": "misc:not-enough-user-plane-processing-resources"}
${header} {"Content-Type": "application/json"}
${docker_command} docker ps | grep 1.0 | wc --lines
-${run_simu} docker run -d --name gnbe2_simu --env gNBipv4=localhost --env gNBport=36422 --env duration=600000000000 --env indicationReportRate=1000000000 --env indicationInsertRate=0 -p 5577:36422/sctp snapshot.docker.ranco-dev-tools.eastus.cloudapp.azure.com:10001/gnbe2_sim:1.0.5
+${run_simu_load} docker run -d --name gnbe2_simu --env gNBipv4=localhost --env gNBport=36422 --env duration=600000000000 --env indicationReportRate=1000000000 --env indicationInsertRate=0 -p 5577:36422/sctp snapshot.docker.ranco-dev-tools.eastus.cloudapp.azure.com:10001/gnbe2_sim:1.0.5
${stop_simu} docker stop gnbe2_simu
+${run_simu_regular} docker run -d --name gnbe2_simu --env gNBipv4=localhost --env gNBport=36422 --env duration=600000000000 --env indicationReportRate=0 --env indicationInsertRate=0 -p 5577:36422/sctp snapshot.docker.ranco-dev-tools.eastus.cloudapp.azure.com:10001/gnbe2_sim:1.0.5
${docker_Remove} docker rm gnbe2_simu
+${docker_cp} docker cp ../Resource/configuration.yaml e2mgr:/opt/E2Manager/resources/configuration.yaml
+${docker_restart} docker restart e2mgr
+${restart_simu} docker restart gnbe2_simu
+${restart_e2adapter} docker restart e2adapter
+${start_e2} docker start e2
+${stop_docker_e2} docker stop e2
+${start_redis} docker run -d --name redis -p 6379:6379 --env DBAAS_SERVICE_HOST=10.0.2.15 snapshot.docker.ranco-dev-tools.eastus.cloudapp.azure.com:10001/dbass:1.0.0
+${redis_remove} docker rm redis
+
+
+
--- /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.
+#
+##############################################################################
+import config
+import redis
+
+
+def flush():
+
+ c = config.redis_ip_address
+
+ p = config.redis_ip_port
+
+ r = redis.Redis(host=c, port=p, db=0)
+
+ r.flushall()
+
+ return True
+
##############################################################################
*** Settings ***
+Suite Setup Prepare Enviorment
+Resource ../Resource/Keywords.robot
Resource ../Resource/resource.robot
Library OperatingSystem
Library REST ${url}
##############################################################################
*** Settings ***
+Suite Setup Prepare Enviorment
+Resource ../Resource/Keywords.robot
Resource ../Resource/resource.robot
Library OperatingSystem
Library REST ${url}
##############################################################################
*** Settings ***
+Suite Setup Prepare Enviorment
+Resource ../Resource/Keywords.robot
Resource ../Resource/resource.robot
Library OperatingSystem
Library REST ${url}
+Suite Teardown Start Redis
*** Test Cases ***
Get Request node b gnb - DB down - 500
GET /v1/nodeb/test5
Integer response status 500
-
-*** Keywords ***
-Start dockers
- Run And Return Rc And Output ${run_script}
- ${result}= Run And Return Rc And Output ${docker_command}
- Should Be Equal As Integers ${result[1]} 5
\ No newline at end of file
##############################################################################
*** Settings ***
+Suite Setup Prepare Enviorment
+Resource ../Resource/Keywords.robot
Resource ../Resource/resource.robot
Library OperatingSystem
Library REST ${url}
##############################################################################
*** Settings ***
-
+Suite Setup Prepare Enviorment
Resource ../Resource/resource.robot
Resource ../Resource/Keywords.robot
Library OperatingSystem