aboutsummaryrefslogtreecommitdiffstats
path: root/examples/placement-models-minizinc/Dockerfile
diff options
context:
space:
mode:
authorramkri123 <ramkri123@gmail.com>2018-03-10 23:12:23 -0300
committerramkri123 <ramkri123@gmail.com>2018-03-10 23:13:32 -0300
commitebfec9169be3767c354b455fdbb4b6f7314f59a3 (patch)
tree8b46084be270769c29d556a7df517b6b50787991 /examples/placement-models-minizinc/Dockerfile
parent356b52c79dc56b97d910211272c7bdbef80b884a (diff)
Dockerfile for OSDF Minizinc Placement Examples
Issue-ID: OPTFRA-153 Change-Id: Ieba7c834e1fa028a00f64bdbf1994fd6703a8fa0 Signed-off-by: ramkri123 <ramkri123@gmail.com>
Diffstat (limited to 'examples/placement-models-minizinc/Dockerfile')
-rw-r--r--examples/placement-models-minizinc/Dockerfile34
1 files changed, 34 insertions, 0 deletions
diff --git a/examples/placement-models-minizinc/Dockerfile b/examples/placement-models-minizinc/Dockerfile
new file mode 100644
index 0000000..e9e913f
--- /dev/null
+++ b/examples/placement-models-minizinc/Dockerfile
@@ -0,0 +1,34 @@
+FROM ubuntu:16.04
+
+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 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 \
+ && pip install jupyterlab
+
+# 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
+RUN git clone http://gerrit.onap.org/r/optf/osdf \
+ && pip install --no-cache-dir -r osdf/requirements.txt
+
+# TODO: Have a clean build process for OSDF beyond the simple cloning
+
+# To add: git clone the OSDF repository
+# pip install --no-cache-dir -r requirements.txt
+# Run some tests at this point itself (so we know if something breaks badly)