CHANGES
=======

* add deviation to reports
* Improvements in Dockerfile
* Dockerfile updates
* fix config file examples, houskeeping, etc
* Create docker.md
* Dockerfile to build tool with dependecies
* fix problem with old paramiko
* add insecure openstack connection support2
* add insecure openstack connection support
* 2.0 ready
* fixes
* temporary commit
* fix file prefill check
* fix build comparisio
* add lat/bw limits, fio binaryes, fix bugs, fix latency calculations, etc
* v2 is comming
* tempo commit
* tempo commit
* tempo commit
* tempo commit
* update TODO
* fix fio iops/lat/bw file name patterns
* add mixed load test, other fixes
* New cpu load option, bottlenecks
* a lot of changes
* fix modules and 2.6 compatibility

v0.2
----

* fix muptiply tests in one run, update report generation
* a lot of chenges
* Fixed getting os_auth_url
* fix tasks
* a lot of changes
* a lot of changes
* a lot of changes
* small db tests fixes
* pgbench fixes
* Mysql tests
* release preparation
* fixes in ceph tests, add linearity plot
* improve OS preparation, change config structure
* Create README.md
* report changes
* fixes
* fixes
* a lot of fixes
* fix sftp exception types
* fix ceph test ram usage
* add local sensor datastore, make IO tests granular
* add during test webiu
* improve bg. process monitoring
* Added tpcc-mysql suite
* changed for new data format
* sensors correction, postprocessing
* fixes, fixes, fixes
* fixes, fixes, fixes
* fixes, fixes, fixes
* temporary dir creation fixed
* itest.py code reorganization, move test node logs to /var/wally folder to survive test node reboot
* improve paramiko integration, replace .mesage for exceptions with str(exc)
* fixing issues with bad ssg connection
* now can read openstack creds from arbitrary openrc file
* not needed exception removed
* run tests on nodes in offline mode
* improvement of protocol refactoring
* fix bugs and 2.6 compatibility
* fix python 2.6 compatibility
* update report
* fix reports
* update usb hdd config
* fix requirements.txt, improve test end time representation
* start adding unit tests, rework config compiler
* html report changed
* more improvements and fixes and new bugs
* fixing, improve sersors installation code
* very large refactoring
* fixing bugs
* report page table of images added
* per vm bw on chart
* fix sensors deploy code
* lot of fixes
* Lab info added to report layout
* Fixed charts
* remove personal config
* rename bw_mean to bw, other fixes
* pre-release bug fixes
* pre-release updates, bug fixes
* pre-release updates, bug fixes
* fix pre-demo bugs
* change table output for easier postprocessing
* Added get_openrc to cluster
* add postprocessing, table difference generation and scipy approximation
* discovering fixed
* removed trash
* Copying openrc from controller node, adding to global config and external ip to config yaml added
* wqrefactor postprocessing code
* fixed requirements
* report.html template
* Improved io charts
* pep8 for MOL 305
* MOL 305, added permanent journal that allows to remove virtual machines that has remained from previous tests that was crashed
* add mt results example
* fix multythreaded bugs in disk_test_agent, add linearity data and script
* MOL 314 config file path added as cmd line parameter
* MOL 302, build metainfo added to cmd line args
* MOL 319, connector code integrated in run_test.py
* single node tests
* get_greds method in fuel_rest_api.Cluster
* Fixed pgbench tests
* postprocessing added (plot and dev)
* large commit. refactoring, fio code totally reworker, huge improvenent in test time and results, etc
* Connector for adding/cleaning ip forwarding rules added
* changes to io.py applied to script, tasks for fio added
* final refactoring
* make openstack vm spawn code works
* large commit. new code, with sensors, line count dropped, etc
* small refactoring
* code review
* run_test refactoring and small fixes
* code review
* updates to node complete test, add io_py_result_processor.py lib
* fixes, add complete test suite
* automatic test running and sending to webapp
* Automated test lanucher has been added. Run a bunch of test that create vm, configure it, run test and clean allocated resources
* some unknown changes
* update single-node test scripts
* large refactoring of new code
* remove old results db
* single-node OS tests addede
* add list sensors cmd line options
* fixed rebase error
* discovering
* config.py changed
* config file name from cmd args added
* packer option added
* protocol added
* returned class changed
* Node class
* ceph discovering
* config moved to yaml, redundant config removed
* non storage funtions removed to data_processing.py, doc strings added to storage_api
* average calculation removed
* percent removed, name changed
* refactor get_latency
* nodes discovering
* fix memory info code
* graphana integration
* continue work on new sensor model
* lost import
* ps_mem truncation
* perprocess ram usage added
* perprocess cpu usage added
* io_sensor: Add get_latency function
* system RAM usage sensor added
* system cpu usage sensor added
* new sensor manage code
* update reporing tool
* removed rally
* fake run_test
* a lot of fixes and improvements
* meta info pep8
* meta info added
* pep8 added, lab_id and build_id added as a parameters to storage_api.load_data, additional params added to params combination
* Created db_manage script to create,drop,upgrade,downgrade,migrate db
* pgbench run.sh: receive num clients and transactions through params
* Two scripts, pgbench tests
* lab info save added
* pg scripts
* json returned to api endpoints
* MOL 186, migration from file storage to SQL Databse
* add local runner, fix some bugs
* move files around
* code review
* storage code removed from web app file
* ability to cache images on hard drive added
* MOL 159, sending test results added, rest api fixed, mergind builds on server changed
* saving images
* implements MOL-180: make run_test.py compatible with FUEL master
* fix small bugs
* update scripts, prepare for fixing MOL-180
* fix MOL-177: Fix logging
* implement MOL-175: automatically select amount of vm
* implement MOL-169 - Decrease env preparation time (parallelize requests to openstack, ssh connections, etc)
* Implement MOL-168 - Allow to run set of tests on single vm
* Changed title, sync/async displaying
* tests finally can works over pure novaclient/ssh
* merge of builds added
* final
* link changed to build name
* small fix
* build name added
* h1 changed to h2
* table width smalled
* layout changed, jquery added, comparision fixed
* kbps style changed
* small changes to code layout and html
* ref to index and dates to builds added
* fixes in test code. done. ready to swith from rally
* templates for aggregating added
* aggregating data from lab nodes added
* Fixed y axe
* images in table and particular builds added
* large refactoring, ready to move away from rally
* keystone client added
* collecting data from nodes added
* Added missing init.py
* fixed displaying charts
* fixed displaying charts
* logger added
* modified x scale. splitted sync/async
* config added test path
* test path changed
* post fixed
* fake test added
* requests added to requirements.txt
* test add
* lab description added
* POST for receiving test results fixed
* build type master added
* build names added to test_result.json
* 500 fix
* test results added
* test results added
* we need MORE MONKEYPATCHING
* add data extractor
* add resutls
* updates to tests
* lab info page added
* separate tables and images
* tables added to webapp
* added GChartWrapper to requirements
* server host fixed
* fixed data generator
* fixed charts
* data gen fixed
* empty test error fixed
* one more
* path fixed
* misc
* hardcoded path removed
* web app added
* fix itertools.production usage
* storage api changed
* charts
* small fix
* storage get recent bg fixed
* add terstdata generator
* add all-on-one shell scripts
* factory function added
* factory function for storages added
* recent builds method added to storage api
* now can run multiply tests on same vm
* fix results output
* fix storage code style, fixes in rally run code
* local storage and google docs finished
* storage api added
* add directory reqursive copying
* fix erro message
* add fio support. It's ALIVE
* add rally patch-and-run script and iozone scenario
* fix
* creating worskeet added
* report maker adder
* Initial commit
