Add ".sahara" suffix automatically to swift URLs in workflows

Currently Swift URLs accessed from Hadoop must be of the form
"swift://container.service/object", where for Sahara the service
name is "sahara".  Hadoop uses the service name to look up credentials
for accessing the data.

This mechansism puts different constraints on swift urls used for
job binaries (accessed from Sahara) and data sources (accessed from
Hadoop) which may be unexpected.

This CR automatically adds the ".sahara" suffix to swift URLs when
the workflow is generated.

Change-Id: I9afc25b2354c008dc5357058bf980cb0f05da864
Fix working sahara with heat and nova-network

Uses OS::Nova::FloatingIP and OS::Nova::FloatingIPAssociation
heat resources for assignment floating ip

Added two unit tests:
* for nova-network with autoassignment floating ip
* for nova-network without autoassignment floating ip

Change-Id: I82a28759bc13992d765969ef8143bd364dc7cf2d
Closes-bug: #1259176
Added validation check that network provided for neutron

Change-Id: I106d6e44f988fa225579b9cd54b24e00b7b35502
Closes-Bug: #1301614
Merge "Add ".sahara" suffix automatically to swift URLs in workflows"
Synced jsonutils from oslo-incubator

The sync includes change that makes sure we get unicode-only dicts from
jsonutils no matter which json module implementation is selected.

The latest commit in oslo-incubator:
- 0f4586c0076183c6356eec682c8a593648125abd

The sync adds a new 'strutils' module that is now used in jsonutils.

Change-Id: Ic815ca3df94c33edec9104172048b2cd94b92e3f
Closes-Bug: 1314129
Fix intermittent transient cluster tests failure

Getting cluster_info, after we created transient cluster and run a job
on it, might fail if cluster was terminated by periodic before that.
On the other hand, we only need cluster_id from the cluster_info, which
we already have. For example see the following test run:

https://sahara.mirantis.com/logs/22/93322/1/check/gate-sahara-integration-transient/e03a813/console.html

Change-Id: I1efa4da87ebcbfbcd5d04f9b8eaf3b218562b8d1
Add Spark plugin to Sahara

Integrate the Spark plugin in Sahara. It adds the capability of
provisioning Spark clusters with (Cloudera) HDFS. The plugin
assumes the use of VM images generated with the Savanna
diskimage-builder and the '-p spark' option.

Implements: blueprint spark-plugin

Wiki: https://wiki.openstack.org/wiki/Sahara/SparkPlugin

This code is running on our Bigfoot research cluster.

Change-Id: Ic105f7de64248bdfb05879ededf35503bc04925b
Removed unused global var and unnessary param

We don't change CONF args and don't need to neither store them nor
pass to CONF.

Change-Id: I91fed53508b7b67d777cc0d53a4224ad433b002b
remove default=None for config options

In the cfg module default=None is set as the default value.

Change-Id: Icb4c6909987d5a8f137e8e6a511206d13188d8ce
Closes-Bug: #1323975
Replaced RuntimeErrors with specific errors

Change-Id: Ief2e74fa07e4c5168f5cc00fd4017d80331cb180
Closes-Bug: #1199071
Updated from global requirements

Change-Id: I056d75b4c0c1c488e47f5c505ebd810d9157e958
Merge "Updated from global requirements"
Add upgrade notes for sahara-api to sahara-all

Change-Id: Iff26acf3a814a0a5b677fca80e567a9834bcf6f0
Merge "Replaced RuntimeErrors with specific errors"
Merge "Synced jsonutils from oslo-incubator"
Merge "Removed unused global var and unnessary param"
Merge "remove default=None for config options"
Merge "Added validation check that network provided for neutron"
Merge "Fix working sahara with heat and nova-network"
Merge "Add upgrade notes for sahara-api to sahara-all"