Add Dockerized example (no code or version change) 06/2806/1
authorTommy Carpenter <tc677g@att.com>
Mon, 16 Mar 2020 13:29:23 +0000 (09:29 -0400)
committerTommy Carpenter <tc677g@att.com>
Mon, 16 Mar 2020 13:29:35 +0000 (09:29 -0400)
Issue-ID: RIC-228
Change-Id: I69239ea7bb55b8e9962c62be1c12430fe2155448
Signed-off-by: Tommy Carpenter <tc677g@att.com>
docs/release-notes.rst
examples/Dockerfile-Ping [new file with mode: 0644]
examples/Dockerfile-Pong [new file with mode: 0644]
examples/README.md
examples/pong_xapp.py
examples/test_route.rt

index ec7f53d..3fdad34 100644 (file)
@@ -19,6 +19,7 @@ and this project adheres to `Semantic Versioning <http://semver.org/>`__.
 ::
 
     * minor breaking change; switches the default behavior RE threading for RMRXapps. The default is not to return execution, but the caller (in `run`) can choose to loop in a thread.
+    * Add Dockerized examples
 
 
 [0.3.0] - 3/10/2020
diff --git a/examples/Dockerfile-Ping b/examples/Dockerfile-Ping
new file mode 100644 (file)
index 0000000..38dd323
--- /dev/null
@@ -0,0 +1,36 @@
+# ==================================================================================
+#       Copyright (c) 2019-2020 Nokia
+#       Copyright (c) 2018-2020 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.
+# ==================================================================================
+FROM python:3.7-alpine
+
+# RMR setup
+RUN mkdir -p /opt/route/
+COPY test_route.rt /opt/route/test_route.rt
+COPY --from=nexus3.o-ran-sc.org:10004/bldr-alpine3-go:1-rmr1.13.1 /usr/local/lib64/libnng.so /usr/local/lib64/libnng.so
+COPY --from=nexus3.o-ran-sc.org:10004/bldr-alpine3-go:1-rmr1.13.1 /usr/local/lib64/librmr_nng.so /usr/local/lib64/librmr_nng.so
+ENV LD_LIBRARY_PATH /usr/local/lib/:/usr/local/lib64
+ENV RMR_SEED_RT /opt/route/test_route.rt
+
+# sdl needs gcc
+RUN apk update && apk add gcc musl-dev bash
+
+# Install
+RUN pip install ricxappframe==0.4.0
+COPY ping_xapp.py .
+
+# Run
+ENV PYTHONUNBUFFERED 1
+CMD python ping_xapp.py
diff --git a/examples/Dockerfile-Pong b/examples/Dockerfile-Pong
new file mode 100644 (file)
index 0000000..b2fd65d
--- /dev/null
@@ -0,0 +1,36 @@
+# ==================================================================================
+#       Copyright (c) 2019-2020 Nokia
+#       Copyright (c) 2018-2020 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.
+# ==================================================================================
+FROM python:3.7-alpine
+
+# RMR setup
+RUN mkdir -p /opt/route/
+COPY test_route.rt /opt/route/test_route.rt
+COPY --from=nexus3.o-ran-sc.org:10004/bldr-alpine3-go:1-rmr1.13.1 /usr/local/lib64/libnng.so /usr/local/lib64/libnng.so
+COPY --from=nexus3.o-ran-sc.org:10004/bldr-alpine3-go:1-rmr1.13.1 /usr/local/lib64/librmr_nng.so /usr/local/lib64/librmr_nng.so
+ENV LD_LIBRARY_PATH /usr/local/lib/:/usr/local/lib64
+ENV RMR_SEED_RT /opt/route/test_route.rt
+
+# sdl needs gcc
+RUN apk update && apk add gcc musl-dev bash
+
+# Install
+RUN pip install ricxappframe==0.4.0
+COPY pong_xapp.py .
+
+# Run
+ENV PYTHONUNBUFFERED 1
+CMD python pong_xapp.py
index 1c1a6db..10ed36f 100644 (file)
@@ -1,5 +1,7 @@
 # Python xapp frame
 
+# Running locally
+
 Running the two examples (adjust for your shell notation)
 
     pip install --user -e .
@@ -7,3 +9,10 @@ Running the two examples (adjust for your shell notation)
     set -x LD_LIBRARY_PATH /usr/local/lib/:/usr/local/lib64; set -x  RMR_SEED_RT test_route.rt; python pong_xapp.py
     (diff tmux window)
     set -x LD_LIBRARY_PATH /usr/local/lib/:/usr/local/lib64; set -x  RMR_SEED_RT test_route.rt; python ping_xapp.py
+
+# Running in Docker
+
+    docker build -t ping:latest -f  Dockerfile-Ping .
+    docker build -t pong:latest -f  Dockerfile-Pong .
+    docker run -i --net=host ping:latest
+    docker run -i --net=host pong:latest
index ac72813..e0939f0 100644 (file)
@@ -23,7 +23,7 @@ from ricxappframe.xapp_frame import RMRXapp
 
 def post_init(_self):
     """post init"""
-    print("ping xapp could do some useful stuff here!")
+    print("pong xapp could do some useful stuff here!")
 
 
 def sixtyh(self, summary, sbuf):
index a9d34f3..d360b1d 100644 (file)
@@ -1,4 +1,4 @@
 newrt|start
-rte|6660666|localhost:4562
-rte|60000|localhost:4562
+rte|6660666|127.0.0.1:4562
+rte|60000|127.0.0.1:4562
 newrt|end