Add cinder-update-and-delete quotas scenario

Since cinder support delete quotas now, we need to add the missing
delete related scenario and cleanup method.

Change-Id: If60b7122234c33c1f2cd9ea9aac6a0a57690a48f
Fix partial results sending in rps runner

Also made some improvements:
* removed class WorkerProcess
* properly calculated times_per_worker value
* properly calculated rps
* join threads once they finished

Change-Id: I15b604af6f5ec145e6a67265fba6c6443056137f
Remove magic() method from context manager

This magic methods brings a lot of issues:
*) Unclear code

*) Recursion and with construction that makes it hard
to understand traces & as well to have a proper workflow

*) Uncontrollable process of creation and deletion of context:
E.g. it's super hard to "abort" creation of context in the middle

*) create() & cleanup() are inseparable => which makes it impossible
to create "persistance context", that have to run separately
setup() & cleanup()

Change-Id: I071c53900441121767ac3550c5ee5790a358ae73
Added Sahara Clusters scenario

The scenario creates and deletes a Hadoop cluster.

Change-Id: I1280f5f3f4cd7415788a3e474dd1852c68a3c35c
Workaround for different floating_ip_pool results

In one cases result of clients.nova().floating_ip_pools.list()
is list of strings, in other cases it is list of dicts.

Related-Bug: #1355855

Change-Id: I39867702d13aaa9014440ce8d074852af9779547
Refactor benchmark/context/quota.py

Created new  directory context/quotas/
Moved to this directory quota.py module
Saperated NovaQuotas, CinderQuotas, NeutronQuotas
in separated files

Similar process done for tests refactoring

https://trello.com/c/ycDv6GD3

Change-Id: I322313d2817a071ab02a386b0fe0d397e3e3cdf0
Merge "Remove magic() method from context manager"
Merge "Refactor benchmark/context/quota.py"
Merge "Fix partial results sending in rps runner"
Merge "Added Sahara Clusters scenario"
Update the scenario_base to base in benchmarks

Keep the scenario_base only on places where required.
Rest keep it as base instead of scenario_base

Change-Id: Ib7887c0a0b65d67a814222e0786fc228cd5bd2ca
Do not assume networks should be assigned

There are several places within the Nova benchark scenarios where we
are assuming networks should be assigned. This breaks a variety of
different deployments. Instead of always assigning a network, do so
based on whether a new scenario argument of auto_assign_nic=True.

Change-Id: I4e2dd58629f3c07b9928a95879056a79382fcf8b
Closes-Bug: #1353622
Decrease jobs time in gates

An attempt to decrease the duration of checks in gates by modifying the
configuration options of the benchmark scenarios defined in rally.yaml.

Change-Id: Ied545f5e9efce632495ad9fa07dfa805b9f78c9f
Fix semantic validation of context images

In the semantic validation of the images context it was assumed that the
parameter users is a dictionary that contains the key endpoint, whereas
users is a list of Clients objects. This was leading to a validation
error and any benchmark scenario that had in its configuration file this
context was failing.

Closes-Bug: 1356336
Change-Id: I6452a47975cd3adcd31ec7b7c4ca0159aec8776f
Adding http_requests scenario

This patch adds http_requests scenario which takes a url and an
optional response code and returns the response code of the url
comparing it with expected response

bp http-based-benchmarking

Change-Id: I35373616a266f6bb6410df8afdb23a9229643812
Merge "Fix semantic validation of context images"
Merge "Adding http_requests scenario"
Add "rally info" command

Here we add a new "rally info" command, which, based on the input,
prints descriptions for different entities in Rally (in this patch -
benchmark scenarios & scenario groups, more entities are to follow
(deployment engines etc.)). This command makes use of docstrings by
parsing them and printing them in CLI in human-readable form.

The command should be called as "rally info find <query>" (or, in case
of an explicit parameter setting, "rally info find --query=<query>").

Samples:

    $ rally info find create_meter_and_get_stats
    CeilometerStats.create_meter_and_get_stats (benchmark scenario).

    Test creating a meter and fetching its statistics.

    Meter is first created and then statistics is fetched for the same
    using GET /v2/meters/(meter_name)/statistics.

    Parameters:
        - name_length: length of generated (random) part of meter name
        - kwargs: contains optional arguments to create a meter

    $ rally info find Authenticate
    Authenticate (benchmark scenario group).

    This class should contain authentication mechanism.

    For different types of clients like Keystone.

Change-Id: Icf3545c0666d99ab7fd0eaabce8bbe572834e485
Updated from global requirements

Change-Id: Ib55be13e1d43e9c10a1443ec3fb9a51b471ac05b
Updated keystone authenticate user_story

Took runs by changing public_workers parameter from 1 to 4 in
keytone configuration file, which increases parallelism.

Change-Id: I21315f0a56124642ac58c237e47db0b315d9e490