diff --git a/ci-scripts/cls_containerize.py b/ci-scripts/cls_containerize.py
index 6cf3e95db7..ea09cd0585 100644
--- a/ci-scripts/cls_containerize.py
+++ b/ci-scripts/cls_containerize.py
@@ -93,6 +93,7 @@ class Containerize():
self.allImagesSize = {}
self.collectInfo = {}
+ self.tsharkStarted = False
self.pingContName = ''
self.pingOptions = ''
self.pingLossThreshold = ''
@@ -597,6 +598,10 @@ class Containerize():
time.sleep(10)
if count == 100 and healthy == self.nb_healthy[0]:
+ if self.tsharkStarted == False:
+ logging.debug('Starting tshark on public network')
+ self.CaptureOnDockerNetworks()
+ self.tsharkStarted = True
HTML.CreateHtmlTestRow('n/a', 'OK', CONST.ALL_PROCESSES_OK)
logging.info('\u001B[1m Deploying OAI Object(s) PASS\u001B[0m')
else:
@@ -604,6 +609,20 @@ class Containerize():
HTML.CreateHtmlTestRow('Could not deploy in time', 'KO', CONST.ALL_PROCESSES_OK)
logging.error('\u001B[1m Deploying OAI Object(s) FAILED\u001B[0m')
+ def CaptureOnDockerNetworks(self):
+ cmd = 'cd ' + self.yamlPath[0] + ' && docker-compose -f docker-compose-ci.yml config | grep com.docker.network.bridge.name | sed -e "s@^.*name: @@"'
+ networkNames = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=10)
+ cmd = 'sudo nohup tshark -f "not tcp and not arp and not port 53 and not host archive.ubuntu.com and not host security.ubuntu.com"'
+ for name in networkNames.split('\n'):
+ res = re.search('rfsim', name)
+ if res is not None:
+ cmd += ' -i ' + name
+ cmd += ' -w /tmp/capture_'
+ ymlPath = self.yamlPath[0].split('/')
+ cmd += ymlPath[1] + '.pcap > /tmp/tshark.log 2>&1 &'
+ logging.debug(cmd)
+ networkNames = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=10)
+
def UndeployGenObject(self, HTML):
self.exitStatus = 0
ymlPath = self.yamlPath[0].split('/')
@@ -638,6 +657,18 @@ class Containerize():
cmd = 'mkdir -p '+ logPath + ' && mv ' + self.yamlPath[0] + '/*.log ' + logPath
logging.debug(cmd)
deployStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=10)
+ if self.tsharkStarted:
+ self.tsharkStarted = True
+ ymlPath = self.yamlPath[0].split('/')
+ cmd = 'sudo chmod 666 /tmp/capture_' + ymlPath[1] + '.pcap'
+ logging.debug(cmd)
+ copyStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=10)
+ cmd = 'cp /tmp/capture_' + ymlPath[1] + '.pcap ' + logPath
+ logging.debug(cmd)
+ copyStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=10)
+ cmd = 'sudo rm /tmp/capture_' + ymlPath[1] + '.pcap'
+ logging.debug(cmd)
+ copyStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=10)
cmd = 'cd ' + self.yamlPath[0] + ' && docker-compose -f docker-compose-ci.yml down'
logging.debug(cmd)
@@ -715,9 +746,16 @@ class Containerize():
if status:
HTML.CreateHtmlTestRowQueue(self.pingOptions, 'OK', 1, html_queue)
else:
- self.exitStatus = 1
- logging.error('\u001B[1;37;41m ' + message + ' \u001B[0m')
+ logging.error('\u001B[1;37;41m ping test FAIL -- ' + message + ' \u001B[0m')
HTML.CreateHtmlTestRowQueue(self.pingOptions, 'KO', 1, html_queue)
+ # Automatic undeployment
+ logging.debug('----------------------------------------')
+ logging.debug('\u001B[1m Starting Automatic undeployment \u001B[0m')
+ logging.debug('----------------------------------------')
+ HTML.testCase_id = 'AUTO-UNDEPLOY'
+ HTML.desc = 'Automatic Un-Deployment'
+ self.UndeployGenObject(HTML)
+ self.exitStatus = 1
def IperfFromContainer(self, HTML):
self.exitStatus = 0
@@ -836,5 +874,13 @@ class Containerize():
if status:
HTML.CreateHtmlTestRowQueue(self.cliOptions, 'OK', 1, html_queue)
else:
- self.exitStatus = 1
+ logging.error('\u001B[1m Iperf Test FAIL -- ' + message + ' \u001B[0m')
HTML.CreateHtmlTestRowQueue(self.cliOptions, 'KO', 1, html_queue)
+ # Automatic undeployment
+ logging.debug('----------------------------------------')
+ logging.debug('\u001B[1m Starting Automatic undeployment \u001B[0m')
+ logging.debug('----------------------------------------')
+ HTML.testCase_id = 'AUTO-UNDEPLOY'
+ HTML.desc = 'Automatic Un-Deployment'
+ self.UndeployGenObject(HTML)
+ self.exitStatus = 1
diff --git a/ci-scripts/xml_files/container_5g_f1_rfsim.xml b/ci-scripts/xml_files/container_5g_f1_rfsim.xml
index 400cd86fcd..501f2fe46f 100644
--- a/ci-scripts/xml_files/container_5g_f1_rfsim.xml
+++ b/ci-scripts/xml_files/container_5g_f1_rfsim.xml
@@ -26,6 +26,7 @@
wrench
100021
+ 000020
000021
000022
000023
@@ -33,16 +34,23 @@
020021
020022
030021
- 030022
100021
+
+ DeployGenObject
+ Deploy MySql Database
+ yaml_files/5g_f1_rfsimulator
+ mysql
+ 1
+
+
DeployGenObject
Deploy OAI 5G CoreNetwork
yaml_files/5g_f1_rfsimulator
- mysql oai-nrf oai-amf oai-smf oai-spgwu oai-ext-dn
+ oai-nrf oai-amf oai-smf oai-spgwu oai-ext-dn
6
@@ -92,7 +100,7 @@
rfsim5g-oai-nr-ue
rfsim5g-oai-ext-dn
-B 12.1.1.2 -u -i 1 -s
- -c 12.1.1.2 -u -i 1 -t 30 -b 400K
+ -c 12.1.1.2 -u -i 1 -t 30 -b 200K
@@ -101,7 +109,7 @@
rfsim5g-oai-ext-dn
rfsim5g-oai-nr-ue
-u -i 1 -s
- -B 12.1.1.2 -c 192.168.72.135 -u -i 1 -t 30 -b 20K
+ -B 12.1.1.2 -c 192.168.72.135 -u -i 1 -t 30 -b 5K
diff --git a/ci-scripts/xml_files/container_5g_rfsim.xml b/ci-scripts/xml_files/container_5g_rfsim.xml
index 31d7c1429b..da727f59c4 100644
--- a/ci-scripts/xml_files/container_5g_rfsim.xml
+++ b/ci-scripts/xml_files/container_5g_rfsim.xml
@@ -26,6 +26,7 @@
wrench
100001
+ 000000
000001
000002
000003
@@ -37,11 +38,19 @@
+
+ DeployGenObject
+ Deploy MySql Database
+ yaml_files/5g_rfsimulator
+ mysql
+ 1
+
+
DeployGenObject
Deploy OAI 5G CoreNetwork
yaml_files/5g_rfsimulator
- mysql oai-nrf oai-amf oai-smf oai-spgwu oai-ext-dn
+ oai-nrf oai-amf oai-smf oai-spgwu oai-ext-dn
6