2 # Copyright (c) 2019 AT&T Intellectual Property.
3 # Copyright (c) 2018-2019 Nokia.
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
9 # http://www.apache.org/licenses/LICENSE-2.0
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.
17 # This source code is part of the near-RT RIC (RAN Intelligent Controller)
18 # platform project (RICP).
21 FROM golang:1.16 as gobuild
24 RUN apt update && apt install -y iputils-ping net-tools curl sudo
26 # Set the Working Directory for ves-agent inside the container
27 RUN mkdir -p $GOPATH/src/VESPA
28 WORKDIR $GOPATH/src/VESPA
30 # Clone VES Agent v0.3.0 from github
31 RUN git clone -b v0.3.0 https://github.com/nokia/ONAP-VESPA.git $GOPATH/src/VESPA
33 RUN GO111MODULE=on go mod download
34 ENV GOLANG_VERSION 1.16
35 RUN wget --quiet https://dl.google.com/go/go$GOLANG_VERSION.linux-amd64.tar.gz \
36 && tar xvzf go$GOLANG_VERSION.linux-amd64.tar.gz -C /usr/local
39 RUN export GOPATH=$HOME/go && \
40 export PATH=$GOPATH/bin:$GOROOT/bin:$PATH && \
41 go install -v ./ves-agent
43 # Set the Working Directory for vespamgr inside the container
44 RUN mkdir -p /go/src/vespamgr
46 COPY . /go/src/vespamgr
47 WORKDIR /go/src/vespamgr
51 # Final, executable and deployable container
54 RUN mkdir -p /etc/ves-agent
56 COPY --from=gobuild /usr/local/lib /usr/local/lib
57 COPY --from=gobuild /root/go/bin /root/go/bin
58 COPY --from=gobuild /root/go/bin/vespamgr /usr/local/bin/vesmgr
59 COPY --from=gobuild /root/go/bin/vespamgr /vespamgr
60 COPY --from=gobuild /go/src/vespamgr/config/* /cfg/
61 COPY --from=gobuild /go/src/vespamgr/config/plt-counter.json /cfg/plt-counter.json
64 ENV CFG_FILE=/cfg/config-file.json
65 ENV RMR_SEED_RT=/cfg/uta_rtg.rt
67 ENV PATH="/root/go/bin:${PATH}"
69 ENTRYPOINT ["/vespamgr"]