blob: 41011455eee3f854f73ade83e47ec0e31660820e [file] [log] [blame]
William Kurkian6f436d02019-02-06 16:25:01 -05001# 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-openolt-protos:${TAG} as openolt_protos
20FROM ${REGISTRY}${REPOSITORY}voltha-base:${TAG}
21
22MAINTAINER Voltha Community <info@opennetworking.org>
23
24# Bundle app source
25RUN mkdir /voltha && touch /voltha/__init__.py
26ENV PYTHONPATH=/voltha
William Kurkianfefd4642019-02-07 15:30:03 -050027COPY common /voltha/voltha/common/
28COPY common /voltha/common/
29COPY adapters/common /voltha/common/
30COPY adapters/common /voltha/voltha/adapters/common/
31COPY adapters/kafka /voltha/voltha/adapters/kafka
32COPY adapters/*.py /voltha/voltha/adapters/
33COPY adapters/openolt /voltha/voltha/adapters/openolt
34COPY adapters/extensions /voltha/voltha/extensions
35COPY core /voltha/voltha/core/
36COPY common/utils/registry.py /voltha/voltha/
37RUN touch /voltha/voltha/__init__.py
38RUN touch /voltha/voltha/adapters/__init__.py
39
40#two copies of the libraries for now to support various import
41#This can be simiplified once the common libraries are unified in one repo
William Kurkian6f436d02019-02-06 16:25:01 -050042COPY common /voltha/python/common/
43COPY adapters/common /voltha/python/adapters/common/
44COPY adapters/kafka /voltha/python/adapters/kafka
45COPY adapters/*.py /voltha/python/adapters/
46COPY adapters/openolt /voltha/python/adapters/openolt
William Kurkianfefd4642019-02-07 15:30:03 -050047COPY adapters/extensions /voltha/python/extensions
William Kurkian6f436d02019-02-06 16:25:01 -050048RUN touch /voltha/python/__init__.py
49RUN touch /voltha/python/adapters/__init__.py
50
51# Copy in the generated GRPC proto code
William Kurkianfefd4642019-02-07 15:30:03 -050052COPY --from=protos /protos/voltha /voltha/voltha/protos
53COPY --from=protos /protos/google/api /voltha/voltha/protos/third_party/google/api
54COPY --from=openolt_protos /protos/voltha /voltha/voltha/protos
55COPY protos/third_party/__init__.py /voltha/voltha/protos/third_party
56COPY --from=openolt_protos /protos/voltha /voltha/voltha/adapters/openolt/protos/
57RUN touch /voltha/voltha/protos/__init__.py
58RUN touch /voltha/voltha/protos/third_party/google/__init__.py
59RUN touch /voltha/voltha/adapters/openolt/protos/__init__.py
60
61# Copy in the generated GRPC proto code
William Kurkian6f436d02019-02-06 16:25:01 -050062COPY --from=protos /protos/voltha /voltha/python/protos
63COPY --from=protos /protos/google/api /voltha/python/protos/third_party/google/api
64COPY --from=openolt_protos /protos/voltha /voltha/python/protos
65COPY protos/third_party/__init__.py /voltha/python/protos/third_party
66RUN touch /voltha/python/protos/__init__.py
67RUN touch /voltha/python/protos/third_party/google/__init__.py
68
69# Exposing process and default entry point
70# CMD ["python", "/voltha/python/adapters/openolt/main.py"]