X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=test%2Fe2t%2Fcontainer%2FDockerfile;h=e3855f7c9bf99bcc39b806e201125972e22699e7;hb=1455c85dea3fba44cdcba8a92864be730691a6ec;hp=f3a8c27c9e0ba3f8e681c178458f8342cbc4f767;hpb=4511475f03107eb53c88545649898e3cfbcc2765;p=ric-plt%2Fsubmgr.git diff --git a/test/e2t/container/Dockerfile b/test/e2t/container/Dockerfile index f3a8c27..e3855f7 100644 --- a/test/e2t/container/Dockerfile +++ b/test/e2t/container/Dockerfile @@ -21,10 +21,67 @@ # Date: 28 May 2019 # -FROM ubuntu +FROM nexus3.o-ran-sc.org:10004/bldr-ubuntu18-c-go:1-u18.04-nng1.1.1 as submgrbuild -COPY e2t / -COPY e2t.yaml / -COPY run_e2t.sh / -COPY usr/ /usr/ -RUN ldconfig \ No newline at end of file +# Install RMr shared library +RUN wget --content-disposition https://packagecloud.io/o-ran-sc/staging/packages/debian/stretch/rmr_1.9.0_amd64.deb/download.deb && dpkg -i rmr_1.9.0_amd64.deb && rm -rf rmr_1.9.0_amd64.deb +# Install RMr development header files +RUN wget --content-disposition https://packagecloud.io/o-ran-sc/staging/packages/debian/stretch/rmr-dev_1.9.0_amd64.deb/download.deb && dpkg -i rmr-dev_1.9.0_amd64.deb && rm -rf rmr-dev_1.9.0_amd64.deb + +# "PULLING LOG and COMPILING LOG" +RUN git clone "https://gerrit.o-ran-sc.org/r/com/log" /opt/log && cd /opt/log && \ + ./autogen.sh && ./configure && make install && ldconfig + +WORKDIR /opt/submgr + +# "COMPILING E2AP Wrapper" +COPY e2ap e2ap +RUN cd /opt/submgr/e2ap && \ + gcc -c -fPIC -Iheaders/ lib/*.c wrapper.c && \ + gcc *.o -shared -o libwrapper.so && \ + cp libwrapper.so /usr/local/lib/ && \ + cp wrapper.h headers/*.h /usr/local/include/ && \ + ldconfig + +# "Installing Swagger" +RUN cd /usr/local/go/bin \ + && wget --quiet https://github.com/go-swagger/go-swagger/releases/download/v0.19.0/swagger_linux_amd64 \ + && mv swagger_linux_amd64 swagger \ + && chmod +x swagger + +# "Getting and generating routing managers api client" +COPY api api +RUN git clone "https://gerrit.o-ran-sc.org/r/ric-plt/rtmgr" \ + && cp rtmgr/api/routing_manager.yaml api/ \ + && rm -rf rtmgr + +RUN mkdir pkg + +COPY go.mod go.mod + +RUN mkdir -p /root/go && \ + /usr/local/go/bin/swagger generate client -f api/routing_manager.yaml -t pkg/ -m rtmgr_models -c rtmgr_client + +COPY go.mod go.mod + +RUN /usr/local/go/bin/go mod tidy + +#Compiling E2T +COPY pkg pkg +COPY cmd cmd +COPY test test + +RUN mkdir -p /opt/bin && \ + /usr/local/go/bin/go build -o /opt/test/e2t/e2t ./test/e2t/e2t.go && \ + mkdir -p /opt/test/e2t/container/usr/local + +FROM ubuntu:18.04 + +COPY --from=submgrbuild /opt/test/e2t/e2t / +COPY test/e2t/e2t.yaml test/e2t/container/run_e2t.sh / +COPY --from=submgrbuild /usr/local/include /usr/local/include +COPY --from=submgrbuild /usr/local/lib /usr/local/lib + +RUN ldconfig + +RUN chmod 755 /run_e2t.sh