X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=Dockerfile;h=09d92799712da106d399f954411be01bb4ee1e74;hb=cb7dd49aa5f40a880b37a6bc35c972ef2773c164;hp=71d213026b47e61e5220eb87441ae08fdd9a2060;hpb=7348625b9ef03d41dd5a0ca0f6c508376259717e;p=ric-plt%2Fsubmgr.git diff --git a/Dockerfile b/Dockerfile index 71d2130..09d9279 100644 --- a/Dockerfile +++ b/Dockerfile @@ -23,7 +23,17 @@ ########################################################### # ########################################################### -FROM nexus3.o-ran-sc.org:10004/bldr-ubuntu18-c-go:4-u18.04-nng as submgrcore +FROM nexus3.o-ran-sc.org:10002/o-ran-sc/bldr-ubuntu18-c-go:1.9.0 as submgrcore + +ARG GOVERSION=1.14 + +ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/go/bin:/opt/go/${GOVERSION}/bin:/root/go/bin + +# Update CA certificates +RUN apt update && apt install --reinstall -y \ + ca-certificates \ + && \ + update-ca-certificates RUN apt update && apt install -y iputils-ping net-tools curl tcpdump gdb valgrind @@ -39,7 +49,7 @@ WORKDIR /tmp # # Swagger # -ARG SWAGGERVERSION=v0.19.0 +ARG SWAGGERVERSION=v0.23.0 ARG SWAGGERURL=https://github.com/go-swagger/go-swagger/releases/download/${SWAGGERVERSION}/swagger_linux_amd64 RUN wget --quiet ${SWAGGERURL} \ && mv swagger_linux_amd64 swagger \ @@ -57,9 +67,9 @@ RUN export GOBIN=/usr/local/bin/ ; \ # # RMR # -ARG RMRVERSION=3.6.2 -ARG RMRLIBURL=https://packagecloud.io/o-ran-sc/staging/packages/debian/stretch/rmr_${RMRVERSION}_amd64.deb/download.deb -ARG RMRDEVURL=https://packagecloud.io/o-ran-sc/staging/packages/debian/stretch/rmr-dev_${RMRVERSION}_amd64.deb/download.deb +ARG RMRVERSION=4.7.4 +ARG RMRLIBURL=https://packagecloud.io/o-ran-sc/release/packages/debian/stretch/rmr_${RMRVERSION}_amd64.deb/download.deb +ARG RMRDEVURL=https://packagecloud.io/o-ran-sc/release/packages/debian/stretch/rmr-dev_${RMRVERSION}_amd64.deb/download.deb RUN wget --content-disposition ${RMRLIBURL} && dpkg -i rmr_${RMRVERSION}_amd64.deb RUN wget --content-disposition ${RMRDEVURL} && dpkg -i rmr-dev_${RMRVERSION}_amd64.deb RUN rm -f rmr_${RMRVERSION}_amd64.deb rmr-dev_${RMRVERSION}_amd64.deb @@ -83,16 +93,16 @@ ENV CFLAGS="-DASN_DISABLE_OER_SUPPORT" ENV CGO_CFLAGS="-DASN_DISABLE_OER_SUPPORT" COPY 3rdparty 3rdparty -RUN cd 3rdparty/libe2ap && \ +RUN cd 3rdparty/E2AP-v01.00.00 && \ gcc -c ${CFLAGS} -I. -g -fPIC *.c && \ gcc *.o -g -shared -o libe2ap.so && \ cp libe2ap.so /usr/local/lib/ && \ cp *.h /usr/local/include/ && \ ldconfig -RUN echo "E2AP ?" >> /manifests/versions.txt -RUN echo "E2SM-gNB-NRT ?" >> /manifests/versions.txt -RUN echo "E2SM-gNB-X2 ?" >> /manifests/versions.txt + +RUN echo "E2AP E2AP-v01.00.00" >> /manifests/versions.txt + COPY e2ap e2ap RUN cd e2ap/libe2ap_wrapper && \ @@ -121,10 +131,7 @@ FROM submgre2apbuild as submgrbuild # # COPY go.mod go.mod -COPY go.sum go.sum - RUN go mod download -RUN go mod tidy # # @@ -153,13 +160,13 @@ RUN echo "rtmgrapi ${RTMGRVERSION} https://gerrit.o-ran-sc.org/r/ric-plt/rtmgr" COPY pkg pkg COPY cmd cmd +COPY go.sum go.sum +RUN go mod tidy + RUN mkdir -p /opt/bin && \ go build -o /opt/bin/submgr cmd/submgr.go && \ mkdir -p /opt/build/container/usr/local - -RUN go mod tidy - RUN cp go.mod go.sum /manifests/ RUN grep gerrit /manifests/go.sum > /manifests/go_gerrit.sum @@ -173,15 +180,26 @@ ENV RMR_SEED_RT=/opt/submgr/test/uta_rtg.rt #ENV CGO_LDFLAGS="-fsanitize=address" #ENV CGO_CFLAGS="-fsanitize=address" -RUN go test -test.coverprofile /tmp/submgr_cover.out -count=1 -v ./pkg/control -RUN go tool cover -html=/tmp/submgr_cover.out -o /tmp/submgr_cover.html +# +# To get debug from rmr +# +#RUN echo 5 > /opt/submgr/level +#RUN RMR_VCTL_FILE=/opt/submgr/level go test -test.coverprofile /tmp/submgr_cover.out -count=1 -v ./pkg/control + +# +# go tests. comment out ipv6 localhost if exist when tests are executed. +# +RUN sed -r "s/^(::1.*)/#\1/" /etc/hosts > /etc/hosts.new \ + && cat /etc/hosts.new > /etc/hosts \ + && cat /etc/hosts \ + && go test -failfast -test.coverprofile /tmp/submgr_cover.out -count=1 -v ./pkg/control \ + && go tool cover -html=/tmp/submgr_cover.out -o /tmp/submgr_cover.html # test formating (not important) RUN test -z "$(gofmt -l pkg/control/*.go)" RUN test -z "$(gofmt -l pkg/teststub/*.go)" RUN test -z "$(gofmt -l pkg/teststubdummy/*.go)" RUN test -z "$(gofmt -l pkg/teststube2ap/*.go)" -RUN test -z "$(gofmt -l pkg/xapptweaks/*.go)" ########################################################### @@ -192,10 +210,10 @@ FROM ubuntu:18.04 RUN apt update && apt install -y iputils-ping net-tools curl tcpdump COPY --from=submgrbuild /manifests /manifests - COPY --from=submgrbuild /opt/bin/submgr / -COPY --from=submgrbuild /usr/local/include /usr/local/include -COPY --from=submgrbuild /usr/local/lib /usr/local/lib +COPY --from=submgrbuild /usr/local/include/rmr /usr/local/include/ +COPY --from=submgrbuild /usr/local/lib/librmr* /usr/local/lib/ +COPY --from=submgrbuild /usr/local/lib/libe2ap* /usr/local/lib/ RUN ldconfig COPY run_submgr.sh / @@ -206,5 +224,4 @@ COPY config /opt/config ENV CFG_FILE=/opt/config/submgr-config.yaml ENV RMR_SEED_RT=/opt/config/submgr-uta-rtg.rt - ENTRYPOINT ["/submgr"]