blob: 658963f8136c36e7611d80ac7f874cf13a1fcde2 [file] [log] [blame]
Tommy Carpenter5ad8f032019-05-30 14:33:21 -04001# ==================================================================================
2# Copyright (c) 2019 Nokia
3# Copyright (c) 2018-2019 AT&T Intellectual Property.
4#
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9# http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16# ==================================================================================
Tommy Carpenter3eeee0d2019-06-21 10:15:15 -040017# TODO: switch to alpine once rmr apk available
18FROM python:3.7
Lott, Christopher (cl778h)0d664f22019-06-07 08:57:58 -040019
Lott, Christopher (cl778h)438a0a62019-06-18 06:50:13 -040020COPY . /tmp
Tommy Carpenter5ad8f032019-05-30 14:33:21 -040021WORKDIR /tmp
Tommy Carpenter301bb332019-05-31 10:40:40 -040022
Tommy Carpenter3eeee0d2019-06-21 10:15:15 -040023# copy NNG out of the CI builder nng
Tommy Carpenterfdf05042019-07-18 20:21:21 +000024COPY --from=nexus3.o-ran-sc.org:10004/bldr-debian-python:3-py3.7-nng1.1.1 /usr/local/lib/libnng.so /usr/local/lib/libnng.so
Tommy Carpenter3eeee0d2019-06-21 10:15:15 -040025
26# Installs RMr using debian package hosted at packagecloud.io
Lott, Christopher (cl778h)645933b2019-06-19 08:29:43 -040027RUN wget --content-disposition https://packagecloud.io/o-ran-sc/master/packages/debian/stretch/rmr_1.0.36_amd64.deb/download.deb
28RUN dpkg -i rmr_1.0.36_amd64.deb
Lott, Christopher (cl778h)438a0a62019-06-18 06:50:13 -040029
Tommy Carpenter9407e112019-06-24 14:27:35 -040030# dir that rmr routing file temp goes into
31RUN mkdir -p /opt/route/
32
Lott, Christopher (cl778h)438a0a62019-06-18 06:50:13 -040033# Install RMr python bindings
Tommy Carpenter9407e112019-06-24 14:27:35 -040034# this writes into /usr/local, need root
35RUN pip install --upgrade pip && pip install rmr==0.10.1 tox
Lott, Christopher (cl778h)438a0a62019-06-18 06:50:13 -040036
Tommy Carpenter9407e112019-06-24 14:27:35 -040037# Run the unit tests
Tommy Carpenter301bb332019-05-31 10:40:40 -040038RUN tox
39
40# do the actual install
Tommy Carpenter5ad8f032019-05-30 14:33:21 -040041RUN pip install .
Tommy Carpenter5ad8f032019-05-30 14:33:21 -040042
Tommy Carpenter9407e112019-06-24 14:27:35 -040043# Switch to a non-root user for security reasons.
44# a1 does not currently write into any dirs so no chowns are needed at this time.
45# https://stackoverflow.com/questions/27701930/add-user-to-docker-container
46RUN adduser --disabled-password --gecos '' a1user
47USER a1user
48
49# misc setups
50EXPOSE 10000
Tommy Carpenter5ad8f032019-05-30 14:33:21 -040051ENV LD_LIBRARY_PATH /usr/local/lib
52ENV RMR_SEED_RT /opt/route/local.rt
53
54CMD run.py