commit a7c8860aefb9106dafacb9887bb995d2c41ffdaa
Author: Alexei Kornienko <akornienko@mirantis.com>
Date:   Thu Sep 5 11:09:16 2013 +0300

    Refactored Devstack deploy engine
    
    Moved files to match proper file structure
    Minor refactoring of config params to remove hardcode
    Proper object inheritance

commit 2c265ad2141361695a668b6d1b6074fc8a4d8546
Author: Alexei Kornienko <akornienko@mirantis.com>
Date:   Tue Sep 3 18:29:17 2013 +0300

    Moved files to VMprovider

commit 93c0d946fbb8ed7c0b6a43bdefe7891dee5cfbf3
Author: Alexei Kornienko <akornienko@mirantis.com>
Date:   Tue Sep 3 15:27:48 2013 +0300

    Minor refactoring of deployment script

commit 058069c64ff56d3638c11ce14e1c8893c4443364
Author: Alexei Kornienko <akornienko@mirantis.com>
Date:   Mon Sep 2 18:39:41 2013 +0300

    Added script to deploy devstack cloud

commit c87953823a0feda784e3f9bdae8ea893827f2440
Author: Boris Pavlovic <boris@pavlovic.me>
Date:   Sat Aug 24 00:40:46 2013 +0400

    Add CLI interface for Rally.
    
    It contins 1 group of methods "task" and 4 methods in this group:
      "start" - start task from config and return task uuid
      "abort" - abort task using task_uuid
      "status" - print task status
      "list" - list all active status
    
    The goal of this patch is only to fix input-output for CLI.
    So at this moment all methdos will print "Not implemented"

commit 44ab0e3de9272246a9dc6f097076aef05dd89998
Author: Boris Pavlovic <boris@pavlovic.me>
Date:   Sat Aug 24 00:22:49 2013 +0400

    Add cliutils
    
    These utils are used to simplify work around creating CLI applications.
    
    There are only 2 things that you should now to use it:
    
    1) Decorator cliutils.args()
       has the same functionallity as argparse.add_argument().
    
    2) Method cliutils.run(argv, categories)
       This thing make all dirty work to process your args.
    
    Example of usage:
    
    class FooCommands(object):
    
    	@cliutils.args('--foo')
    	def test_foo(self, foo):
    		print "foo_" + foo
    
    class HooCommands(object):
    
    	@cliutils.args('--hoo')
    	def test_hoo(self, hoo):
    		print "hoo_" + hoo
    
    if __name__ == '__main__':
    	cli.run(sys.argv, {'foo': FooCommands, 'hoo': HooCommands})
    
    Then we are able to run:
    
    >> cli.py foo test_foo abcdef
    foo_abcdef
    
    >> cli.py hoo test_hoo abcdef
    hoo_abcdef

commit 0c33f32c09fa7007689e9c489fead55e9a4a0891
Author: Alexei Kornienko <akornienko@mirantis.com>
Date:   Tue Aug 27 14:56:53 2013 +0300

    Deploy interface draft

commit 5274270dec2772054ff45816804956961ceb3d21
Author: Boris Pavlovic <boris@pavlovic.me>
Date:   Sat Aug 24 00:40:46 2013 +0400

    Add CLI interface for Rally
    
    It contins 1 group of methods "task" and 4 methods in this group:
      "start" - start task from config and return task uuid
      "abort" - abort task using task_uuid
      "status" - print task status
      "list" - list all active status

commit 34e644eb0e0d3042a57b8b462201dacc80d9dc71
Author: Boris Pavlovic <boris@pavlovic.me>
Date:   Sat Aug 24 00:22:49 2013 +0400

    Add cliutils
    
    These utils are used to simplify work around creating CLI applications.
    
    There are only 2 things that you should now to use it:
    
    1) Decorator cliutils.args()
       has the same functionallity as argparse.add_argument().
    
    2) Method cliutils.run(argv, categories)
       This thing make all dirty work to process your args.
    
    Example of usage:
    
    class FooCommands(object):
    
    	@cliutils.args('--foo')
    	def test_foo(self, foo):
    		print "foo_" + foo
    
    class HooCommands(object):
    
    	@cliutils.args('--hoo')
    	def test_hoo(self, hoo):
    		print "hoo_" + hoo
    
    if __name__ == '__main__':
    	cli.run(sys.argv, {'foo': FooCommands, 'hoo': HooCommands})
    
    Then we are able to run:
    
    >> cli.py foo test_foo abcdef
    foo_abcdef
    
    >> cli.py hoo test_hoo abcdef
    hoo_abcdef

commit 58cac83701604bae365fa934051a2a02f42855d9
Author: Boris Pavlovic <boris@pavlovic.me>
Date:   Sat Aug 24 00:20:21 2013 +0400

    Add version module
    
    At this moment this model has only one method,
    get version_string that returns version of project.
    
    It will be used by cli utils

commit 4b15ccd43c877324d087ab44abc65ec704786e4a
Author: Boris Pavlovic <boris@pavlovic.me>
Date:   Tue Sep 3 22:25:06 2013 +0400

    Add orchestrator
    
    Orchestrator should have only 2 methods:
    start_task - That will actually run whole benchmark task:
            1) Deploy OpenStack Cloud
            2) Verify Deployment
            3) Run Benchmarks
            4) Process benchmark results
            5) Destroy cloud and cleanup
    
    abort_task - That will abort task by uuid

commit 402d850a188e299645815adbd6e9197041a3f8d7
Author: msdubov <msdubov@gmail.com>
Date:   Wed Sep 4 17:42:42 2013 +0400

    Test engine
    
    This patch introduces the test engine, which is one of the core parts of
    Rally. The test engine is responsible for processing the tests configuration,
    launching verification and benchmarking tests and for processing the results
    using Zipkin and Tomograph.
    
    The patch also contains an attempt to carry out some significant refactoring
    of the Tester class (which gets initialized and heavily used from the test
    engine) and also a couple of additional tests to test the new functionality.
    
    NB: many tests are still to be implemented.

commit f815ad4c9d87411e2bc7ab61a80c07e1e5d4feab
Author: Boris Pavlovic <boris@pavlovic.me>
Date:   Thu Sep 5 02:45:20 2013 +0400

    Force tox version to 1.6
    
    Newer version of tox was published, now it works with the same speed
    as run_tests.sh

commit 68de95e5eeffdcf20edffad8fe5d3a0b4e22ab35
Author: Sergey Vilgelm <sergey.vilgelm@gmail.com>
Date:   Tue Sep 3 23:28:29 2013 +0400

    Repaire benchmark test
    
    Change-Id: If343bcc0389c86c6e93b5c40e5ab45780ced1120

commit 35ada0127e74574b9ac6502cb52c5bcc3e1ded53
Author: Brandon Clifford <bclifford@bluehost.com>
Date:   Tue Sep 3 13:10:34 2013 -0600

    Add author and fix .gitignore

commit 1d5f7c31d662c9591d87a90283027ba26f23d110
Author: msdubov <msdubov@gmail.com>
Date:   Tue Sep 3 00:39:07 2013 +0400

    A fix for tox.ini
    
    Removing unneccessary 'ignore' values from tox.ini.

commit 44a16152fcaed1ae6530b42f9e656eee06449af7
Author: msdubov <msdubov@gmail.com>
Date:   Tue Sep 3 00:51:17 2013 +0400

    Authors info
    
    This patch adds info about repository authors.

commit 067f9e1c010539c0cc222dcebefaa7d5625d4d85
Author: msdubov <msdubov@gmail.com>
Date:   Mon Sep 2 13:48:26 2013 +0400

    Adding cleanup for all test runner calls

commit 86292825479011743b6bfdbf4b93b85c0f21103a
Author: Boris Pavlovic <boris@pavlovic.me>
Date:   Sun Sep 1 23:22:32 2013 +0400

    Add VM Provider factory
    
    To be able to easy extend VM Providers, and use multiple VMProviders
    in the same time
    
    So to extend VM provider by your own you have to do couple of simple things
    
    Add new subclass of rally.vmprovider.VMProviderFactory to any modules in
    rally.vmprovider.VMProvider.providers.some_module, and implement 4 next methods:
    
    1) upload_image()
    2) destroy_image()
    3) create_vms()
    4) destroy_vms()

commit 0089a26a13fde10f3e842d964fb9889114aa037d
Author: Boris Pavlovic <boris@pavlovic.me>
Date:   Sun Sep 1 16:33:06 2013 +0400

    Add deploy engine factory
    
    rally.deploy.engine.EngineFactory is base class for every engine.
    
        All engines should be added to rally.deploy.engines.some_module.py
    
        Example of usage:
    
        # Add new engine with __name__ == 'A'
        class A(EngineFactory):
            def __init__(self, config):
                # do something
    
            def deploy(self):
                # Do deployment and return endpoints of openstack
                return {}   # here should be endpoints
    
            def cleanup(self):
                # Destory OpenStack deployment and free resource
    
        Now to use new engine 'A' we should use with statement:
    
        with EngineFactory.get_engine('A', some_config) as deployment:
            # deployment is returned value of deploy() method
            # do all stuff that you need with your cloud

commit 0c0c85d97109e58ee400181be15023015f1764ad
Author: Boris Pavlovic <boris@pavlovic.me>
Date:   Sun Sep 1 02:10:18 2013 +0400

    Add itersubclasses() method that allows to iter through all subclass
    
    Add to rally.utils one new method.
    This method is required at least to build deploy EngineFactory.

commit 1888c3d2cff7d379fb4a0dc4da04909de506e7b5
Author: ekonstantinov <ekonstantinov@mirantis.com>
Date:   Fri Aug 30 13:35:43 2013 +0300

    Init benchmark framework
    
    We add rally.benchmark module that contains Tester.
    This is base of our benchmark framework. It allows us to easy write
    test scenarios that could call any test N times simuntaneously and collect results
    
    Add rally.utils stdout captures that allows us to caputre stdout and stderr in easy
    way using "with" expression.
    
    Add test for our benchmark base and rally.utils

commit 47d9013be59caf9ed8f186e2d43a871422cc780d
Merge: 4a28668 422b6e9
Author: Boris Pavlovic <boris@pavlovic.me>
Date:   Thu Aug 29 06:47:30 2013 -0700

    Merge pull request #1 from pboris/readme
    
    Readme

commit 422b6e9924860eb3e5cde532600fb6616ff10016
Author: msdubov <mdubov@mirantis.com>
Date:   Thu Aug 29 12:17:30 2013 +0400

    README for Rally
    
    An introductory text concerning Rally use-cases, architecture, implementation
    details and underlying technologies.

commit 4a2866854242545f885bfe3b0173fc44d3c3aa4d
Author: Boris Pavlovic <boris@pavlovic.me>
Date:   Wed Aug 28 19:08:07 2013 +0400

    Move tests to root dirrectory and fix tox
    
    Move rally/rally/tests -> rally/tests
    
    Use sqlite in memory to be able to run tests parallel

commit 8b8b043167f05f8d6dcbc785ec0fd70876979c9a
Author: Boris Pavlovic <boris@pavlovic.me>
Date:   Wed Aug 28 01:50:38 2013 +0400

    Add Task Model
    
    Add CRUD method for Task Model
    
    Add Tests for this model
    
    Add consts status for this model
    
    Add TaskNotFound exception

commit ac6aec65ea1a983f8d234cd05a9e46bad461ed85
Author: Boris Pavlovic <boris@pavlovic.me>
Date:   Tue Aug 27 22:56:09 2013 +0400

    Add base for DB API
    
    Add DB API layer:
    *) create, drop table methods
    *) DB API interface layer
    *) DB API sqlalchemy implementation
    
    Add DB Models layer:
    *) Base Model
    *) Create Drop Table by models
    
    Add common oslo wrappers to add 2 new class:
    1) TestCase - with DB Fixture
    2) NoDBTestCase - without DB Fixture
    
    Add base exceptions

commit 6b56c212e35b873a563a34166f57de56590c50e6
Author: Boris Pavlovic <boris@pavlovic.me>
Date:   Sun Aug 25 14:48:22 2013 +0400

    Add DB utils from Oslo
    
    There is a lot of work done around DB and sqlalachemy in OSLO:
    
    1) session and egnine wrappers
    2) base models
    3) tests for migration on real backends
    4) exception wrappers
    5) provide work around unqiue constraints
    ...

commit f6e6f16dd9f901616d2a5e6dbd9f572f89de7e51
Author: Boris Pavlovic <boris@pavlovic.me>
Date:   Sat Aug 24 14:30:02 2013 +0400

    Add run_tests.sh as alternative for tox
    
    Add run_tests.sh and tools that depends from it from oslo-incubator.
    
    run_tests.sh has much more siplier interface, works much more faster and
    display infromation in much more human readable format.

commit b6c4416a9cd4603840005cbf805b3226ae0304b1
Author: Boris Pavlovic <boris@pavlovic.me>
Date:   Sat Aug 24 13:50:07 2013 +0400

    Add venv tools

commit ad0efb5fc6e509be42a2708254cfc519539517fe
Author: Boris Pavlovic <boris@pavlovic.me>
Date:   Sat Aug 24 13:50:32 2013 +0400

    Add oslo fixtures
    
    This is required by oslo test module

commit 01b8ee1029160bf20cdd6eaebb5c6be9f9dda0cd
Author: Boris Pavlovic <boris@pavlovic.me>
Date:   Sat Aug 24 12:58:49 2013 +0400

    Fix test-requirements.txt
    
    Force subunit version to <=0.0.13
    
    There is some bug in new version of subuntit (0.0.14)
    https://bugs.launchpad.net/subunit/+bug/1216163
    So we should use older version to be able to test

commit bee2e4ed8ec9822226dce5504a7b697c3cf6d0e1
Author: Boris Pavlovic <boris@pavlovic.me>
Date:   Sat Aug 24 01:25:49 2013 +0400

    Add oslo test module
    
    This is the wrapper around testutils to simplify work around
    writting unit tests.

commit 36c49518c5db0db2067c3f106891c0ffe000c823
Author: Boris Pavlovic <boris@pavlovic.me>
Date:   Sat Aug 24 01:24:47 2013 +0400

    Update gettextuils and jsonutils form oslo

commit 6fdb17d5875340e7ee959b8fd05d1b0bf3cf39bf
Author: Boris Pavlovic <boris@pavlovic.me>
Date:   Wed Aug 14 14:01:38 2013 +0400

    Add rally.sample.conf to project
    
    To use ./tools/config/generate_sample.sh I have to add 3 more requirements:
    Babel, netaddr, iso8601
    
    Adding new directory etc to store all configurations.
    
    And as a first configuration added etc/rally/rally.sample.conf
    
    Fix small bug rally is package => must have __init__.py file

commit beaf72f00db00d9d7119fac69f4c7000e52f30dd
Author: Boris Pavlovic <boris@pavlovic.me>
Date:   Wed Aug 14 12:26:32 2013 +0400

    Add AUTHORS file

commit 8e311033050af5638e09705ec79f97f051ebac9c
Author: Boris Pavlovic <boris@pavlovic.me>
Date:   Wed Aug 14 12:23:42 2013 +0400

    Add tox, pep and requirements to project
    
    Adding minimal amount of things to be able to run
    tox against code and check all unit tests + pep

commit ea1a6107a98c07bf689f5d2d910bb8a09a1c40c9
Author: Boris Pavlovic <boris@pavlovic.me>
Date:   Tue Aug 13 18:44:43 2013 +0400

    Rename README.md to README.rst

commit 5db143eac0e39595a9952f211187d1909f1f7684
Author: Boris Pavlovic <boris@pavlovic.me>
Date:   Mon Aug 12 12:27:22 2013 +0400

    Integrate with oslo
    
    Use base packages:
    1) cliutils - we will use it for cli application
    2) oslo.config - it is used as dependency injecton
    and also contains some code related to cli app
    3) gettextutils - translations
    4) importutils - dynmical imports
    5) jsonutils - we will use it for validations and such things
    6) log - for logging
    7) timeutils - will be 100% used somewhere

commit 1b37b4ef25a07f73848a28ede8f9bc7bdcff6993
Author: Boris Pavlovic <boris@pavlovic.me>
Date:   Sat Aug 3 09:17:25 2013 -0700

    Initial commit