Prepare instances for SSH access

This patchset is in preparation for a scenario for running a
test/benchmark within an instance.

Change-Id: I94276237fb5b453b194e58ed00df589a3420a6ed
Fix invalid port range in security group rule create

An earlier commit introduced a change that creates security groups. In
the rules for tcp and udp, ports 1-65536 are allowed. This is
incorrect, it should be 1-65535.

This patch corrects this error.

Closes-Bug: #1264635
Change-Id: I83a7471ebf6d3d3bfeff6b16a051880d876370b1
Refactor the way benchmark engine returns its results

This patch adds the 'idle_time' parameter to all dictionaries that the
benchmark engine may return as its result in different places of code
(so that the output format is always the same). Here we also remove
several redundant except clauses which are not likely to be ever entered
and also slightly refactor the _run_scenario_loop method to avoid code
duplicate.

Blueprint benchmark-engine-refactoring

Change-Id: I15d5dd8e1d2035174cbc0c13a5558a7c6ffce300
Show results of last task without requring user to lookup UUID

Currently to view the results of the last task/benchmark a user must
list tasks, copy a UUID, then query for that UUID. This commit alows the
user to specify 'last' instead of a UUID to retrieve the results of the
last task.

Change-Id: I8ffe1bb8d925a6a114e4dd12be2f1af13e1bfced
Add generic keystone cleanup mechanism

We should delete all created by benchmark resources:
"users", "roles", "services", "tenants" after benchmark execution.

We decide to use specific template in names.
(all names starts with "rally_k_" so we are able easy to check was
this resource created by benchmark or not).

blueprint keystone-benchmark

Change-Id: If5372138410a160c693314ebf0e728efd2682814
Merge "Show results of last task without requring user to lookup UUID"
Merge "Add generic keystone cleanup mechanism"
Make resource status checking letter case independent

Recently we've faced the fact that while in Nova you should check the readiness
of a resource by its "AVAILABLE" status, in Cinder that should be written in
lower case, i.e. "available". With this patch there will be no more worries
about such details for benchmark scenario writers.

Blueprint benchmark-engine-refactoring

Change-Id: Ie93104b74ac25de46a1d2a5f0d23a3131aeecffa
Move nova benchmark samples to nova directory

We are going to have nova/cinder/glance/keystone specific benchmarks
so it will be better to have separated directoires for samples for
each group of benchmark scnearios.

Change-Id: I3bdbcba64e87d8f86a6bb8d2f5c5698a0e343cfe
Fix H302 pep8

Change-Id: I5ef0f664123d6b1d755e5eb26f6e833466b4da74
Benchmark scenarios for Rally: run task in instance

This patch allows a user to define a scenario where Nova instances are
created, then a script which outputs arbitrary JSON is run, and then the
instance is destroyed.

This allows tests/benchmarks from the instance perspective, as well as
from OS APIs.

blueprint benchmark-scenarios

Change-Id: I4b1f77f5f8c55fe1da41b6ab0b23eb03303ba95f