RIC:1060: Change in PTL
[ric-plt/vespamgr.git] / Dockerfile
1 #
2 #  Copyright (c) 2019 AT&T Intellectual Property.
3 #  Copyright (c) 2018-2019 Nokia.
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 #
17 #   This source code is part of the near-RT RIC (RAN Intelligent Controller)
18 #   platform project (RICP).
19 #
20
21 FROM golang:1.16 as gobuild
22
23 # Install utilities
24 RUN apt update && apt install -y iputils-ping net-tools curl sudo
25
26 # Set the Working Directory for ves-agent inside the container
27 RUN mkdir -p $GOPATH/src/VESPA
28 WORKDIR $GOPATH/src/VESPA
29
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
32
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
37
38 # Install VES Agent
39 RUN export GOPATH=$HOME/go && \
40     export PATH=$GOPATH/bin:$GOROOT/bin:$PATH && \
41     go install -v ./ves-agent
42
43 # Set the Working Directory for vespamgr inside the container
44 RUN mkdir -p /go/src/vespamgr
45 RUN mkdir -p /cfg
46 COPY . /go/src/vespamgr
47 WORKDIR /go/src/vespamgr
48
49 RUN ./build_vesmgr.sh
50
51 # Final, executable and deployable container
52 FROM ubuntu:20.04
53
54 RUN mkdir -p /etc/ves-agent
55
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
62 RUN ldconfig
63
64 ENV CFG_FILE=/cfg/config-file.json
65 ENV RMR_SEED_RT=/cfg/uta_rtg.rt
66
67 ENV PATH="/root/go/bin:${PATH}"
68
69 ENTRYPOINT ["/vespamgr"]