Stop overriding CONF.default_log_levels per binary

Overriding CONF.default_log_levels means we loose some explicitly set
default values such as 'iso8601=WARN'. Also explicitly overriding
CONF.default_log_levels means that default_log_levels cannot be set in a
config file.

Change-Id: Ib5103b88ec3f9ccd9d516032c6a13dc2fa4bcb5e
Adding own child_template for AutoScalingGroup

Resource AutoScalingGroup fails during preview, because it uses the
parent child_template function with an invalid property Size. So
AutoScalingGroup should have its own child_template with correct
properties. Also new method child_template is used during handle_create.

Change-Id: I0068c1eaf19464c39348823160b665f538fec583
Closes-Bug: #1322583
Implement cinder client plugin

This moves the client creation code out of Clients._cinder() into
its own client plugin.

Cinder is a core project, and python-cinderclient is a dependency,
so the import is now mandatory (including the volume_backups import).

Change-Id: I6b937422cd8e20fa620a7e875ae8b4c61e8f9cf8
Fix error count for stack-list while show deleted

1.The count for stack-list is incorrect while show deleted.
  The count should include the deleted ones.
2.We should check the value of 'with_count', if the value
  is invalid, we should raise ValueError.

Change-Id: Ie1eef7a7ec63870ac28929bcadcd917bbc8d3203
Closes-bug: #1331383
Fix OS::Trove::Instance restore_point property

python-troveclient expects restorePoint to be a dictionary with a
"backupRef" key.

Change-Id: Ib4d83e82dcd5c012fdc12255a93682a6c2d9f47c
Closes-Bug: #1338626
Allow listing of resources and nested resources

This allows the engine to optionally include resources from nested
stacks in a resource-list up to `depth` levels below.  This number is
limited by `max_nested_stack_depth`.

Implements: blueprint explode-nested-resources
Change-Id: I43a5af25e74c7bfb32260f1616d36b311e0f2631
Fix H201 violations and re-enable gating

H201 got stricter in hacking 0.9, so fix new violations and
re-enable gating.

Change-Id: Ie79b04bc1ae2d4784318c19661584d02b7bee088
Implements: blueprint reduce-flake8-ignore-rules
Fix early resource property value validation

Currently resource property validation fails if resource it
depends on is not created.

This change skips a property constraint validation if its intrinsic
function resolution does not find the dependant resource.

Change-Id: I2056c89437e8df2a59726b60c3c12f19f713d84d
Partial-Bug: #1317636
Make sure we can create an empty template

The initial bug was for HOT, but this fixes the same issue
in CFN too.

1) all calls to template[section] should return {} and not
   None by default (hot was correct, but not cfn)
2) the validate needs to access the raw template "self.t" so
   make sure we have a similar logic there too.
3) when warning for zero resources, look for len(resoruces) == 0 not
   None.

Change-Id: Iee6e2abbf13173c17d92f47b8a7efe207c29a984
Closes-bug: #1339893
Implement events pagination, sorting and filtering

It supports pagination(limit and marker),
sorting(sort_keys and sort_dir) and filtering(filters) of
the results for events-list.

Implements blueprint events-pagination

Change-Id: I1892d0c19d0c6355bb5c88e4a0bc4daa59460b72
Add missing DeprecationWarning category to warning

This is a deprecation warning but it lacks the category specifier
for DeprecationWarning.

Change-Id: I4f31c2cd64b94564ff53d944cae36bff472491d4
Remove redundant method handle_get_attributes

All resources use _resolve_attribute method to resolve attribute
schema. Base neutron class contains confused method
handle_get_attributes that should be deleted.

Change-Id: I4651687acac83312a974b446623f4dd8fd0b746e
Merge "Implement cinder client plugin"
Merge "Fix OS::Trove::Instance restore_point property"
Merge "Fix error count for stack-list while show deleted"
Merge "Add missing DeprecationWarning category to warning"
Merge "Remove redundant method handle_get_attributes"
Pass user_creds_id when creating backup stack

When creating a backup stack on update, we don't want to create a
new user_creds record, or update won't work with a trust-scoped
token.  So instead pass the existing stack user_creds_id in to the
constructor when creating the backup stack.

The current behavior is actually doubly wrong, since we don't delete
user_creds records when deleting the backup stack, so the stale
creds records are probably left behind in the DB.

Change-Id: I6bd0568fdf5301b876c40acddc73542bcfc224e3
Partial-Bug: #1342593
heat_keystoneclient add get_user_token

Add a function which takes a stack domain username/password and
returns a token - this is for "one time" use, e.g for callback
signals to wait conditions via the native API.

blueprint: native-waitcondition

Change-Id: I6f4666728c5ecadb1d9d081fb825a77cd598fd47
Merge "Make sure we can create an empty template"