Fix percentile in sla check message

* Fix failure percentile in sla check message by mytiplying by 100.
* Find the real maximum iteration time for the sla message.

Change-Id: Ia2e0cfc61533008ef765b535b4c5078a2857331f
Closes-bug: #1373590
don't call client.authenticate() only when it is authenticated

Actually, that line is redundant if call keystoneclient with auth_url
and without endpoint parameter, because in this case keystoneclient will
call authenticate itself[1][2]. Actually this case is managed by
'endpoint_type' now. So this patch changes the behavior to call
authenticate() only when the client is not authenticated. One of not
authenticated case is passing endpoint parameter into keystoneclient.

There are examples I tested:
                            before                after
keystone create user*       ~0.35s                ~0.22s
keystone create token       ~0.21s                ~0.13s

The data based on real enviornment, but could explain something still.
That redundant authenticate line bring about 0.07s overload which is costly
for those APIs which could respond in 1 second. In a case calling API with
500 times and 10 concurrency, I could find the whole scenario time would
reduced from 110s to 65s by removing that line.

* this case is to create token first and create user then which two API
are called
[1]
https://github.com/openstack/python-keystoneclient/blob/master/keystoneclient/v3/client.py#L190-L191
[2]
https://github.com/openstack/python-keystoneclient/blob/master/keystoneclient/v2_0/client.py#L146-L147

Change-Id: Ib9d766a345b68b3920121d8b8c69c4f3c5ca1dc2
Fix error status for get_from_manager method

Parameter 'error_statuses' is processed as a list type, but in heat
utils it's a string value. As result Failed stack will never be deleted.
In this patch error_statuses is changed to expected list type.

Change-Id: I3fa1def29e0afa7a808a58cd1e806360f35f5f9d
Adds Neutron update Port and router benchmarks:

- NeutronNetwork.create_and_update_routers

- NeutronNetwork.create_and_update_ports

Partial implementation of blueprint benchmark-scenarios-for-neutron-update

Change-Id: I35b84b36a8588dbff942014f18f6257959157ca5
Improve the deployment's creation and deletion

1. When a deployment creation fails because of schema validation error,
an exception should be raised, the deployment status should be changed
to 'deploy->failed'.
2. When a deployment creation fails because of schema validation error,
users can never destroy a deployment, also because of validation error.
This patch ensures that users could always be able to delete a deployment
successfully.

Change-Id: I7dea64da19e4d4ba4302f0270e524c584f43d65d
Closes-Bug: #1368484
Add misspellings handling to "rally info"

Before:
    $ rally info find ExistingServert
    Failed to find any docs for query: 'ExistinfServert'

After:
    $ rally info find ExistinfServert
    Failed to find any docs for query: 'ExistinfServert'
    Did you mean one of these?
        ExistingServers

Two types of misspellings supported as of now:
1. Queries with typos ('ExistinfServert' -> 'ExistingServers')
2. Truncated queries ('Nova' -> 'NovaServers')

We also improve the base.Scenario.get_scenario_by_name() method to ensure
that only scenarios can be returned from it. We simplify the code by adding
the is_scenario() method there.

Change-Id: I093ddef154daeb7cbcd757e35d0e853f70401bee
Fix messages in rally exceptions

Many exceptions in rally.exceptions contain "%(message)s" in their msg_fmt
attribute. When raised with message="...", however, these Exceptions just
assign the passed string to the message attribute instead of formatting it
with msg_fmt.

We fix this issue here and also refactor a bit the scenario classes:
* Remove the unused InvalidTaskConfigException;
* Move the DummyScenarioException to the dummy bechmark scenario module;
* Move the Tempest* exceptions to the corresponding modules

Change-Id: I551f38edd5ec7bc67dd952a2203508f64c4b2518
Merge "Fix error status for get_from_manager method"
Merge "Fix messages in rally exceptions"
Display proper missing argument name

Find and show argument name instead of showing argument of 'dest'
Add functional test for this
Remove test_cli_utils.py -> utils.py because this actually utils,
not tests.

Change-Id: Icc138ecf40b4929826efcad52c135c8809348d20
Closes-Bug: #1380562
Merge "Add misspellings handling to "rally info""
Merge "Improve the deployment's creation and deletion"
Merge "Display proper missing argument name"
Fix bash completition setup

Change-Id: Ibe3290a273b99ea3a468a4b67b2dde54f01998a3
Updated from global requirements

Change-Id: Ia8897fb17cc36d7654dab1dcc148485413209088
Improvements for task plot2html

CLI command `task plot2html' is renamed to `task report',
however old name is still available for compatibility.

HTML output of benchmark results is reworked:
     * scenario select dropdown is changed to aside menu,
       with scenarios methods grouped by classes
     * initially select scenario from URL hash
     * scenario results are divided into tabs
     * new layout and styling, from bootstrap framework
     * jQuery is removed
     * AngularJS is used for rendering all the data

Change-Id: I00db7016900952f397681045ff99d07a0714fafe
Add detailed description for rally commands

Commands affected:
  deployment, task, use, verify, info, show

This descrition available by -h flag.

Change-Id: I2e0518a3189b4bb6c04187a346dfb5c846c293dc