When something goes wrong at the moment users are left staring hard
at their template trying to figure out whats wrong. We can make this a
lot easier by showing them the failed object.
Change-Id: If87447b7e160591505a68d857e8ef1751aac3723
This patch added additional exception handling so that a non-admin user
will understand why his/her attempt to run this script failed.
Change-Id: I20a593f613931de0b3c13094a2e0b6c2f2b0eea1
Closes-Bug: 1354687
Move to a common curl_cli attribute, which can be used for both
success (default) and failure (by passing appropriate status data,
and optionally reason). This should allow a slightly more flexible
interface than the current success/failure attributes, while still
remaining simple, and enabling simpler portability between this and
the alternative Swift signal implementation.
Note this breaks compatibility with the attributes we just recently
merged, but I'm assuming since it's so recent nobody is using it yet.
The example template at https://review.openstack.org/#/c/106424/ has
been updated to reflect the new interface.
Change-Id: Iac09aaa60ef5c1de27c9eeca7c65eca41c06907e
blueprint: native-waitcondition
According to AWS docs AWS::EC2::VolumeAttachment resource does not
support any updates [1]. Support of updates in our AWS-compatible
resource is a bug and needs to be fixed without deprecation period.
This patch moves VolumeAttachment update logic to native Cinder
resource.
[1] http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volumeattachment.html
Change-Id: I54d302dbec66ddd49c4a774376df99e7e9d63980
Partial-Bug: #1340096
This moves the client creation code out of a Clients subclass into
its own client plugin.
Barbican is not an integrated project so the plugin is not registered
if barbicanclient cannot be imported.
The code which prevented client errors in _resolve_attribute from being raised
has been removed. This will prevent invalid attribute values from being
memoized.
The base package has been renamed to heat_barbican since stevedore
is used for client plugin loading and the base package will be
installed by setuptools, the package barbican might clash with
the actual Barbican project.
Change-Id: I5788fb4618fef0d1c3e39cc98094bb2813e842c5
This moves the client creation code out of a Clients subclass into
its own client plugin.
The base package has been renamed to heat_marconi since stevedore
is used for client plugin loading and the base package will be
installed by setuptools, the package marconi might clash with
the actual marconi project.
Change-Id: Ie824d961fcfa9dafd72cc40ccf207d1c1e0501ad
This change converts the rackspace client code to be contributed
via client plugins. This is the last change required for all in-tree
clients to be contributed via plugins.
A RackspaceTest base class which adds the rackspace directory
to the client plugins path which ensures any rackspace variants
are loaded. Plugin loading precedence is used to ensure rackspace
versions will override core plugins with the same name.
The nova plugin will fallback to returning the core nova client
so that CloudServersTest will run even when pyrax is not installed.
The cloud_backed configuration option will no longer have any effect
on whether rackspace clients will be loaded. Instead they will be loaded
by stevedore via the setup.cfg heat.clients entry point.
Change-Id: I312de40064cc00896dba1835117ff67003e57938
This change creates a pbr setup.cfg and specifies a data_files
entry to install the contrib plugin source into the /usr/lib/heat
plugin directory.
This change also temporarily disables docs building for contrib
resoures until the transition to stevedore is fully complete.
Change-Id: I1c91aee20f72dc2a5a049e67de1d6d7cbabda241
All uses of nova_utils functions have been migrated to using
the nova client plugin version.
Existing functions now have a deprecation warning which is
suppressed during nova_utils unit tests.
nova_utils.get_flavor_id was being called with the trove
client, so there is now a dedicated trove plugin method
get_flavor_id.
Change-Id: Ic8120022a1f9117c783f6422069f94614bcbb3c6
Migrate to use functions: stub_KeypairConstraint_validate() and
stub_ImageConstraint_validate() in tests/common.py which defined
in patch I23dc126e621f3cfa7ca86b3a1c27dd949d3f5093.
Change-Id: I63d578a9291d0fe08815d6a33323324432ae21cb
Add constraints for "KeyName" and "ImageId" to check whether keypair/image
exists on "AWS::AutoScaling::LaunchConfiguration" resource.
Change-Id: I23dc126e621f3cfa7ca86b3a1c27dd949d3f5093
Closes-Bug: #1312564
This change removes the function get_software_config
and replaces it with direct calls to heatclient.
This allows the heat client plugin's ignore_not_found handling
to be used.
The SoftwareConfigMissing exception is also no longer required.
Change-Id: I61fbe9556d9988fffd4afddf3fad5d2fa211475a
There are some Replay/Verify calls which don't do anything, so
remove them, for the avoidance of perpetuating them in cut/paste
for new tests.
Change-Id: I4c08732d37ca9c1e15d13217ba257fff1bc2f518
If the stack-update is switching from pre-HOT to HOT then
the update will fail because the functions are resolved
using the pre-HOT template.
This change uses the new template for the reparse instead of the
old one. It fixes the issue observed but any other effects are
unknown.
Change-Id: I2f749375ccd7ca917387ef96856b1fc248c8567b
Closes-Bug: #1356097
Stacks are launched by users but scoped to tenants, so users in the same
tenant currently have no way to know owns each stack. The same is
especially true to unscoped stack lists. Since humans are much better
with names than they are with numbers, this adds the stack owner
username to the data returned with each stack.
Co-Authored-By: Anderson Mesquita <andersonvom@gmail.com>
Implements: blueprint stack-display-fields
Change-Id: Ia1386531025096e0eeaf9e98b478c4453fc8cb01
Instance resource will raise an error if it's not active at the time of
the check.
Co-Authored-By: Richard Lee <rblee88@gmail.com>
Implements: blueprint stack-check (partial)
Change-Id: Id34b461f5c76187928dd0419d8537e9a6cb6178c
Add CHECK to the list of accepted stack actions.
Co-Authored-By: Richard Lee <rblee88@gmail.com>
Implements: blueprint stack-check (partial)
Change-Id: I38265b672090f5fcc34413cc4d8c086015af869c
Allow resource to check whether it is in an expected state and update
status and action accordingly.
This adds a check action to the stack that will perform checks in all
their resources and nested resources as well. If a resource doesn't
have a handle_check() method, check for that resource will just pass.
If any resource at the end of a Stack.check() doesn't have a
handle_check() method, then a message will be added to the status_reason
of both the resource and the stack saying that CHECK is not (fully)
supported. This allows for the other resources to implement their own
checks for their expected states.
Co-Authored-By: Richard Lee <rblee88@gmail.com>
Implements: blueprint stack-check (partial)
Change-Id: I18985476696faeaa47149c233a067f9494c2effa