Similar to properties, adds attribute_schema and attributes members to
Resources in order to facilitate document generation and template
provider stubs for resources.
Change-Id: I5e207360816fbc685c66db68a7fab8afad11bf10
Implements: blueprint attributes-schema
Restore the babel configuration values from setup.cfg before the pbr
change so that you can compile the message catalog using "python
setup.py compile_catalog" again.
Fixes bug 1192685
Change-Id: I6db624940b7b8017700e8d2bc7ba56ba4295f091
Wait for instances to be created sucessfully before adding them to the
list in the Autoscaling resource.
Fixes: bug #1192125
Change-Id: Ie8676c23de5a62d3b8b2b4088b67d249ae90ceef
Some clouds, *cough*HP*cough* append extra data to their
status strings. Such as: BUILD(scheduling) or BUILD(networking).
We don't really want to be on the hook for keeping a list of those,
but if we just grab the bit in front of the parenthetical, we should
be able to tell state sensibly, even when people are being weird.
Change-Id: Idaf079d6090db50c9041f398a257b427d63ff48d
Since https://review.openstack.org/#/c/31083/ we're using the
Resource.update() method to update the LoadBalancer, which requires
the resource snippet to be statically resolved (as is done in
parser.Stack for stack updates)
Fixes bug #1191705
Change-Id: Id2017a912472ddb48245682c5b6392cbcb9e4c60
During template validation, the resources have not been stored in the
database. Therefore any resources that return self.physical_resource_name()
in either FnGetRef() or FnGetAtt() would cause assertions whenever either
of those functions were called during validation. Instead, return None from
physical_resource_name() in this phase, as we do for other data that is not
available yet during validation.
Fixes bug #1191931
Change-Id: I1a5b17557ae1ca2600fb930e74eb5248c82e0326
These should always refer to the resource name in the template (i.e.
logical resource name), and never the physcial resource name (since these
errors necessarily occur during validation, before any physical resource is
created).
Change-Id: I6cf6625cf32a90acb27adc6348695c086dc5e119
add a context manager to handle exceptions generated by API
implementation methods or their decorators
Fixes bug #1187881
Change-Id: I4bd75e1e13f8327aaf2283380bf165a57a11ed8c
This needed to convert a parameter in CommaDelimedList into
a property of type List.
part of blueprint provider-resource
Change-Id: Id77a2c6be47427360a2be89ca1fea3c097807bac
When a template has a FloatingIP and a RouterGateway on the same
external network, there is an implicit dependency on create where
the gateway must be created before the floating ip.
This is implemented by overiding add_dependencies in FloatingIP
and looking in the stack for RouterGateway resource to depend on.
Fixed bug: #1182266
Change-Id: I40f281e5bf2a27280d328fe11d32e6404f412a79
This also changes the InstanceId property for an EIPAssociation
to not be required, which was necessary for testing and is inline
with AWS documentation.
Change-Id: I49dd506309fe6a38df6727bca7f6bbebd45fba3f
Fixes: bug #1164864
Instead of passing a function that takes one argument and returns a task
that takes no arguments, simply pass a task that takes one argument.
Change-Id: I73d5f137d5db492c09e6887f80e7e759734c211f
Tasks that were simply defined as ordinary functions (not methods) were
identified by their repr() in the logs, which is only really desirable as a
last resort and for objects (where the __call__() method is the task). Use
the function name instead.
Change-Id: Ie34a3602deb968979118b0961bcddf226cf5983f
Support "Environment" section in the create/update body.
We the roll up the parameters and the environment and send
that as json using the rpc "params" argument. So no changes
to the rpc layer are needed. The engine knows how to deal
with both formats in the Environments class.
blueprint envirnonments
Change-Id: I6d6085d5c052a5f9115ecd46891b00d2fad4d1db
If something shouldn't be called... don't tell the mocks to expect it to be
called. We will get UnexpectedMethodCallError if it is.
Change-Id: I61a7b77cb273b42177a37efa98fc62fd69770545
This returns names which are of the same form, but which are based on the
resource id (and hence are stable).
Change-Id: Id091bdef74e07fc0df0e6e4914dae8af8b29384c
at this point the concept only exists in the engine, the
api and client changes will come in later patches.
blueprint environments
Change-Id: I3e208bb72a04bf275bead2aec89006cf680b501b
The short_id is a random, but stable, 12-character alphanumeric ID.
This will allow two resources of the same name to exist concurrently. That
is necessary for resources to be replaced during an update without
interruption.
Change-Id: If32904a47c6f8fb651e317ce91f2a04f6eadcc0b
This implements the "resource-registry" and "parameters" section
I am holding off on the "properties" section until we really
know we need it.
blueprint environments
Change-Id: Ib6e9e5cd1c68c255dc048bdde21a6b3e1dc54243
Refactor to abstract the handle_create/check_create_complete
logic, so it can be reused without lots of duplication for
other action transitions
Prompted by review comments from:
https://review.openstack.org/#/c/31982/2/heat/engine/resource.py
related to blueprint: stack-suspend-resume
Change-Id: Idb18913ef6ff700b63d5ec6d340d2353fc2294b7
Next step in decoupling action/status
This adjusts the Resource DB columns, model and class to be consistent
with Event, and split action/status. This also modifies the both APIs
to join the action/status to avoid changing the API (we can't change
the CFN one anyway and it's desirable to avoid breaking compatibility
with the ReST API, or needing a version bump for this simple change)
Change-Id: I02b56eb14045a058e67b9764d386530d555c339e
If stacks are not stored in the database before they are create()'d,
anything that refers to a stack (e.g. Resources and Events) cannot be added
to the database either, and we get numerous errors in any output logs.
Change-Id: Icd1012455d413aad617486c138fd4507e391bc7b
An AccessKey resource is not independent of its associated User resource,
which must be present in the same stack. Consequently, we need to create a
real User resource that is a member of the same stack in order to test the
AccessKey in a realistic environment.
Change-Id: I4b732c93fe9823552baf65c3f9c87c8ebab061a4