Add a module for dynamically loading plugins

Change-Id: I662b5989941b467c78a392098db0cd19ff86201c
Signed-off-by: Zane Bitter <zbitter@redhat.com>
Load resources dynamically

Automatically load all resources as "plugins" when importing the package
heat.engine.resources, instead of having to list them explicitly.

Change-Id: I9d11ab9a5b1dd21bc5f9c2f0aad95c035a9c9aa0
Signed-off-by: Zane Bitter <zbitter@redhat.com>
Refactor autoscaling Instance creation

Change-Id: I5d545500f1bc71222ce2c599f57d2d373990da73
Signed-off-by: Zane Bitter <zbitter@redhat.com>
Lookup the class for an Instance in Autoscaling

Instead of hardcoding the class for handling instances in autoscaling,
look up the class for the AWS::EC2::Instance resource type using the same
mechanism used for creating resources normally.

Change-Id: I37b9aff9a83b89cdc782467720970a04549d7b1e
Signed-off-by: Zane Bitter <zbitter@redhat.com>
Add documentation on plugin_loader module

Change-Id: I55a6c90c8bacee8a3bfed297b150cf5554cfabba
Signed-off-by: Zane Bitter <zbitter@redhat.com>
heat api : add waitcondition to cfn api

Add a new path to the CFN api, which implements CFN style waitcondition
notification - this means we can move away from the separate heat-metadata
service for this purpose, instead using the authenticated CFN API

blueprint metsrv-remove
Change-Id: I62cff7cb4c7a009fea2c8f62ea446d8d758f5429
Signed-off-by: Steven Hardy <shardy@redhat.com>
Process engine config before initialisation

Don't import the heat-engine service module until the configuration options
have been initialised. This will allow us to read the configuration during
initialisation of the engine.

Change-Id: I2bc70d903434eac1fa248640018f038c5ef2bead
Signed-off-by: Zane Bitter <zbitter@redhat.com>
heat engine : subclass keystone client to encapsulate common code

Encapsulate the keystone client in a heat-specific wrapper subclass
so we can put heat-specific implementation related to keystone in
one place.  This will allow easier reuse of common code between
resources which need to manipulate stack users and ec2 keys

blueprint metsrv-remove
Change-Id: I3d9751023c52cb75ab5e1f62415b1db4e4361dec
Signed-off-by: Steven Hardy <shardy@redhat.com>
heat engine : Convert WaitConditionHandle to pre-signed URLs

Change WaitConditionHandle so it provides a pre-signed URL which
allows authenticated wait condition notification via the CFN API

blueprint metsrv-remove
Change-Id: I5c1c3a17ade35c810e49b1f27d80bcfea9e89485
Signed-off-by: Steven Hardy <shardy@redhat.com>
Merge "heat engine : subclass keystone client to encapsulate common code"
Merge "heat engine : Convert WaitConditionHandle to pre-signed URLs"
Remove heat-metadata service

Remove heat-metadata service, since the last remaining function
(waitcondition handle notification) is now handled via the CFN
API

blueprint metsrv-remove
Signed-off-by: Steven Hardy <shardy@redhat.com>
Change-Id: Ie36c86ce86f6c47e8d9f8accf8ec17084fb8cffd
Update openstack-common

Now at oslo-incubator version 1fd7694e96da4c7e461d3c966fab1e81ee57c315

Change-Id: If6ca594185cdaf6f2b279185cb4a4f62391aa828
Signed-off-by: Zane Bitter <zbitter@redhat.com>
Add uuidutils from openstack-common

Change-Id: Ia4a8e18f9a2383c09bdd9d59af3df8c057c8d35e
Signed-off-by: Zane Bitter <zbitter@redhat.com>
Use uuidutils from openstack-common

Change-Id: I6fdd1bf59562a3dbef96da8d30c2733a801acd58
Signed-off-by: Zane Bitter <zbitter@redhat.com>
Remove is_uuid() from HeatIdentifier class

We now use the equivalent functionality from openstack-common.

Change-Id: I915cdb92b89d3548fa03e1820d8b90b2aac4e44b
Signed-off-by: Zane Bitter <zbitter@redhat.com>
Remove gen(erate)_uuid from heat.common.utils

We now use the version from openstack-common.

Change-Id: I0ff86c73f2de1fa6e2455e2c59d1e5859634d1e9
Signed-off-by: Zane Bitter <zbitter@redhat.com>
Move the identifier module into heat.common

It is used by both the engine and the client APIs, so it doesn't belong in
the engine.

Change-Id: I45306fd8293d1d859fde5fda9cdcf5fb0588aa2d
Signed-off-by: Zane Bitter <zbitter@redhat.com>
Move template-format parsing code into common

This is used mostly by the API (but also the engine for composed
templates), so it doesn't belong in the engine package.

Change-Id: I79cf8cc619a6988013a58eb4d46c014c3dcac4a3
Signed-off-by: Zane Bitter <zbitter@redhat.com>
Create a new heat.rpc package

The definition of the RPC API is common between the engine (server) and the
clients, so move the client and common definitions out of the heat.engine
package.

Change-Id: I5fd2ba26f09c86ba1adecab4f9e06e69a694fe90
Signed-off-by: Zane Bitter <zbitter@redhat.com>