Updated documentation for mock a1 tool
[ric-app/admin.git] / Dockerfile
1 ARG SCHEMA_PATH=schemas
2 ARG STAGE_DIR=/tmp/ac-xapp
3
4 #==================================================================================
5 FROM nexus3.o-ran-sc.org:10004/bldr-ubuntu16-c-go@sha256:c53b2f70bfc47de5af0eb0c4264f894b2a13ca3c954befda0725191826dda201 as ricbuild
6
7 # to override repo base, pass in repo argument when running docker build:
8 # docker build --build-arg REPOBASE=http://abc.def.org . ....
9 ARG REPOBASE=https://gerrit.oran-osc.org/r
10 ARG SCHEMA_FILE
11 ARG SCHEMA_PATH
12 ARG STAGE_DIR
13
14 # Install necessary packages
15 WORKDIR ${STAGE_DIR}
16 RUN apt-get update  \
17      && apt-get install -y \
18      libcurl4-openssl-dev \
19      libcurl3 \
20      cmake \
21      git \
22      build-essential \
23      automake \
24      autoconf-archive \
25      autoconf \
26      pkg-config \
27      gawk \
28      libtool \
29      wget \
30      zlib1g-dev \
31      libffi-dev \
32      && apt-get clean
33
34 # Install mdclog using debian package hosted at packagecloud.io
35 ARG MDC_VER=0.0.3-1
36 RUN wget -nv --content-disposition https://packagecloud.io/o-ran-sc/master/packages/debian/stretch/mdclog_${MDC_VER}_amd64.deb/download.deb
37 RUN wget -nv --content-disposition https://packagecloud.io/o-ran-sc/master/packages/debian/stretch/mdclog-dev_${MDC_VER}_amd64.deb/download.deb
38 RUN dpkg -i mdclog_${MDC_VER}_amd64.deb
39 RUN dpkg -i mdclog-dev_${MDC_VER}_amd64.deb
40
41 # Install RMr using debian package hosted at packagecloud.io
42 ARG RMR_VER=1.12.1
43 RUN wget -nv --content-disposition https://packagecloud.io/o-ran-sc/staging/packages/debian/stretch/rmr_${RMR_VER}_amd64.deb/download.deb
44 RUN wget -nv --content-disposition https://packagecloud.io/o-ran-sc/staging/packages/debian/stretch/rmr-dev_${RMR_VER}_amd64.deb/download.deb
45 RUN dpkg -i rmr_${RMR_VER}_amd64.deb
46 RUN dpkg -i rmr-dev_${RMR_VER}_amd64.deb
47
48
49 ## Install rapidjson
50     #git checkout tags/v1.1.0 && \
51 RUN git clone https://github.com/Tencent/rapidjson && \
52     cd rapidjson && \
53     mkdir build && \
54     cd build && \
55     cmake -DCMAKE_INSTALL_PREFIX=/usr/local .. && \
56     make install && \
57     cd ${STAGE_DIR} && \
58     rm -rf rapidjson
59
60
61 ##-----------------------------------
62 # Now install the program
63 #------------------------------------
64 COPY ./ ${STAGE_DIR}
65 RUN export CPATH=$CPATH:/usr/local/include && \ 
66     cd src && \
67     make clean && \
68     make install 
69  
70 COPY ${SCHEMA_PATH}/* /etc/xapp/ 
71 COPY init/init_script.py /etc/xapp/init_script.py
72
73 #---------------------------------------------
74 # Build the final version
75 #FROM nexus3.o-ran-sc.org:10004/bldr-ubuntu16-c-go:1-u16.04-nng1.1.1
76
77 FROM ubuntu:16.04
78
79 ARG SCHEMA_PATH
80 ARG STAGE_DIR
81
82 # copy just the needed libraries install it into the final image
83 COPY --from=ricbuild ${STAGE_DIR}/*.deb /tmp/
84 COPY --from=ricbuild /usr/local/lib/libnng* /usr/local/lib/
85 RUN dpkg -i /tmp/*.deb
86 RUN apt-get update && \
87     apt-get install -y libcurl3 python3 && \
88     apt-get clean
89 COPY --from=ricbuild /etc/xapp/* /etc/xapp/
90 COPY --from=ricbuild /usr/local/bin/adm-ctrl-xapp /usr/local/bin/adm-ctrl-xapp
91 #COPY --from=ricbuild /usr/local/bin/e2e-test-client /usr/local/bin/e2e-test-client
92 #COPY --from=ricbuild /usr/local/bin/mock-e2term-server /usr/local/bin/mock-e2term-server
93 #COPY --from=ricbuild /usr/local/bin/e2e-perf-client /usr/local/bin/e2e-perf-client
94 #COPY --from=ricbuild /usr/local/bin/e2e-perf-server /usr/local/bin/e2e-perf-server
95 #COPY --from=ricbuild /usr/local/bin/mock-a1-server /usr/local/bin/mock-a1-server
96
97
98 RUN ldconfig
99
100
101 #ENV  PYTHONHOME=/opt/python3 \
102 #     PYTHONPATH=/opt/python3 \
103 ENV  RMR_RTG_SVC="127.0.0.1" \
104      NAME=ADM_CTRL_XAPP \
105      PORT=tcp:4560 \
106      THREADS=1\
107      VERBOSE=0 \
108      MESSAGE_TYPE=10002 \
109      RATE=1 \
110      CONFIG_FILE=/opt/ric/config/config-file.json
111      
112       
113
114 CMD python3 /etc/xapp/init_script.py $CONFIG_FILE