From 5108c90fa276adb761d294c963d0903395950864 Mon Sep 17 00:00:00 2001 From: Mark Beierl Date: Thu, 10 Dec 2015 16:14:43 -0500 Subject: Additional FIO and development build support 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 --- .gitignore | 2 ++ build-dev-docker.sh | 11 +++++++++++ docker/Dockerfile | 12 +++++++++++- docker/supervisord.conf | 19 +++++++++++++++++++ 4 files changed, 43 insertions(+), 1 deletion(-) create mode 100755 build-dev-docker.sh create mode 100644 docker/supervisord.conf diff --git a/.gitignore b/.gitignore index d012c70..4573c9d 100644 --- a/.gitignore +++ b/.gitignore @@ -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 index 0000000..1e6a861 --- /dev/null +++ b/build-dev-docker.sh @@ -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 diff --git a/docker/Dockerfile b/docker/Dockerfile index 861478f..5ad8624 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -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 index 0000000..80dfe5e --- /dev/null +++ b/docker/supervisord.conf @@ -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 -- cgit 1.2.3-korg