Add user_creds_id to _create_stack RPC interface

Adds the ability to pass the parent user_creds_id into nested stacks
when creating them via RPC, so we can maintain the current behavior
in StackResource, where the parent user_creds record is used by all
nested stacks.

Change-Id: Ifed93860db68a7d23b0c05bd9ec83619e109e386
blueprint: decouple-nested
Improve error response in cfn Outputs validation

Relying on discussion in commit
I0d7e3e57e479ddb658645b8664bc847866180cda, this patch
improve error message for a better understanding of
error in Outputs and Resources sections.

Change-Id: I2a16093a57b474ef4636975b5fc0df4103678a08
Implement handle_check for CloudWatch

This allows CloudWatch resources to be checked as part of a
stack.check() operation.

Implements: blueprint stack-check
Change-Id: I974a68cc5df6baaa1f0ad594a758747773e52373
Implement handle_check for OS::Trove::Instance

This allows OS::Trove::Instance to perform a sanity check when
performing a stack.check()

Implements: blueprint stack-check
Change-Id: Idf694cbe9119c268fb27cdc090d0edff7e4a3607
Implement handle_check for OS::Swift::Container

This allows OS::Swift::Container to perform a sanity check when
performing a stack.check()

Implements: blueprint stack-check
Change-Id: I1821c8067a5cf41b2100ab500ce7cfbe6fadeb34
Implement handle_check for OS::Nova::KeyPair

This allows OS::Nova::KeyPair to perform a sanity check when performing
a stack.check()

Implements: blueprint stack-check
Change-Id: I2091df2eb6d8b4fa05fbeb07c6e92d95131b8e0b
Implement handle_check for Cinder and EC2 Volumes

This allows OS::Cinder::Volume and AWS::EC2::Volume to perform a sanity
check when performing a stack.check()

Change-Id: I5bb5a25b05391076c998a91f877ccd3986da81ef
Implements: blueprint stack-check
Correct error msg when resource or output are empty

When resource or output body is empty, we get traceback
instead of error message. This is wrong, so this patch
handle such situation by raising StackValidationFailed
exception. Furthermore, if output body is not a mapping,
we got traceback too.

Change-Id: I27f3a732480a851fd2eceb83e5fcc850ee59bb73
Closes-bug: #1386242
Add Dimensions Default in AWS_CloudWatch_Alarm.yaml

Relying on [1], property Dimensions isn't required, but
this template has no Default value for Dimensions
(thereby making it required). This patch fix that omission.
Besides that, parameters have wrong parsing, because if
parameter with type 'CommaDelimitedList' has default
value '', parameter's parsing result would be [u''] instead
of []. this is wrong, so this patch fix it.

[1] http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html

Change-Id: I259249659c8b5dc846432f8e08985b148b30d682
Closes-bug: #1386824
Updated from global requirements

Change-Id: I358cfce5ec233c17b128d3740d9e104178296ae2
Add requirement to SecurityGroup "remote_group_id"

"remote_group_id" propertie needs to be set only if "remote_mode" is
set to "remote_group_id". If "remote_mode" is in its default value,
remote_group_id is ignored, there is no error message.

There is no clue to understand that remote_mode should be set to
another value, except reading all SecurityGroup properties.
Also, remote_mode does not appear in "neutron security-group-show"
output.

Change-Id: Icdf698a6d7b5539bbc7c4426aa88250229f795f0
Add functional test for update of provider resource

Adds a test where we update a nested stack definition, to ensure
the implementation signature is correctly recognised as changed
so the update is applied in-place to the nested stack.

Change-Id: I2fbbf749d7265d26fd7104036fe61d3e855ca7b7
Related-Bug: #1389499
Detect container failure when checking create complete

Change-Id: I77f56ec544a82e13cd5a00a3adcfde6c0dda822e
Merge "Detect container failure when checking create complete"
Merge "Updated from global requirements"
Merge "Add Dimensions Default in AWS_CloudWatch_Alarm.yaml"
Merge "Improve error response in cfn Outputs validation"
Merge "Correct error msg when resource or output are empty"
Merge "Add functional test for update of provider resource"
Merge "Add requirement to SecurityGroup "remote_group_id""