diff options
Diffstat (limited to 'docker')
-rw-r--r-- | docker/Dockerfile | 65 | ||||
-rw-r--r-- | docker/opteng/Dockerfile | 42 | ||||
-rw-r--r-- | docker/opteng/assembly/osdf-files.xml | 58 | ||||
-rw-r--r-- | docker/osdf-lib-base/Dockerfile | 49 | ||||
-rw-r--r-- | docker/osdf-lib-base/assembly/osdf-lib-files.xml | 43 | ||||
-rw-r--r-- | docker/osdf/Dockerfile | 40 | ||||
-rw-r--r-- | docker/osdf/assembly/osdf-files.xml | 65 | ||||
-rwxr-xr-x | docker/osdf/build_image.sh (renamed from docker/build_image.sh) | 0 |
8 files changed, 297 insertions, 65 deletions
diff --git a/docker/Dockerfile b/docker/Dockerfile deleted file mode 100644 index 5a2c460..0000000 --- a/docker/Dockerfile +++ /dev/null @@ -1,65 +0,0 @@ -# -# ------------------------------------------------------------------------- -# Copyright (c) 2018 AT&T Intellectual Property -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# ------------------------------------------------------------------------- -# - -FROM ubuntu:16.04 - -ARG MVN_ARTIFACT_VERSION -ARG REPO -ARG HTTP_PROXY=${HTTP_PROXY} -ARG HTTPS_PROXY=${HTTPS_PROXY} - -ENV http_proxy $HTTP_PROXY -ENV https_proxy $HTTPS_PROXY - -ENV OSDF_PORT "8699" -EXPOSE ${OSDF_PORT} - -ENV MZN 2.1.6 -ENV MZN_BASENAME MiniZincIDE-${MZN}-bundle-linux-x86_64 -ENV MZN_GH_BASE https://github.com/MiniZinc/MiniZincIDE -ENV MZN_DL_URL ${MZN_GH_BASE}/releases/download/${MZN}/${MZN_BASENAME}.tgz - -RUN apt-get update -y \ - && apt-get install -y vim unzip wget libmpfr-dev \ - && apt-get install -y git libqt5printsupport5 build-essential \ - && apt-get install -y python3 python3-setuptools python3-dev \ - && easy_install3 pip \ - && pip install --upgrade virtualenv pip wheel - -RUN ln -s /usr/bin/python3.5 /usr/bin/python - -# Minizinc -RUN wget -q $MZN_DL_URL -O mz.tgz \ - && tar xzf mz.tgz \ - && mv $MZN_BASENAME /mz-dist \ - && rm mz.tgz \ - && echo PATH=/mz-dist:$PATH >> ~/.bashrc - -ENV SHELL /bin/bash -ENV PATH /mz-dist:$PATH - -# OSDF -WORKDIR /opt/osdf -RUN wget -O /opt/osdf.zip "https://nexus.onap.org/service/local/artifact/maven/redirect?r=${REPO}&g=org.onap.optf.osdf&a=optf-osdf&e=zip&v=${MVN_ARTIFACT_VERSION}" && \ - unzip -q -o -B /opt/osdf.zip -d /opt/ && \ - rm -f /opt/osdf.zip -RUN mkdir -p /var/log/onap/optf/osdf/ -RUN pip install --no-cache-dir -r requirements.txt - -CMD [ "/opt/osdf/osdfapp.sh" ] diff --git a/docker/opteng/Dockerfile b/docker/opteng/Dockerfile new file mode 100644 index 0000000..037771a --- /dev/null +++ b/docker/opteng/Dockerfile @@ -0,0 +1,42 @@ +# +# ------------------------------------------------------------------------- +# Copyright (c) 2020 AT&T Intellectual Property +# Copyright (C) 2021 Wipro Limited. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# ------------------------------------------------------------------------- +# + +FROM osdf-base:latest + +EXPOSE 8699 + +# OSDF +WORKDIR /opt/osdf + +COPY onap-osdf-tm/requirements-opteng.txt /tmp/requirements-opteng.txt + +RUN pip install --no-cache-dir -r /tmp/requirements-opteng.txt + +COPY onap-osdf-tm/ /opt/osdf + +RUN mkdir -p /var/log/onap/optf/osdf/ \ + && chown onap:onap /var/log/onap -R \ + && chown onap:onap /opt/osdf -R + +USER onap + +ENV OSDF_CONFIG_FILE "/opt/osdf/config/opteng_config.yaml" + +CMD [ "python", "solverapp.py" ] diff --git a/docker/opteng/assembly/osdf-files.xml b/docker/opteng/assembly/osdf-files.xml new file mode 100644 index 0000000..03a6c45 --- /dev/null +++ b/docker/opteng/assembly/osdf-files.xml @@ -0,0 +1,58 @@ +<!-- + Copyright (C) 2020 AT&T Intellectual Property. All rights reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); you may + not use this file except in compliance with the License. You may obtain + a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + License for the specific language governing permissions and limitations + under the License. + +--> +<assembly + xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.1" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.1 http://maven.apache.org/xsd/assembly-1.1.1.xsd"> + <id>osdf-files</id> + + <formats> + <format>tar.gz</format> + </formats> + <includeBaseDirectory>false</includeBaseDirectory> + + + <fileSets> + <fileSet> + <includes> + <include>${project.build.finalName}.zip</include> + </includes> + <directory>${project.build.directory}</directory> + <outputDirectory>/</outputDirectory> + </fileSet> + <fileSet> + <includes> + <include>runtime/**</include> + <include>osdf/**</include> + <include>config/**</include> + <include>setup.py</include> + <include>solverapp.py</include> + </includes> + <excludes> + <exclude>**/*.pyc</exclude> + <exclude>**/__pycache__/**</exclude> + </excludes> + <outputDirectory>/</outputDirectory> + </fileSet> + <fileSet> + <includes> + <include>requirements-opteng.txt</include> + </includes> + <outputDirectory>/</outputDirectory> + </fileSet> + </fileSets> +</assembly> diff --git a/docker/osdf-lib-base/Dockerfile b/docker/osdf-lib-base/Dockerfile new file mode 100644 index 0000000..e8de5ab --- /dev/null +++ b/docker/osdf-lib-base/Dockerfile @@ -0,0 +1,49 @@ +# +# ------------------------------------------------------------------------- +# Copyright (C) 2021 Wipro Limited. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# ------------------------------------------------------------------------- +# + +FROM python:3.9-slim-buster + +ARG HTTP_PROXY=${HTTP_PROXY} +ARG HTTPS_PROXY=${HTTPS_PROXY} +ARG DEBIAN_FRONTEND=noninteractive + +ENV http_proxy $HTTP_PROXY +ENV https_proxy $HTTPS_PROXY + +RUN groupadd onap \ + && useradd -m -g onap onap + +# Minizinc +RUN apt-get update \ + && apt-get install -y wget \ + && wget -q https://github.com/MiniZinc/MiniZincIDE/releases/download/2.4.3/MiniZincIDE-2.4.3-bundle-linux-x86_64.tgz -O /tmp/mz.tgz \ + && mkdir -p /mz-dist && tar xzf /tmp/mz.tgz -C /mz-dist --strip-components 1\ + && rm /tmp/mz.tgz \ + && wget -q https://github.com/google/or-tools/releases/download/v7.8/or-tools_ubuntu-20.04_v7.8.7959.tar.gz -O /tmp/flatzinc.tar.gz \ + && mkdir -p /ortools \ + && tar zxf /tmp/flatzinc.tar.gz -C /ortools --strip-components 1 \ + && rm /tmp/flatzinc.tar.gz \ + && apt-get remove -y wget + +ENV SHELL /bin/bash +ENV PATH /mz-dist/bin:$PATH + +COPY onap-osdf-tm/requirements.txt /tmp/requirements.txt + +RUN pip install --no-cache-dir -r /tmp/requirements.txt diff --git a/docker/osdf-lib-base/assembly/osdf-lib-files.xml b/docker/osdf-lib-base/assembly/osdf-lib-files.xml new file mode 100644 index 0000000..d3cb5dd --- /dev/null +++ b/docker/osdf-lib-base/assembly/osdf-lib-files.xml @@ -0,0 +1,43 @@ +<!-- + Copyright (C) 2021 Wipro Limited. + + Licensed under the Apache License, Version 2.0 (the "License"); you may + not use this file except in compliance with the License. You may obtain + a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + License for the specific language governing permissions and limitations + under the License. + +--> + +<assembly + xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.1" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.1 http://maven.apache.org/xsd/assembly-1.1.1.xsd"> + <id>osdf-lib-files</id> + + <formats> + <format>tar.gz</format> + </formats> + <includeBaseDirectory>false</includeBaseDirectory> + + + <fileSets> + <fileSet> + <includes> + <include>requirements.txt</include> + </includes> + <excludes> + <exclude>**/*.pyc</exclude> + <exclude>**/__pycache__/**</exclude> + </excludes> + <outputDirectory>/</outputDirectory> + </fileSet> + + </fileSets> +</assembly> diff --git a/docker/osdf/Dockerfile b/docker/osdf/Dockerfile new file mode 100644 index 0000000..d1fd2c4 --- /dev/null +++ b/docker/osdf/Dockerfile @@ -0,0 +1,40 @@ +# +# ------------------------------------------------------------------------- +# Copyright (c) 2018 AT&T Intellectual Property +# Copyright (C) 2021 Wipro Limited. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# ------------------------------------------------------------------------- +# + +FROM osdf-base:latest + +EXPOSE 8699 + +# OSDF +WORKDIR /opt/osdf + +COPY onap-osdf-tm/requirements-osdf.txt /tmp/requirements-osdf.txt + +RUN pip install --no-cache-dir -r /tmp/requirements-osdf.txt + +COPY onap-osdf-tm /opt/osdf + +RUN mkdir -p /var/log/onap/optf/osdf/ \ + && chown -R onap:onap /var/log/onap \ + && chown -R onap:onap /opt/osdf + +USER onap + +CMD [ "python", "osdfapp.py" ] diff --git a/docker/osdf/assembly/osdf-files.xml b/docker/osdf/assembly/osdf-files.xml new file mode 100644 index 0000000..1b7c349 --- /dev/null +++ b/docker/osdf/assembly/osdf-files.xml @@ -0,0 +1,65 @@ +<!-- + Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); you may + not use this file except in compliance with the License. You may obtain + a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + License for the specific language governing permissions and limitations + under the License. + +--> + +<!-- + Copyright (c) 2018 Intel Corporation. All rights reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); you may + not use this file except in compliance with the License. You may obtain + a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + License for the specific language governing permissions and limitations + under the License. +--> + +<assembly + xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.1" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.1 http://maven.apache.org/xsd/assembly-1.1.1.xsd"> + <id>osdf-files</id> + + <formats> + <format>tar.gz</format> + </formats> + <includeBaseDirectory>false</includeBaseDirectory> + + + <fileSets> + <fileSet> + <includes> + <include>apps/**</include> + <include>osdf/**</include> + <include>config/**</include> + <include>setup.py</include> + <include>osdfapp.py</include> + <include>requirements.txt</include> + <include>requirements-osdf.txt</include> + </includes> + <excludes> + <exclude>**/*.pyc</exclude> + <exclude>**/__pycache__/**</exclude> + </excludes> + <outputDirectory>/</outputDirectory> + </fileSet> + + </fileSets> +</assembly> diff --git a/docker/build_image.sh b/docker/osdf/build_image.sh index 3d9d823..3d9d823 100755 --- a/docker/build_image.sh +++ b/docker/osdf/build_image.sh |