Fixed resource errors logged at default log level

* Heat was logging resource failures traceback at default log level.

* Resources failing is a normal condition, and once a resource has failed,
heat has already reached one of the permissible state ex: CREATE_FAILED,
hence heat should not log the resource failures traceback in default log
level.

* Have made necessary changes to log resource failures traceback at INFO
level.

Change-Id: Ica27cac5a94734c2db08cee2e7fe31289169fec9
Closes-Bug: #1290565
Implement custom constraints for subnet/port/router

Implement custom constraints for subnet/port/router

blueprint neutron-custom-constraint
Change-Id: I2d463512b0c19bd02ef0629a38a97dddfd4a1cfe
Add backward compatibility for notification_driver

Declare additional entry points for notification_driver option to avoid
breaking existing deployments that may use deprecated values.

Change-Id: I4f6abc33d01bb434d8ea9895aea2bfe6324049eb
Closes-Bug: #1355250
Man page for heat-keystone-setup-domain

This patch adds a man page to the 'heat-keystone-setup-domain' utility.

Change-Id: I8f92b1296ab1f61039214d7fde4f7a2a236e8893
Closes-Bug: 1326483
Move CooldownMixin into separate file

CooldownMixin is a class that can be shared between OS and AWS
auto-scaling implementations.  This patch moves it to a shared
subdirectory.

Implements: partial-blueprint reorg-asg-code
Change-Id: I40e470460e84944d317f5b1772fc562abf62896d
Enable lazy translation on heat

Enable lazy translation in heat/__init__.py so that heat
exception message can be actually handled and translated.

blueprint i18n-messages

Change-Id: I009bd95ece44afb841d1732395d6a4769bc52f35
Silence urllib3 redundant logging.

This patch makes the default logging level of heat-keystone-setup-domain
to be WARNING and the 'urllib3.connectionpool' logging level to be
WARNING as well.

The intent is to remove unncecessary logging information from urllib3
library.

Closes-Bug: 1358093
Change-Id: I650e80aa1093c8c7e7c5dac3694d58139d2ec260
Implement snapshot listing

Add a new HTTP API to list a stack snapshots, along with the new method.

blueprint stack-snapshot
Co-Authored-By: ala.rezmerita@cloudwatt.com

Change-Id: I59eb7e035c19d2734c89a79848dec35f4468a1a0
Use oslo.config>=1.4.0.0a3

Change-Id: I1f10074c72a0da0cbe6536f1e426aeaf4ae50f1e
Use auth_token from keystonemiddleware

auth_token middleware in python-keystoneclient is deprecated and has
been moved to the keystonemiddleware repo.

Closes-Bug: #1342274

Change-Id: I1aadbe24db63eb2507b088cd53886d7f2e192cab
Avoid name clash between local variable and a module

stack_resource is an imported module and it's been used as
a local variable.

Change-Id: I0988f248f9a80cb893b8a5acded1a8168f5679ac
Move neutron_utils functions to neutron client

All uses of neutron_utils functions have been migrated to using
the neutron client plugin version.

Functions in neutron_utils are deprecated and will be deleted in the
next patch.

Change-Id: I1b00485bddffcb6b9dba2ac770668dde9d6a0d70
Using neutron utils function from neutron plugin

This patch replaces calls in resources and tests to use the client
plugin methods.

File neutron_utils.py was deleted as unnecessary.

Change-Id: If0db1da7079a9bfc3208ff1b209653d1dc7de01d
Moving network_id_from_subnet_id to neutron client

Code for getting network_id from subnet_id is used in several resources.
So function network_id_from_subnet_id should be moved to neutron client
plugin, because it will allow to avoid strange references on
NetworkInterface resource.

Change-Id: I18dfb9a21fdca7a3d047c1cc2e8950bec9622d8c
Providing reference on resource during preview

There are several resources which use physical_resource_name to provide
reference to itself. However these resources have no 'id' attribute
during preview process and returns None. This patch adds new function
physical_resource_name_or_FnGetRefId that calls FnGetRefId method of
Resource class if physical_resource_name is None.

Change-Id: I0e61743d5c105391eaec4c28150dddeee8a938bd
Fix wrong log level

If a wrong key_name or image_name is configured in heat template,
"exception" log level is used to report it. This should be the "info"
level.

Change-Id: I79122c22f2278e7c1a4e3daba70c122b78fb9aec
Closes-Bug:#1353328
Convert CFN waitcondition API to resource_signal

Convert the CFN waitcondition API to use the resource_signal API,
which will enable removal of the duplicate metadata_update paths
in the engine.  A side-effect of this is that we're using the
signal interfaces which create more descriptive events when
handling the signals, ref bug #1340894.

Change-Id: I1cf7bac78846a4292822bd26d01a7a148a9a0a0d
Partial-Bug: #1340894
Implement sahara client plugin

Sahara is an integrated project, so python-saharaclient is added
to requirements.txt and saharaclient imports are mandatory.
Also sahara client is added to stevedore configuration.

Change-Id: Ide77975026175dd9d638cb4640925bfd3eade40a
Implements: blueprint sahara-as-heat-resource
Include project ID in stack abandon data

This change adds stack project_id and stack_user_project_id to
the stack abandon data, so that stack-adopt can check if
the project_id provided in abandon data matches the tenant_id
of the current user.

Change-Id: If98db0a4a210965209d50f1b04208677f63c418d
Partial-Bug: #1301314
Merge "Convert CFN waitcondition API to resource_signal"