Merge branch 'netslice'
[osm/LCM.git] / Dockerfile.local
1 # Copyright 2018 Telefonica S.A.
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
6 #
7 #    http://www.apache.org/licenses/LICENSE-2.0
8 #
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
12 # implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
15
16 FROM ubuntu:16.04
17
18 # Set the working directory to /app
19 WORKDIR /app/osm_lcm
20
21 # Copy the current directory contents into the container at /app
22 ADD . /app  # TODO move to the end
23
24 RUN apt-get update && apt-get install -y git tox python3 \
25     python3-pip python3-aiohttp \
26     && pip3 install pip==9.0.3 \
27     && pip3 install -U 'PyYAML==3.*' 'aiohttp==0.20.2' flake8
28
29 RUN git clone https://osm.etsi.org/gerrit/osm/N2VC.git \
30     && pip3 install -e N2VC \
31     && pip3 install -e N2VC/modules/libjuju \
32     && apt-get install -y libffi-dev libssl-dev openssh-client
33     # cd N2VC; python3 setup.py develop
34     # cd modules/libjuju; python3 setup.py develop
35
36 RUN git clone https://osm.etsi.org/gerrit/osm/common.git \
37     && pip3 install -e common
38     #  python3-pymongo python3-yaml pycrypto aiokafka
39
40 RUN mkdir -p /app/storage/kafka && mkdir -p /app/log
41
42
43 LABEL Maintainer="alfonso.tiernosepulveda@telefonica.com" \
44       Description="This implements the Life Cicle Management module of OSM" \
45       Version="1.0" \
46       Author="Alfonso Tierno"
47
48 # Used for local storage
49 VOLUME /app/storage
50 # Used for logs
51 VOLUME /app/log
52
53 # The following ENV can be added with "docker run -e xxx' to configure LCM
54 ENV OSMLCM_RO_HOST         ro
55 ENV OSMLCM_RO_PORT         9090
56 ENV OSMLCM_RO_TENANT       osm
57
58 # VCA
59 ENV OSMLCM_VCA_HOST        vca
60 ENV OSMLCM_VCA_PORT:       17070
61 ENV OSMLCM_VCA_USER:       admin
62 ENV OSMLCM_VCA_SECRET:     secret
63
64 # database
65 ENV OSMLCM_DATABASE_DRIVER mongo
66 ENV OSMLCM_DATABASE_HOST   mongo
67 ENV OSMLCM_DATABASE_PORT   27017
68 # ENV OSMLCM_DATABASE_USER  xxx
69 # ENV OSMLCM_DATABASE_PASSWORD  xxx
70 # ENV OSMLCM_DATABASE_COMMONKEY  xxx
71
72 #storage
73 ENV OSMLCM_STORAGE_DRIVER  local
74 ENV OSMLCM_STORAGE_PATH    /app/storage
75
76 # message
77 ENV OSMLCM_MESSAGE_DRIVER  kafka
78 ENV OSMLCM_MESSAGE_HOST    kafka
79 ENV OSMLCM_MESSAGE_PORT    9092
80
81 # logs
82 ENV OSMLCM_GLOBAL_LOGFILE  /app/log/lcm.log
83 ENV OSMLCM_GLOBAL_LOGLEVEL DEBUG
84
85 # ADD . /app
86
87 # Run app.py when the container launches
88 CMD ["python3", "lcm.py"]
89
90 # HEALTHCHECK --interval=30 --timeout=140 --retries=1 \
91 #     CMD python3 /usr/lib/python3/dist-packages/osm_lcm/lcm.py --health-check || exit 1
92