# $ docker build -t opnfv/storperf-master:tag .
#
-FROM alpine:3.5 as fio-builder
+FROM alpine:3.5 as storperf-builder
LABEL version="5.0" description="OPNFV Storperf Docker container"
ENV repos_dir /home/opnfv/repos
RUN apk --no-cache add --update \
- python-dev \
git \
alpine-sdk \
linux-headers \
zlib-dev
# Third party git fetches
-
RUN git config --global http.sslVerify false
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 && git checkout tags/fio-2.99
RUN cd ${repos_dir}/fio && EXTFLAGS="-static" make install
-# StorPerf Master Builder
-
-FROM alpine:3.5 as storperf-builder
+# Build StorPerf
RUN apk --no-cache add --update \
libffi-dev \
bash
COPY --from=storperf-builder /usr/lib/python2.7/site-packages /usr/lib/python2.7/site-packages
-COPY --from=fio-builder /usr/local/bin/fio /usr/local/bin/fio
+COPY --from=storperf-builder /usr/local/bin/fio /usr/local/bin/fio
COPY . /storperf
WORKDIR /storperf
self.assertEqual(expected_slope, self.metadata['report_data']
['rw.queue-depth.8.block-size.8192']
- ['lat.mean']
+ ['lat_ns.mean']
['read']
['slope'])
self.assertEqual(expected_range, self.metadata['report_data']
['rw.queue-depth.8.block-size.8192']
- ['lat.mean']
+ ['lat_ns.mean']
['read']
['range'])
self.assertEqual(expected_average, self.metadata['report_data']
['rw.queue-depth.8.block-size.8192']
- ['lat.mean']
+ ['lat_ns.mean']
['read']
['average'])
self.assertEqual(expected_slope, self.metadata['report_data']
['rw.queue-depth.8.block-size.8192']
- ['lat.mean']
+ ['lat_ns.mean']
['read']
['slope'])
self.assertEqual(expected_range, self.metadata['report_data']
['rw.queue-depth.8.block-size.8192']
- ['lat.mean']
+ ['lat_ns.mean']
['read']
['range'])
self.assertEqual(expected_average, self.metadata['report_data']
['rw.queue-depth.8.block-size.8192']
- ['lat.mean']
+ ['lat_ns.mean']
['read']
['average'])
self.assertEqual(report_data, self.metadata['report_data']
['rw.queue-depth.8.block-size.8192']
- ['lat.mean']
+ ['lat_ns.mean']
['read']
['series'])
self.assertEqual(True, self._terminated)
Version history
---------------
+
+--------------------+--------------------+--------------------+--------------------+
| **Date** | **Ver.** | **Author** | **Comment** |
| | | | |
+--------------------+--------------------+--------------------+--------------------+
-| 2017-07-14 | Danube 3.0 | Mark Beierl | |
-| | | | |
-+--------------------+--------------------+--------------------+--------------------+
-| 2017-05-04 | Danube 2.0 | Mark Beierl | |
-| | | | |
-+--------------------+--------------------+--------------------+--------------------+
-| 2017-03-30 | Danube 1.0 | Mark Beierl | |
+| 2017-10-06 | Euphrates 1.0 | Mark Beierl | |
| | | | |
+--------------------+--------------------+--------------------+--------------------+
performance. If desired, it can push results to the OPNFV Test Results DB, or
the embedded Graphite web interface can be used to perform ad hoc queries.
-This release supports Keystone v3 authentication
+This release changes to docker-compose framework and adds the StorPerf
+reporting module. It also marks a change from microsecond (us) to nano-second
+precision for all reported latencies. This is denoted by a change from
+lat.mean to lat_ns.mean for read and write metrics.
Release Data
============
| **Project** | StorPerf |
| | |
+--------------------------------------+--------------------------------------+
-| **Repo/commit-ID** | storperf/danube.3.0 |
+| **Repo/commit-ID** | storperf/euphrates.1.0 |
| | |
+--------------------------------------+--------------------------------------+
| **Release designation** | Danube base release |
| | |
+--------------------------------------+--------------------------------------+
-| **Release date** | 2017-07-14 |
+| **Release date** | 2017-10-06 |
| | |
+--------------------------------------+--------------------------------------+
-| **Purpose of the delivery** | OPNFV Danube release 3.0 |
+| **Purpose of the delivery** | OPNFV Euphrates release 1.0 |
| | |
+--------------------------------------+--------------------------------------+
Features additions
^^^^^^^^^^^^^^^^^^
-* STORPERF-139 - Expose maximum number of steady state samples as a parameter
+* STORPERF-125 - StorPerf container decomposition
+* STORPERF-141 - Create a series of graphs to support SNIA targers
Bug Fixes
^^^^^^^^^
The following minor bugs have been fixed
-* STORPERF-127 - Unable to communicate using v3 authentication due to missing domain.
-* STORPERF-128 - Daily Danube job uses latest tag from docker
-* STORPERF-153 - Profiling a file does not work
-* STORPERF-154 - PROJECT_DOMAIN_ID not recognized
See JIRA for full `change log <https://jira.opnfv.org/jira/secure/ReleaseNote.jspa?projectId=11002&version=10714>`_
Documentation
^^^^^^^^^^^^^
-- `User Guide <http://docs.opnfv.org/en/stable-danube/submodules/storperf/docs/testing/user/index.html>`_
+- `User Guide <http://docs.opnfv.org/en/latest/submodules/storperf/docs/testing/user/index.html>`_
Known Limitations, Issues and Workarounds
=========================================
Limitations
-----------
+* Does not work with a target OS that requires authentication instead of using init-cloud for generating the ssh key.
Known issues
------------
* STORPERF-56 - Cannot delete stack if create failed
-* STORPERF-180 - No details if stack create failed
Test Result
===========
{
"rw.queue-depth.1.block-size.512.read.bw": 52.8,
"rw.queue-depth.1.block-size.512.read.iops": 106.76199999999999,
- "rw.queue-depth.1.block-size.512.read.lat.mean": 93.176,
+ "rw.queue-depth.1.block-size.512.read.lat_ns.mean": 93.176,
"rw.queue-depth.1.block-size.512.write.bw": 22.5,
"rw.queue-depth.1.block-size.512.write.iops": 45.760000000000005,
- "rw.queue-depth.1.block-size.512.write.lat.mean": 21764.184999999998
+ "rw.queue-depth.1.block-size.512.write.lat_ns.mean": 21764.184999999998
}
Abort a Job