Sahara: preparations for new tests

* Method "create_node_group_template" was slightly changed;
* New methods create/get/list/delete for cluster templates to API client were added;
* Method "create_cluster_template" was added;
* tearDownClass method was expanded;
* Some code formatting was done.

Partially implements: blueprint savanna-api-tests

Change-Id: Icbbe2295803ffba8d13b1af2c7fbae2c7e5cb4d4
safe_setup preserve original trace

When safe_setup reraies the exception the traceback was
replaced by the trace of the re-raise postion.

This change is aiming to preserve the original stack trace,
by saving the original trace and raiseing new exception from the same
type with the original trace.

Change-Id: I16851a0c1d40d7f7253c23f066fa8c19267f4d9a
ssh instance validation add options for Neutron

This is the first part of the patch series which
 implements multiple ssh instance validation strategy.

This patch adds the new config options and have the effected
test classes to prepare the basic neutron resources for usage.

The default is using the fixed ips for connection, but
on the devstack side the configuration options are configured,
for neutron usage.

Change-Id: Ic5fc9bd1f7407d3430fcd33b03a226deed696d57
Implements: blueprint ssh-auth-strategy
skip the quota enforcement test for swift

this test is racing because by the time the large object upload
happens the quota update might not yet have propogated in swift.
As it's unclear if this is a swift bug or tempest assuming too
much, skipping is best for now.

Change-Id: I0c0a5fc5a23125a9c51e220ae5a1218c6e9ca075
Related-Bug: #1310597
Verify addrs only against ports with fixed IPs

To verify a port's mac and IP address, the list of neutron ports is
used. We cannot check against ports without fixed IP addresses, so
exclude them.

Change-Id: Ib81ab42cdbae3132af735b0020ca59d22b71ebaf
Closes-bug: #1300322
fix test_compute_with_volumes

The test_integration_1 test was waiting on volume being in an
'in-use' state before proceeding. However the 'in-use' state
doesn't actually mean that the volume is attached, as 'attaching'
gets mapped to 'in-use' in nova.

This makes it possible for the test to proceed when the volume is
in an attaching state, and not actually ever attached. Which means
you can get to the detach phase on an non attached volume, and
thus explode.

Use the attachment status to filter out when then volume is not
actually ready.

In the process, make the test name something that's actually
descriptive for what it does.

Related-Bug: #1302774

Change-Id: Iaeb6a42a39b4adf8cb4bdff64efe00bf14821725
Merge "safe_setup preserve original trace"
Merge "Verify addrs only against ports with fixed IPs"
Merge "fix test_compute_with_volumes"
Merge "ssh instance validation add options for Neutron"
Merge "skip the quota enforcement test for swift"
Merge "Sahara: preparations for new tests"
Merge branch 'master' of https://github.com/openstack/tempest