From c396f7e0704815553574fe4448f3a87c78adcdae Mon Sep 17 00:00:00 2001 From: "guillaume.lambert" Date: Tue, 10 Sep 2019 12:01:51 +0200 Subject: [PATCH 1/1] docker support for OpenROADM 2.2.1 sims - 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 Change-Id: Id8ad87dae4431da8aa897a0aaf494b7436fdb80f --- .../{Dockerfile.orig => Dockerfile.orig.21} | 0 tests/Xtesting/DockerSims/Dockerfile.orig.221 | 17 +++++++++++++++++ .../{generate_sims.sh => generate_sims21.sh} | 2 +- tests/Xtesting/DockerSims/generate_sims221.sh | 10 ++++++++++ tests/Xtesting/DockerSims/start_sims.sh | 11 ----------- tests/Xtesting/DockerSims/start_sims21.sh | 15 +++++++++++++++ tests/Xtesting/DockerSims/start_sims221.sh | 13 +++++++++++++ tests/transportpce_tests/1.2.1/test_end2end.py | 8 ++++---- tests/transportpce_tests/1.2.1/test_olm.py | 8 ++++---- .../1.2.1/test_renderer_service_path_nominal.py | 8 ++++---- 10 files changed, 68 insertions(+), 24 deletions(-) rename tests/Xtesting/DockerSims/{Dockerfile.orig => Dockerfile.orig.21} (100%) create mode 100644 tests/Xtesting/DockerSims/Dockerfile.orig.221 rename tests/Xtesting/DockerSims/{generate_sims.sh => generate_sims21.sh} (92%) create mode 100755 tests/Xtesting/DockerSims/generate_sims221.sh delete mode 100755 tests/Xtesting/DockerSims/start_sims.sh create mode 100755 tests/Xtesting/DockerSims/start_sims21.sh create mode 100755 tests/Xtesting/DockerSims/start_sims221.sh diff --git a/tests/Xtesting/DockerSims/Dockerfile.orig b/tests/Xtesting/DockerSims/Dockerfile.orig.21 similarity index 100% rename from tests/Xtesting/DockerSims/Dockerfile.orig rename to tests/Xtesting/DockerSims/Dockerfile.orig.21 diff --git a/tests/Xtesting/DockerSims/Dockerfile.orig.221 b/tests/Xtesting/DockerSims/Dockerfile.orig.221 new file mode 100644 index 000000000..a2da3e5d8 --- /dev/null +++ b/tests/Xtesting/DockerSims/Dockerfile.orig.221 @@ -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 diff --git a/tests/Xtesting/DockerSims/generate_sims.sh b/tests/Xtesting/DockerSims/generate_sims21.sh similarity index 92% rename from tests/Xtesting/DockerSims/generate_sims.sh rename to tests/Xtesting/DockerSims/generate_sims21.sh index 0fea9c356..e42b912f0 100755 --- a/tests/Xtesting/DockerSims/generate_sims.sh +++ b/tests/Xtesting/DockerSims/generate_sims21.sh @@ -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 index 000000000..d789a329a --- /dev/null +++ b/tests/Xtesting/DockerSims/generate_sims221.sh @@ -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 index 82fdd69dc..000000000 --- a/tests/Xtesting/DockerSims/start_sims.sh +++ /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 index 000000000..f5c11ff81 --- /dev/null +++ b/tests/Xtesting/DockerSims/start_sims21.sh @@ -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 index 000000000..cd4e13fa0 --- /dev/null +++ b/tests/Xtesting/DockerSims/start_sims221.sh @@ -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 diff --git a/tests/transportpce_tests/1.2.1/test_end2end.py b/tests/transportpce_tests/1.2.1/test_end2end.py index 5f957eff8..ae160c57b 100644 --- a/tests/transportpce_tests/1.2.1/test_end2end.py +++ b/tests/transportpce_tests/1.2.1/test_end2end.py @@ -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'} diff --git a/tests/transportpce_tests/1.2.1/test_olm.py b/tests/transportpce_tests/1.2.1/test_olm.py index 8a37b4a35..ed64ad1c9 100644 --- a/tests/transportpce_tests/1.2.1/test_olm.py +++ b/tests/transportpce_tests/1.2.1/test_olm.py @@ -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'} diff --git a/tests/transportpce_tests/1.2.1/test_renderer_service_path_nominal.py b/tests/transportpce_tests/1.2.1/test_renderer_service_path_nominal.py index 7fab622dd..d276dbf63 100644 --- a/tests/transportpce_tests/1.2.1/test_renderer_service_path_nominal.py +++ b/tests/transportpce_tests/1.2.1/test_renderer_service_path_nominal.py @@ -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'} -- 2.36.6