diff --git a/ChangeLog b/ChangeLog
new file mode 100644
index 0000000..1a16c91
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,269 @@
+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
