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
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 "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"
Merge "Fix H201 violations and re-enable gating"
Implement trove client plugin

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

Trove is an integrated project, and python-troveclient is a dependency,
so the import is now mandatory.

Change-Id: I89d290f6a38488779e77ff11bdfdd64c159a57e8
Implement ceilometer client plugin

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

Ceilometer is an integrated project, and python-ceilometerclient
is a dependency, so the import is now mandatory.

Change-Id: Id4961c4d9678d7bfe3739128843c41921cc8a34b
Implement heat client plugin

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

Clients._get_client_option is no longer used, so has been deleted

Change-Id: Ie14906b6cc605d6db49a5153ffa27f82debcc430
Implement keystone client plugin

This moves the client creation code out of Clients._keystone() into
its own client plugin.
This is the last client to convert to a plugin, so supporting code
to fetch a client from a non-plugin has been removed.
In a later change it would be worth considering moving methods
in heat_keystoneclient.KeystoneClient into KeystoneClientPlugin
so that calling Clients.client('keystone') returns the actual keystone
client rather than a wrapper.

The barbican TestClient has been removed; it had limited practical
value since it mocked all of the internal calls of the method it was
testing.

Change-Id: Ie4a616d6a2b056fe59877e2bec325f02b6d7a693
Expose recent docker features in the resource

This adds the name, port_bindings and links properties to the docker
container resource which are passed to container creation and start.
This also removes properties which were never implemented.

Change-Id: I7320e3a95895b894cc53ebb77ebb220482f990c1
Merge "Fix early resource property value validation"