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
Allow listing of resources from deleted stacks

This change complements the `show_deleted` flag added to stack-list and
allows for resources in a deleted stack to be listed as well.

Implements: blueprint stack-list-soft-deleted
Change-Id: I20ac5cb1039d12e4df30a01491f6ce15b5154f5b
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
Run migration tests on PostgreSQL and MySQL

Refactored migration tests due to use OpportunisticTestCase.
This change allows tests use database ``openstack_citest`` only
for connection to the database backend - for each migration test
a new database, with a random name, will be created. This will avoid
migration tests of race conditions and reduce tests interaction.
Added MySQL-python and psycopg2 to test-requirements, because we need
some database connectors to run tests on PostgreSQL and MySQL.

``test_migrations.conf`` file was removed, because we create test
database for migration test, so we no longer need test database
credentials.

Some migrations scripts was modified to ensure, that they executed
with a single DB connection.

Removed get_table() method - we can use a similar function from
oslo.db.sqlalchemy.utils module.

This patch also add "forward compatibility" with the next version of oslo.db
- class BaseMigrationsTestCase was removed from master, so we should
avoid of it's usage and signature of method _walk_versions() from class
test_migrations.WalkVersionsMixin

Co-Authored-By: Roman Podoliaka <rpodolyaka@mirantis.com>

Change-Id: Ia503f01fdf2df00cce7212fcc9e0b6cc98ad6520
Remove resource_id_set(None) calls

This removes resetting resource_id in delete, as the state is storing
that information properly, and it doesn't provide any additional value.

Change-Id: I71f17ab79adbad5286389c87f1fbd5c60c4a8d7f
Closes-Bug: #1358492
Merge "Run migration tests on PostgreSQL and MySQL"
Provide access to outputs from OS::Heat::AutoScalingGroup

Allow get_attr on OS::Heat::AutoScalingGroup to return a list of
corresponding attributes from each of the base resources. For example,

  {'get_attr': ['my_asg', 'outputs_list', 'networks', '<network_name>', 0]}

will return a list of the first IP address assigned to each server in the
group. This is modelled on similar functionality in the
OS::Heat::ResourceGroup resource. Similarly:

  {'get_attr': ['my_asg', 'outputs', 'networks', '<network_name>', 0]}

returns a mapping from resource names to the corresponding IP addresses.

Change-Id: Ib9e830e0c54602ac456d64179e1df30f0778906d
Closes-bug: #1356544
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
Merge "Allow listing of resources from deleted stacks"
Merge "Remove resource_id_set(None) calls"
Imported Translations from Transifex

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

Change-Id: I1f10074c72a0da0cbe6536f1e426aeaf4ae50f1e
Use empty list in list_join for validation

Calling list_join on the list of ResourceGroup's attributes in a
SoftwareConfig fails during template validation with:

ERROR: Property error : my_config: config "list_join" must operate on a
list

Closes-Bug: 1358831
Change-Id: I39d2da7a28ba53fbe3a95bff0198fa5c2f87aa3b
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