blob: 6c9fa869a455f7f20b29ff794b8d5e17aff8642b [file] [log] [blame]
David K. Bainbridge10a7a7e2018-01-29 09:54:40 -08001# Copyright 2016 the original author or authors.
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 implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14ARG TAG=latest
15ARG REGISTRY=
16ARG REPOSITORY=
17
18FROM ${REGISTRY}${REPOSITORY}voltha-protos:${TAG} as protos
19FROM ${REGISTRY}${REPOSITORY}voltha-base:${TAG}
20
21MAINTAINER Zsolt Haraszti <zharaszt@ciena.com>
22MAINTAINER Ali Al-Shabibi <ali.al-shabibi@onlab.us>
23MAINTAINER Nathan Knuth <nathan.knuth@tibitcom.com>
24
25# Install protoc version 3.0.0; this is not yet the supported
26# version on xenial, so we need to "backport" it
27RUN apt-get update && \
28 apt-get install -y zlib1g-dev wget && \
29 wget http://ftp.us.debian.org/debian/pool/main/p/protobuf/libprotoc10_3.0.0-9_amd64.deb && \
30 wget http://ftp.us.debian.org/debian/pool/main/p/protobuf/libprotobuf-lite10_3.0.0-9_amd64.deb && \
31 wget http://ftp.us.debian.org/debian/pool/main/p/protobuf/libprotobuf-dev_3.0.0-9_amd64.deb && \
32 wget http://ftp.us.debian.org/debian/pool/main/p/protobuf/libprotobuf10_3.0.0-9_amd64.deb && \
33 wget http://ftp.us.debian.org/debian/pool/main/p/protobuf/protobuf-compiler_3.0.0-9_amd64.deb && \
34 dpkg -i *.deb && \
35 protoc --version && \
36 rm -f *.deb
37
38# Bundle app source
39RUN mkdir -p /ofagent/ofagent/protos/third_party/google/api && \
40 touch /ofagent/__init__.py \
41 /ofagent/ofagent/protos/third_party/google/__init__.py \
42 /ofagent/ofagent/protos/third_party/google/api/__init__.py
43ENV PYTHONPATH=/ofagent
44COPY common /ofagent/common
45COPY ofagent /ofagent/ofagent
46COPY pki /ofagent/pki
47COPY --from=protos /protos/voltha /ofagent/ofagent/protos
48COPY --from=protos /protos/google/api /ofagent/ofagent/protos/third_party/google/api
49
50ENTRYPOINT ["/usr/bin/dumb-init", "--"]
51
52# Exposing process and default entry point
53CMD ["dumb-init", "python", "ofagent/ofagent/main.py"]