Fix event_type names for stack CRUD notifications

According to the documentation [1] and for consistency, notifications
sent by Heat for stack CRUD operations must be :
orchestration.stack.{create,update,delete,suspend,resume}.{start,error,end}

Currently the notifications sent looks like (missing 'stack.')
orchestration.{create,update,delete,suspend,resume}.{start,error,end}

[1] https://wiki.openstack.org/wiki/SystemUsageData

Fixes bug #1273240

Change-Id: Id46158c495f10436b62755deaf5b6a91e2e7e4bc
Make context available during constraint validation

This makes context optionally available in properties and during
constraint validation, to be able to add more advanced constraints which
make API calls.

blueprint param-constraints

Change-Id: I6ec1d6bc952d82029638caea32567036e29e4881
test_signal add missing VerifyAll calls

Some tests set mox into replay mode without then doing VerifyAll so
add where missing.

Change-Id: I230768c1e170ab9fab5ca6131394058c2de019f1
Verify setenforce is executable

Some images/distros do not install/use selinux. This small change will
verify that `setenforce` is executable and in the path before attempting
to run the command. This prevents the script from erroring and causing a
failed `cloud-init` run.

Change-Id: I42f802c7994b8d907f0cc4e3b1a38e6fd89dac0c
A cloud-config resource based on SoftwareConfig

This simple resource allows cloud-config to be specified
as a map property, and stores the resulting YAML as a SoftwareConfig
resource.

Because cloud-init is boot only, this resource won't be used with
a SoftwareDeployment resource, also it will not have inputs or outputs.

Instead, a server's user_data can contain this resource via get_resource
when user_data_format is SOFTWARE_CONFIG.

Implements: blueprint cloud-init-resource

Change-Id: I15c8d6a03b8da274531b76cca658e37def4eb460
tests remove test_heatclient unnecessary mock

The mock_ks_v3_client.users mock is not needed in this test.

Change-Id: I9f61da1c7203d7b42177ce78491a3963023318f9
heat_keystoneclient add support for stack domain projects

Adds support for creating projects inside the heat stack domain.

A new project will be created in the stack domain if the stack creates
any InstanceUser resource, and the "stack domain project" will then
encapsulate all users associated with resources in the stack.

Adds a new stack_user_domain option which will be used to specify the
name of the domain where heat will create the projects/users.

Change-Id: I7bb1830489baf5fb6761d7e1c914dc3ab0450181
blueprint: instance-users
Fix indentation errors found by Pep8 1.4.6+

As a preparation in order to switch to a newer
Pep8 version in the future, fix the indentation errors
that are missed by Pep8 1.4.5 due to bugs.

Change-Id: I44d1a5194633d2992215fd0d1b740dfd0863e6f1
Closes-Bug: #1267994
Ensure stack lock is released after stack-delete

Previously, stack locks would not be released after a stack-delete
because the stack ID was being passed to db_api.stack_lock_release() as
None.  To resolve this, pass the stack ID to the greenthread-linked
release function while it still exists.

Change-Id: I260c4c5512bd2069f134e9d6ac6ea07565e443b0
Closes-Bug: #1276336
Create heat database with default character set utf-8

The heat-db-setup script wasn't creating the heat database with default
character set utf-8 which can cause the migrations to fail.

Closes-Bug: #1276880

Change-Id: I35861af66d70314285fa76bb148e403aeea4b654
Merge "Verify setenforce is executable"
Merge "Ensure stack lock is released after stack-delete"
Merge "A cloud-config resource based on SoftwareConfig"
Merge "Fix event_type names for stack CRUD notifications"
Merge "Create heat database with default character set utf-8"
Merge "test_signal add missing VerifyAll calls"
Restructure Rackspace resources

During doc generation, resources have their own templates and need
to be separate from non-resource modules.  This removes the ``heat``
``engine`` and ``plugins`` folders and moves all resources into a
``resources`` folder, effectively separating the custom Rackspace
Client from custom Rackspace resources.

Partial-Bug: #1271226
Change-Id: Idbdc8400d30e2e745a2dc1b2d2fa1b7cff50d57b
Reorganize docker-plugin for consistency

Package and Module names shouldn't have dashes in them, since it makes
it harder to import them (i.e. one cannot use ``import dashed-module``).

Also, moving docker resource under resources for consistency.

Partial-Bug: #1271226
Change-Id: I785b626a99516ebe6444296cf62a78dd96355060
Rename rackspace.rst to contrib.rst

Partial-Bug: #1271226
Change-Id: I1b5f848ef7f8da645ea57a0a30e7f9b86a4c866b
Merge "Make context available during constraint validation"