Additional FIO and development build support 31/4231/1
authorMark Beierl <mark.beierl@emc.com>
Thu, 10 Dec 2015 21:14:43 +0000 (16:14 -0500)
committerMark Beierl <mark.beierl@emc.com>
Thu, 10 Dec 2015 21:14:43 +0000 (16:14 -0500)
Add async IO development package so that FIO can
take advantage of that in order to drive queue
depth up.
Add supervisord to container so graphite and
carbon can start automatically
Add a developer build script so we can create
a container based on current state of local
repo

Change-Id: Ibd57f484b2fa41aa48a1c4fb06217e7d6e1c0b3a
JIRA: STORPERF-15
Signed-off-by: Mark Beierl <mark.beierl@emc.com>
.gitignore
build-dev-docker.sh [new file with mode: 0755]
docker/Dockerfile
docker/supervisord.conf [new file with mode: 0644]

index d012c70..4573c9d 100644 (file)
@@ -3,3 +3,5 @@ nosetests.xml
 *.log
 .project
 .pydevproject
+coverage.xml
+.coverage
diff --git a/build-dev-docker.sh b/build-dev-docker.sh
new file mode 100755 (executable)
index 0000000..1e6a861
--- /dev/null
@@ -0,0 +1,11 @@
+#!/bin/bash
+
+echo "Creating a docker image from the current working directory..."
+
+sed "s|RUN git clone https://gerrit.opnfv.org/gerrit/storperf.*$|COPY . \${repos_dir}/storperf|" docker/Dockerfile > Dockerfile
+sed -i  "s|COPY storperf.pp|COPY docker/storperf.pp|" Dockerfile
+sed -i  "s|COPY supervisord.conf|COPY docker/supervisord.conf|" Dockerfile
+
+docker build -t opnfv/storperf:dev .
+
+rm Dockerfile
index 861478f..5ad8624 100644 (file)
@@ -22,6 +22,10 @@ WORKDIR /home/opnfv
 
 # Packaged dependencies
 RUN apt-get update && apt-get install -y \
+libaio1 \
+libaio-dev \
+zlib1g-dev \
+supervisor \
 ssh \
 rsync \
 git \
@@ -41,8 +45,14 @@ 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 cd ${repos_dir}/fio && make -j 4 install
 RUN puppet module install gdsoperations-graphite
 
 COPY storperf.pp /etc/puppet/manifests/storperf.pp
 RUN puppet apply /etc/puppet/manifests/storperf.pp
+
+#Let others connect to Graphite if they want our data
+EXPOSE 8000
+
+COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf
+CMD ["/usr/bin/supervisord"]
diff --git a/docker/supervisord.conf b/docker/supervisord.conf
new file mode 100644 (file)
index 0000000..80dfe5e
--- /dev/null
@@ -0,0 +1,19 @@
+[supervisord]
+nodaemon = true
+environment = GRAPHITE_STORAGE_DIR='/opt/graphite/storage',GRAPHITE_CONF_DIR='/opt/graphite/conf'
+
+[program:carbon-cache]
+user = www-data
+command = /opt/graphite/bin/carbon-cache.py --debug start
+stdout_logfile = /var/log/supervisor/%(program_name)s.log
+stderr_logfile = /var/log/supervisor/%(program_name)s.log
+autorestart = true
+
+[program:graphite-webapp]
+user = www-data
+directory = /opt/graphite/webapp
+environment = PYTHONPATH='/opt/graphite/webapp'
+command =  /opt/graphite/bin/gunicorn_django -b0.0.0.0:8000 -w2 graphite/settings.py
+stdout_logfile = /var/log/supervisor/%(program_name)s.log
+stderr_logfile = /var/log/supervisor/%(program_name)s.log
+autorestart = true