docker support for OpenROADM 2.2.1 sims 87/84287/3
authorguillaume.lambert <guillaume.lambert@orange.com>
Tue, 10 Sep 2019 10:01:51 +0000 (12:01 +0200)
committerguillaume.lambert <guillaume.lambert@orange.com>
Wed, 11 Sep 2019 08:20:55 +0000 (10:20 +0200)
- rename 1.2.1 / 2.1 docker files and scripts
- create 2.2.1 docker files  and scripts
- rationalize ports used by sims in 1.2.1 functional tests
- improve start scripts

NB: sims 2.1 implements OpenROADM device version 1.2.1

Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: Id8ad87dae4431da8aa897a0aaf494b7436fdb80f

tests/Xtesting/DockerSims/Dockerfile.orig.21 [moved from tests/Xtesting/DockerSims/Dockerfile.orig with 100% similarity]
tests/Xtesting/DockerSims/Dockerfile.orig.221 [new file with mode: 0644]
tests/Xtesting/DockerSims/generate_sims21.sh [moved from tests/Xtesting/DockerSims/generate_sims.sh with 92% similarity]
tests/Xtesting/DockerSims/generate_sims221.sh [new file with mode: 0755]
tests/Xtesting/DockerSims/start_sims.sh [deleted file]
tests/Xtesting/DockerSims/start_sims21.sh [new file with mode: 0755]
tests/Xtesting/DockerSims/start_sims221.sh [new file with mode: 0755]
tests/transportpce_tests/1.2.1/test_end2end.py
tests/transportpce_tests/1.2.1/test_olm.py
tests/transportpce_tests/1.2.1/test_renderer_service_path_nominal.py

diff --git a/tests/Xtesting/DockerSims/Dockerfile.orig.221 b/tests/Xtesting/DockerSims/Dockerfile.orig.221
new file mode 100644 (file)
index 0000000..a2da3e5
--- /dev/null
@@ -0,0 +1,17 @@
+FROM openjdk:8-jdk-alpine
+
+RUN apk add --update --no-cache bash procps maven git \
+  && mkdir /opt/sims \
+  && cd /root \
+  && git clone -b master https://git.opendaylight.org/gerrit/transportpce \
+  && cd transportpce/tests \
+  && ./buildHoneynode.sh 2.2.1\
+  && mv honeynode/2.2.1 /opt/sims/honeynode \
+  && echo -e '#/bin/sh\n\ncd /opt/sims\n./honeynode/honeynode-distribution/target/honeynode-distribution-1.18.01-hc/honeynode-distribution-1.18.01/honeycomb-tpce $@\n'>/usr/bin/honeynode \
+  && chmod +x /usr/bin/honeynode \
+  && mv sample_configs/ /opt/sims/ \
+  && cd ../.. \
+  && rm -rf transportpce/ .m2/ \
+  && apk del git maven
+
+#CMD honeynode 830 sample_configs/openroadm/2.2.1/oper-ROADMA.xml
similarity index 92%
rename from tests/Xtesting/DockerSims/generate_sims.sh
rename to tests/Xtesting/DockerSims/generate_sims21.sh
index 0fea9c3564ccd86e483c021047c70784264da986..e42b912f02a7cd7f43d7c49121b352bccd6b89fb 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/bash
 
-cp Dockerfile.orig Dockerfile
+cp Dockerfile.orig.21 Dockerfile
 sudo docker build --tag=alpine_honeynode:2.1 .
 for conf_file in `(cd ../.. && ls sample_configs/openroadm/2.1/)`
 do  DOCKNAME=honeynode_`echo $conf_file |cut -d\. -f1 |tr '[:upper:]' '[:lower:]'`
diff --git a/tests/Xtesting/DockerSims/generate_sims221.sh b/tests/Xtesting/DockerSims/generate_sims221.sh
new file mode 100755 (executable)
index 0000000..d789a32
--- /dev/null
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+cp Dockerfile.orig.221 Dockerfile
+sudo docker build --tag=alpine_honeynode:2.2.1 .
+for conf_file in `(cd ../.. && ls sample_configs/openroadm/2.2.1/)`
+do  DOCKNAME=honeynode_`echo $conf_file |cut -d\. -f1 |tr '[:upper:]' '[:lower:]'`
+        echo "generating docker image '$DOCKNAME'"
+        echo -e "FROM alpine_honeynode:2.2.1\n\nCMD honeynode 830 sample_configs/openroadm/2.2.1/$conf_file\n" >Dockerfile
+        sudo docker build --tag=$DOCKNAME:2.2.1 .
+done
diff --git a/tests/Xtesting/DockerSims/start_sims.sh b/tests/Xtesting/DockerSims/start_sims.sh
deleted file mode 100755 (executable)
index 82fdd69..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/sh
-
-echo `sudo docker run -d -p 17830:830  honeynode_oper-roadma:2.1`>>sims.pid
-echo `sudo docker run -d -p 17840:830  honeynode_oper-roadma-full:2.1`>>sims.pid
-echo `sudo docker run -d -p 17831:830  honeynode_oper-xpdra:2.1`>>sims.pid
-echo `sudo docker run -d -p 17833:830  honeynode_oper-roadmc:2.1`>>sims.pid
-echo `sudo docker run -d -p 17843:830  honeynode_oper-roadmc-full:2.1`>>sims.pid
-echo `sudo docker run -d -p 17834:830  honeynode_oper-xpdrc:2.1`>>sims.pid
-
-echo -n "#!/bin/sh\n\nsudo docker container kill "`cat sims.pid`" \n" >kill_sims.sh
-chmod +x kill_sims.sh
diff --git a/tests/Xtesting/DockerSims/start_sims21.sh b/tests/Xtesting/DockerSims/start_sims21.sh
new file mode 100755 (executable)
index 0000000..f5c11ff
--- /dev/null
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+echo "killing previous sims containers"
+if [ -f kill_sims21.sh ]; then ./kill_sims21.sh; rm sims21.pid kill_sims21.sh; else echo "nothing to do"; fi
+
+echo `sudo docker run -d -p 17830:830  honeynode_oper-xpdra:2.1`>>sims21.pid
+echo `sudo docker run -d -p 17831:830  honeynode_oper-roadma:2.1`>>sims21.pid
+echo `sudo docker run -d -p 17832:830  honeynode_oper-roadmb:2.1`>>sims21.pid
+echo `sudo docker run -d -p 17833:830  honeynode_oper-roadmc:2.1`>>sims21.pid
+echo `sudo docker run -d -p 17834:830  honeynode_oper-xpdrc:2.1`>>sims21.pid
+echo `sudo docker run -d -p 17821:830  honeynode_oper-roadma-full:2.1`>>sims21.pid
+echo `sudo docker run -d -p 17823:830  honeynode_oper-roadmc-full:2.1`>>sims21.pid
+
+echo -n "#!/bin/sh\n\nsudo docker container kill "`cat sims21.pid`" \n" >kill_sims21.sh
+chmod +x kill_sims21.sh
diff --git a/tests/Xtesting/DockerSims/start_sims221.sh b/tests/Xtesting/DockerSims/start_sims221.sh
new file mode 100755 (executable)
index 0000000..cd4e13f
--- /dev/null
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+echo "killing previous sims containers"
+if [ -f kill_sims221.sh ]; then ./kill_sims221.sh; rm sims221.pid kill_sims221.sh; else echo "nothing to do"; fi
+
+echo `sudo docker run -d -p 17840:830  honeynode_oper-xpdra:2.2.1`>>sims221.pid
+echo `sudo docker run -d -p 17841:830  honeynode_oper-roadma:2.2.1`>>sims221.pid
+#echo `sudo docker run -d -p 17842:830  honeynode_oper-roadmb:2.2.1`>>sims221.pid
+echo `sudo docker run -d -p 17843:830  honeynode_oper-roadmc:2.2.1`>>sims221.pid
+echo `sudo docker run -d -p 17844:830  honeynode_oper-xpdrc:2.2.1`>>sims221.pid
+
+echo -n "#!/bin/sh\n\nsudo docker container kill "`cat sims221.pid`" \n" >kill_sims221.sh
+chmod +x kill_sims221.sh
index 5f957eff87267b83120ab4725b6a0d85a158cd07..ae160c57b8498150ae3877cdb0efb824ff293174 100644 (file)
@@ -49,7 +49,7 @@ class TransportPCEFulltesting(unittest.TestCase):
         if os.path.isfile(executable):
             with open('honeynode2.log', 'w') as outfile:
                 cls.honeynode_process2 = subprocess.Popen(
-                    [executable, "17831", "sample_configs/openroadm/2.1/oper-ROADMA-full.xml"],
+                    [executable, "17821", "sample_configs/openroadm/2.1/oper-ROADMA-full.xml"],
                     stdout=outfile)
 
     @classmethod
@@ -59,7 +59,7 @@ class TransportPCEFulltesting(unittest.TestCase):
         if os.path.isfile(executable):
             with open('honeynode3.log', 'w') as outfile:
                 cls.honeynode_process3 = subprocess.Popen(
-                    [executable, "17833", "sample_configs/openroadm/2.1/oper-ROADMC-full.xml"],
+                    [executable, "17823", "sample_configs/openroadm/2.1/oper-ROADMC-full.xml"],
                     stdout=outfile)
 
     @classmethod
@@ -180,7 +180,7 @@ class TransportPCEFulltesting(unittest.TestCase):
              "netconf-node-topology:username": "admin",
              "netconf-node-topology:password": "admin",
              "netconf-node-topology:host": "127.0.0.1",
-             "netconf-node-topology:port": "17831",
+             "netconf-node-topology:port": "17821",
              "netconf-node-topology:tcp-only": "false",
              "netconf-node-topology:pass-through": {}}]}
         headers = {'content-type': 'application/json'}
@@ -199,7 +199,7 @@ class TransportPCEFulltesting(unittest.TestCase):
              "netconf-node-topology:username": "admin",
              "netconf-node-topology:password": "admin",
              "netconf-node-topology:host": "127.0.0.1",
-             "netconf-node-topology:port": "17833",
+             "netconf-node-topology:port": "17823",
              "netconf-node-topology:tcp-only": "false",
              "netconf-node-topology:pass-through": {}}]}
         headers = {'content-type': 'application/json'}
index 8a37b4a3581382e6b57a306afcaaf12b6c752b2b..ed64ad1c9c42c910478996f0b34fb1bbea6edd82 100644 (file)
@@ -49,7 +49,7 @@ class TransportOlmTesting(unittest.TestCase):
         if os.path.isfile(executable):
             with open('honeynode2.log', 'w') as outfile:
                 cls.honeynode_process2 = subprocess.Popen(
-                    [executable, "17831", "sample_configs/openroadm/2.1/oper-ROADMA-full.xml"],
+                    [executable, "17821", "sample_configs/openroadm/2.1/oper-ROADMA-full.xml"],
                     stdout=outfile)
 
     @classmethod
@@ -59,7 +59,7 @@ class TransportOlmTesting(unittest.TestCase):
         if os.path.isfile(executable):
             with open('honeynode3.log', 'w') as outfile:
                 cls.honeynode_process3 = subprocess.Popen(
-                    [executable, "17833", "sample_configs/openroadm/2.1/oper-ROADMC-full.xml"],
+                    [executable, "17823", "sample_configs/openroadm/2.1/oper-ROADMC-full.xml"],
                     stdout=outfile)
     @classmethod
     def __start_honeynode4(cls):
@@ -173,7 +173,7 @@ class TransportOlmTesting(unittest.TestCase):
              "netconf-node-topology:username": "admin",
              "netconf-node-topology:password": "admin",
              "netconf-node-topology:host": "127.0.0.1",
-             "netconf-node-topology:port": "17831",
+             "netconf-node-topology:port": "17821",
              "netconf-node-topology:tcp-only": "false",
              "netconf-node-topology:pass-through": {}}]}
         headers = {'content-type': 'application/json'}
@@ -192,7 +192,7 @@ class TransportOlmTesting(unittest.TestCase):
              "netconf-node-topology:username": "admin",
              "netconf-node-topology:password": "admin",
              "netconf-node-topology:host": "127.0.0.1",
-             "netconf-node-topology:port": "17833",
+             "netconf-node-topology:port": "17823",
              "netconf-node-topology:tcp-only": "false",
              "netconf-node-topology:pass-through": {}}]}
         headers = {'content-type': 'application/json'}
index 7fab622ddcef6b879b9cad59abb59137c030f32b..d276dbf636f17ffe2705764e784944d911161665 100644 (file)
@@ -37,7 +37,7 @@ class TransportPCERendererTesting(unittest.TestCase):
         if os.path.isfile(executable):
             with open('honeynode1.log', 'w') as outfile:
                 cls.honeynode_process1 = subprocess.Popen(
-                    [executable, "17830", "sample_configs/openroadm/2.1/oper-ROADMA.xml"],
+                    [executable, "17831", "sample_configs/openroadm/2.1/oper-ROADMA.xml"],
                     stdout=outfile)
 
     @classmethod
@@ -47,7 +47,7 @@ class TransportPCERendererTesting(unittest.TestCase):
         if os.path.isfile(executable):
             with open('honeynode2.log', 'w') as outfile:
                 cls.honeynode_process2 = subprocess.Popen(
-                    [executable, "17831", "sample_configs/openroadm/2.1/oper-XPDRA.xml"],
+                    [executable, "17830", "sample_configs/openroadm/2.1/oper-XPDRA.xml"],
                     stdout=outfile)
 
     @classmethod
@@ -100,7 +100,7 @@ class TransportPCERendererTesting(unittest.TestCase):
              "netconf-node-topology:username": "admin",
              "netconf-node-topology:password": "admin",
              "netconf-node-topology:host": "127.0.0.1",
-             "netconf-node-topology:port": "17830",
+             "netconf-node-topology:port": "17831",
              "netconf-node-topology:tcp-only": "false",
              "netconf-node-topology:pass-through": {}}]}
         headers = {'content-type': 'application/json'}
@@ -119,7 +119,7 @@ class TransportPCERendererTesting(unittest.TestCase):
             "netconf-node-topology:username": "admin",
             "netconf-node-topology:password": "admin",
             "netconf-node-topology:host": "127.0.0.1",
-            "netconf-node-topology:port": "17831",
+            "netconf-node-topology:port": "17830",
             "netconf-node-topology:tcp-only": "false",
             "netconf-node-topology:pass-through": {}}]}
         headers = {'content-type': 'application/json'}