Use the Environment from within the engine

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
Remove unused parameter.user_parameters()

blueprint environments
Change-Id: I21246a62f82064120d6ebd4c5e1c607f43df55bc
Make template_format.parse usable by environments

(environments don't want template sections)

blueprint environments
Change-Id: I68ac0b8fb0889d245ace4d0ea8d298460c4c1b1a
API support for Environments

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
Cleanup the doc strings in heat/rpc/client.py

Change-Id: Ia760937f729a1aa17d84c48054cb143bf6891bfd
scheduler: Improve task descriptions in debug logs

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
scheduler: Simplify DependencyTaskGroup interface

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
Add a Fn::Split function to aid provider templates

This needed to convert a parameter in CommaDelimedList into
a property of type List.

part of blueprint provider-resource
Change-Id: Id77a2c6be47427360a2be89ca1fea3c097807bac
suppress and log API internal exceptions

add a context manager to handle exceptions generated by API
implementation methods or their decorators

Fixes bug #1187881

Change-Id: I4bd75e1e13f8327aaf2283380bf165a57a11ed8c
Merge "scheduler: Improve task descriptions in debug logs"
Support cloud-specific suffixes to server status.

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
Merge "suppress and log API internal exceptions"
Merge "Add a Fn::Split function to aid provider templates"
Merge "Use the Environment from within the engine"
Merge "Remove unused parameter.user_parameters()"
Merge "Make template_format.parse usable by environments"
Merge "API support for Environments"
Merge "Cleanup the doc strings in heat/rpc/client.py"
Merge "Support cloud-specific suffixes to server status."
Detect failed instance creation in autoscaling

Wait for instances to be created sucessfully before adding them to the
list in the Autoscaling resource.

Fixes: bug #1192125
Change-Id: Ie8676c23de5a62d3b8b2b4088b67d249ae90ceef