Create dockerfile to build the storperf image 91/4191/6
authorjose.lausuch <jose.lausuch@ericsson.com>
Thu, 10 Dec 2015 13:50:56 +0000 (14:50 +0100)
committerjose.lausuch <jose.lausuch@ericsson.com>
Thu, 10 Dec 2015 16:09:23 +0000 (17:09 +0100)
JIRA: STORPERF-15

Change-Id: I1e35694e8b091caa3718c341f9f95217e5b0b609
Signed-off-by: jose.lausuch <jose.lausuch@ericsson.com>
docker/Dockerfile [new file with mode: 0644]
docker/storperf.pp [new file with mode: 0644]

diff --git a/docker/Dockerfile b/docker/Dockerfile
new file mode 100644 (file)
index 0000000..861478f
--- /dev/null
@@ -0,0 +1,48 @@
+########################################
+#   Docker container for STORPERF
+########################################
+# Purpose: docker image for Storperf project
+#
+# Maintained by Jose Lausuch, Mark Beierl
+# Build:
+#    $ docker build -t opnfv/storperf:tag .
+#
+# Execution:
+#    $ docker run -t -i opnfv/storperf /bin/bash
+#
+
+
+FROM ubuntu:14.04
+MAINTAINER Jose Lausuch <jose.lausuch@ericsson.com>
+LABEL version="0.1" description="OPNFV Storperf Docker container"
+
+ENV repos_dir /home/opnfv/repos
+
+WORKDIR /home/opnfv
+
+# Packaged dependencies
+RUN apt-get update && apt-get install -y \
+ssh \
+rsync \
+git \
+wget \
+puppet \
+build-essential \
+python-dev \
+python-pip \
+--no-install-recommends
+
+RUN mkdir -p ${repos_dir}
+RUN mkdir -p /root/.ssh
+RUN chmod 700 /root/.ssh
+
+RUN git config --global http.sslVerify false
+RUN git clone https://gerrit.opnfv.org/gerrit/storperf ${repos_dir}/storperf
+RUN git clone https://gerrit.opnfv.org/gerrit/releng ${repos_dir}/releng
+RUN git clone http://git.kernel.dk/fio.git ${repos_dir}/fio
+RUN cd ${repos_dir}/fio && git checkout tags/fio-2.2.10
+RUN cd ${repos_dir}/fio &&  make
+RUN puppet module install gdsoperations-graphite
+
+COPY storperf.pp /etc/puppet/manifests/storperf.pp
+RUN puppet apply /etc/puppet/manifests/storperf.pp
diff --git a/docker/storperf.pp b/docker/storperf.pp
new file mode 100644 (file)
index 0000000..00a6482
--- /dev/null
@@ -0,0 +1,10 @@
+class { 'python':
+  pip        => true,
+  dev        => true,
+  virtualenv => true,
+}
+
+class { 'graphite':
+  port    => 8080,
+  bind_address => '0.0.0.0',
+}