::
* 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
--- /dev/null
+# ==================================================================================
+# 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
--- /dev/null
+# ==================================================================================
+# 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
# Python xapp frame
+# Running locally
+
Running the two examples (adjust for your shell notation)
pip install --user -e .
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
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):
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