summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2016-08-25Slope errorMark Beierl2-2/+8
Test and fix for error in slope STORPERF-74 Change-Id: I17a8e0e1e588deb875ecace85290f92167df1d5e Signed-off-by: Mark Beierl <mark.beierl@emc.com> (cherry picked from commit 8e3587493d685745e08c97e25ec8b2b3a7bd3a00)
2016-07-15Add Steady State Detection moduleTim Rault8-38/+337
Added a Steady State Detection module containing a steady_state(data_series) function that is able to return a boolean indicating wether or not steady state is reached with the data_series being passed. This module requires a data_treatment(data_series) and an average(data_series) modules that have been added in this commit as well. The data treatment function aims at formatting the data series that is passed to the high level steady_state function to reach the requirement of each sub-module (slope, average and range). Modified the Slope and Range functions so they return None when passed an empty data series instead of 0 which was wrong. Modified the corresponding test cases. Modified the math_range_test.py file to fix a bug in the 2 last tests. Change-Id: I9c3854cb0a21cc37b0787b8afca0821eefaa203d JIRA: STORPERF-60 JIRA: STORPERF-59 JIRA: STORPERF-61 JIRA: STORPERF-62 Signed-off-by: Tim Rault <tim.rault@cengn.ca>
2016-07-14Separation of test and sourceMark Beierl16-1/+1
Moving the test files into their own top-level directory to keep things clean Change-Id: Ic50b881045bc59b003807923424345b335dd5c95 Signed-off-by: Mark Beierl <mark.beierl@emc.com>
2016-07-14Enforce Style GuidelinesMark Beierl3-8/+14
Update to fail verify if pep8 compliance not met. Revert back to Coverage 4.1 to show code coverage report in Jenkins again Change-Id: Icb467451f101942255c7944ad796497609dcb07e Signed-off-by: Mark Beierl <mark.beierl@emc.com>
2016-07-14Merge "Fix missing test"Mark Beierl1-0/+0
2016-07-14Add Range function for Steady State detectionTim Rault3-43/+200
Added a range_value function in utilities/math.py able to compute the range of a series of y values : [y1, y2, ..., yn]. Implemented a test harness for this range_value function in the tests/utilities section. Renamed the math_slope.py and math_range.py test files to add _test.py for Jenkins. Cleaned up the code so it is compliant to the pep8 rules. Renamed the previous 'math' modules (storperf/utilities/math.py and storperf/test/utilities/math.py) as 'math_slope' to be coherent with the new notation. Change-Id: I02ccd2b87f0b72e7a28c416b593aae4d8ad97961 JIRA: STORPERF-57 JIRA: STORPERF-58 Signed-off-by: Tim Rault <tim.rault@cengn.ca>
2016-07-14Fix missing testMark Beierl1-0/+0
All test files must end in _test.py or they don't get executed Change-Id: If3a46a66570f7d07d0e93de72438a8a46b3e0a22 Signed-off-by: Mark Beierl <mark.beierl@emc.com>
2016-07-06Add Least Squares slope functionTim Rault2-0/+118
Added a math module in utilities that contains a slope function able to compute the slope of the best Least Squares curve fit given a series of [x,y] values. Implemented a test harness for this math module in the tests/utilities section. Change-Id: If4d63af092d0904b2269c5ee0991e18ab84533c0 JIRA: STORPERF-54 JIRA: STORPERF-55 JIRA: STORPERF-51 Signed-off-by: Tim Rault <tim.rault@cengn.ca>
2016-06-16Force a compatible version of CoverageMark Beierl1-1/+1
LiClipse / PyDev only works with 3.4 Change-Id: I351df5f8120889af07b10ebb7a740d1e318cb1c2 Signed-off-by: Mark Beierl <mark.beierl@emc.com>
2016-05-26Autocreate the key pairMark Beierl1-5/+9
Change-Id: Ib4b8cb92b4cbc7dd778363335b6d0e22ae1993fb Signed-off-by: Mark Beierl <mark.beierl@emc.com>
2016-05-20Standardize the ReST APIMark Beierl3-14/+14
Change-Id: I004824711abf17f06781302cf48a0b0e3d095ecb Signed-off-by: Mark Beierl <mark.beierl@emc.com>
2016-05-13Fixed logic indendation bugMark Beierl1-1/+2
Change-Id: I6cb17c699ae3b88a591278da23d60dfc0da91e40 Signed-off-by: Mark Beierl <mark.beierl@emc.com>
2016-05-12Fixed spacing for swagger docsMark Beierl1-9/+9
Change-Id: I994153d03981f9b706834ab2ab09196e235cc7ce Signed-off-by: Mark Beierl <mark.beierl@emc.com>
2016-05-12Results DB ReportingMark Beierl11-15/+217
Add the ability to push results to the test result db. If the environment variable TEST_DB_URL is defined, results will be pushed there. If not, no push is attempted. Change-Id: Ib833530d7379c5f37f0d2904a83d31a4ee559ae6 JIRA: STORPERF-13 Signed-off-by: Mark Beierl <mark.beierl@emc.com>
2016-05-11Max test durationMark Beierl3-7/+48
Add a maximum time limit for any one given test so that silly mistakes like block size 512, queue depth 1 does not end up running for 2 days JIRA: STORPERF-53 Change-Id: I1f3e5046e1dd346fc5b28a7b935df2ee9aa6ba3d Signed-off-by: Mark Beierl <mark.beierl@emc.com>
2016-05-11Job Run MetadataMark Beierl3-12/+43
Add the ability to store arbitrary metadata about the job for later reporting Change-Id: If7f1d0a69111567d69db865baec6c20f9a1f494f Signed-off-by: Mark Beierl <mark.beierl@emc.com>
2016-05-10Fix double loop bugMark Beierl2-6/+8
Change-Id: I47f20dec309d7ab8402f40f6cf09828aa134e902 Signed-off-by: Mark Beierl <mark.beierl@emc.com>
2016-05-10Auth timeout fix and VM image selectionMark Beierl4-2/+44
Fix the OpenStack client authentication timeout bug where we never reauthenticate after authentication expires Add the ability to specify what OS image from the Glance catalog should be used for the Agent VM Change-Id: I2ff8f5598b8d58ee2bf654b3572e9841b24cc9de JIRA: STORPERF-42 Signed-off-by: Mark Beierl <mark.beierl@emc.com>
2016-05-09Add plotsMark Beierl11-9/+312
Adds matplotlib Adds support for generating graphs showing performance results Change-Id: Iba344baab89e35c0d5891a9d6b4c22c37666511e JIRA: STORPERF-44 JIRA: STORPERF-50 Signed-off-by: Mark Beierl <mark.beierl@emc.com>
2016-05-06 Add Stats report and Swagger UIMark Beierl7-10/+138
Add Swagger web ui at /swagger Add ability to fetch read/write latency status via ReST ui Can now delete where stack was removed from OpenStack but not from the storperf DB Change to use Floating IPs instead of private IP Fix delete bug where there was no dependency on resources in the resource group. JIRA: STORPERF-19 JIRA: STORPERF-20 Change-Id: I1d9627d81f3c309b178a9b68cc306a4101c1a231 Signed-off-by: Mark Beierl <mark.beierl@emc.com>
2016-05-05 Add Stats report and Swagger UIMark Beierl21-127/+388
Add Swagger web ui at /swagger Add ability to fetch read/write latency status via ReST ui Can now delete where stack was removed from OpenStack but not from the storperf DB Change to use Floating IPs instead of private IP Fix delete bug where there was no dependency on resources in the resource group. JIRA: STORPERF-19 JIRA: STORPERF-20 Change-Id: I0a4b3386789c38d6745906ba896b8ff851dc122f Signed-off-by: Mark Beierl <mark.beierl@emc.com>
2016-04-26Fix flake8 violationsjose.lausuch3-15/+15
Change-Id: Idd0f4bec503578c2f2031cbcdee97ea27d22ac14 Signed-off-by: jose.lausuch <jose.lausuch@ericsson.com>
2016-04-26Cancel Job APIMark Beierl6-8/+73
Add the ability to terminate a running job via the API JIRA: STORPERF-20 Change-Id: I73a701cff9712207f5e14cfcc6b8fb7e0ab59aed Signed-off-by: Mark Beierl <mark.beierl@emc.com>
2016-04-25Job run lifecycle reworkMark Beierl11-95/+154
Change the way slave jobs are managed so that they are in step with each other, and we can track the overall thread that is running them. This lays groundwork for STORPERF-20 and STORPERF-44 JIRA: STORPERF-33 STORPERF-43 Change-Id: Iaff48a2823ba85d6512e9782fd9091a72639835c Signed-off-by: Mark Beierl <mark.beierl@emc.com>
2016-04-15Tests in verifyMark Beierl3-38/+53
Run the tests in the verify command instead of just merge so that way patches can be rejected if tests fail Change-Id: I8907618a324296460a71a51d087926f9089e0d21 Signed-off-by: Mark Beierl <mark.beierl@emc.com>
2016-04-08Test Run Default ValuesMark Beierl2-5/+5
Change test run to default to 64k blocks with 100% of attached storage being tested. JIRA: STORPERF-33 Change-Id: Id803d0493fb2c35691911ed79d226443a01503f3 Signed-off-by: Mark Beierl <mark.beierl@emc.com>
2016-04-07Graphite module load fix - reopenMark Beierl1-2/+2
Create symlinks for whisper so that Graphite can find the modules at runtime. Needs to be done after Graphite is installed Change-Id: I383557138fa083d4ffeea307868465f72efaeb69 JIRA: STORPERF-41 Signed-off-by: Mark Beierl <mark.beierl@emc.com>
2016-04-06Incorrect nameMark Beierl3-5/+6
StorPerf agent now uses storperf in ssh HOT uses default name StorPerf Ubuntu 14.04 Change-Id: Ie87443955c73d1e81fb3a75b90e4a65a9ac6560b JIRA: STORPERF-39 Signed-off-by: Mark Beierl <mark.beierl@emc.com>
2016-03-09Fixup initilizationMark Beierl1-1/+3
Fetch the target from the correct field. Initialize the workloads to a known value Change-Id: Iadea5b580671fc2e4a1394248b800a446a37824a JIRA: STORPERF-36 STORPERF-37 Signed-off-by: Mark Beierl <mark.beierl@emc.com>
2016-03-09FIO needs sudoMark Beierl1-2/+2
Use sudo for fio when profiling a device. Change-Id: Ibbcbb15a2c33e1e58b7e340f9c3f6de5958f5636 JIRA: STORPERF-40 Signed-off-by: Mark Beierl <mark.beierl@emc.com>
2016-03-09Deadlock in job_dbMark Beierl1-4/+7
Change order of operation so that we do not attempt to lock the same mutex twice in a row. Change-Id: I1f874d720e2b66d9b272be0202482b22d24ef2b2 JIRA: STORPERF-42 Signed-off-by: Mark Beierl <mark.beierl@emc.com>
2016-03-09Merge "Cinder fix"Mark Beierl2-2/+3
2016-03-08Cinder fixMark Beierl2-2/+3
Fix so that Cinder will use Tenant ID instead of name Change-Id: I2d30db61dffc4f381d64e8d99449a2c55c5928a9 JIRA: STORPERF-38 Signed-off-by: Mark Beierl <mark.beierl@emc.com>
2016-03-08Graphite module load fixMark Beierl1-0/+2
Create symlinks for whisper so that Graphite can find the modules at runtime. Change-Id: Ie0defb180a29ba430978be091d6683a6cf7d5891 JIRA: STORPERF-41 Signed-off-by: Mark Beierl <mark.beierl@emc.com>
2016-02-24DB Access MutexMark Beierl2-173/+206
Addition of a mutex to prevent mutiple, simultaneous DB accesses as SQLite is single threaded Change-Id: Iad2cd94015f7fb604dc6b60636db939099f52757 JIRA: STORPERF-32 Signed-off-by: Mark Beierl <mark.beierl@emc.com>
2016-02-03Developer build process fixMark Beierl1-1/+1
Fix the installation os setuptools so that it does not conflict with mock. Change-Id: I7c497d36c80a795fc99b329da2d171a265e4eacc JIRA: STORPERF-35 Signed-off-by: Mark Beierl <mark.beierl@emc.com>
2016-01-29Fixed typoMark Beierl1-1/+1
SSHD failed to start due to typo in supervisord.conf Change-Id: I23fd1452b83dd28d1c2c24760a5d428e01f90799 Signed-off-by: Mark Beierl <mark.beierl@emc.com>
2016-01-29Remote slave agent workloadMark Beierl39-320/+1300
Add storperf master object to manage stack lifecycle. Add configuration db. Creation of CLI vs. main so that ReST API and CLI API can be kept clear. Fixed License in files. Changed DB objects to be thread safe. Added ssh server to container if desired for CLI. Change-Id: Idfe84bfb7920e6ce19d27462593c21ea86e7b406 JIRA: STORPERF-29 Signed-off-by: Mark Beierl <mark.beierl@emc.com>
2016-01-07Switching merge job to virtualenvMark Beierl3-0/+50
Signed-off-by: Mark Beierl <mark.beierl@emc.com>
2015-12-11Workload reportingmbeierl9-57/+474
Use a local db to track start/end times of runs so we can go back to the carbon db and summarize values at reporting time based off the raw data. Change-Id: Ie62afd339fd1c15d82bc56c93c7cba5bd4f90fe2 JIRA: STORPERF-29 Signed-off-by: mbeierl <mark.beierl@emc.com>
2015-12-10Additional FIO and development build supportMark Beierl4-1/+43
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>
2015-12-10Adding Jose Lausuch as commiterMark Beierl1-1/+5
Change-Id: I22c24e2bfd8f08ce4ff7f18794280582f564b8f0 Signed-off-by: Mark Beierl <mark.beierl@emc.com>
2015-12-10Create dockerfile to build the storperf imagejose.lausuch2-0/+58
JIRA: STORPERF-15 Change-Id: I1e35694e8b091caa3718c341f9f95217e5b0b609 Signed-off-by: jose.lausuch <jose.lausuch@ericsson.com>
2015-12-10This should not be under source code controlMark Beierl3-26/+2
Change-Id: Ia4f84fef338401604a704cd5b690b7bddd968886 Signed-off-by: Mark Beierl <mark.beierl@emc.com>
2015-11-23Adding workload modulesmbeierl21-1020/+538
Adding the ablity to define workloads in modules which can be referenced from the API. Breaking out the test execution into its own class so it will be easier to support ReST or other interfaces. Added flake8 and code coverage reports where possible to merge and verify jobs Change-Id: Ieb51e4e7e1e989288a6f81f4757709669914a196 JIRA: STORPERF-21 Signed-off-by: mbeierl <mark.beierl@emc.com>
2015-11-05Adding Heat template for staging StorPerf master nodembeierl7-6/+199
Change-Id: I1e55290013f31272952f23869a02d68ca08cd4a7 JIRA: STORPERF-12 Signed-off-by: mbeierl <mark.beierl@emc.com>
2015-10-16Integration with RelengMark Beierl3-0/+6
Added verify, merge and daily jobs that will be called automatically by Gerrit/LF Jenkins on workflow change Change-Id: I3ae85593b6aeac4a1a7abb51354b9cc6fa1fd813 JIRA: RELENG-41 Signed-off-by: Mark Beierl <mark@jemms.net>
2015-10-15Logging and timestampmbeierl6-78/+917
Added logging and fixed issue if fio does not produce the current timestamp in its output JIRA: STORPERF-4 Change-Id: Ifd0dbc4e17d984907e63089ebfae1d0e9e749dcc Signed-off-by: mbeierl <mark.beierl@emc.com>
2015-10-15Main and fio interactionmbeierl4-0/+219
JIRA: STORPERF-4 Change-Id: I60efb773848459f994662db8f050174ab9c86bd0 Signed-off-by: mbeierl <mark.beierl@emc.com>
2015-10-15Creation of convertersmbeierl1-0/+120
JIRA: STORPERF-6 Change-Id: Id81a129807a984ad4af669e3f0f84c1e7ced5552 Signed-off-by: mbeierl <mark.beierl@emc.com>