Add encryption support for authentication information in db.

This patch uses an encryption key generated in install.sh to perform
symmetrical encryption on sensitive authentication information stored
in the database for HA operations.

Change-Id: Ifd09f3f566ba3ebd941a6f453953576011b518b9
Signed-off-by: Ian Main <imain@redhat.com>
Don't use uuidgen in install.sh

uuidgen is not present in Ubuntu. This simply reads 16 bytes from
/dev/random and stores their hex representation.

Change-Id: If1152242b024218f20bd4c787e03836f0d5f49cf
Signed-off-by: Tomas Sedovic <tomas@sedovic.cz>
Add tools directory to python package.

This adds the tools/ dir to the tarball for distribution.

Change-Id: I82a18df568bf2d7421a49e057e80a7bc236e2078
Signed-off-by: Ian Main <imain@redhat.com>
Update getting started with credential crypto

We encrypt the sensitive information in the database now. This updates
the Getting Started guide to generate an encryption key.

Change-Id: I44a96302e736997a747f82c9d23006425396633f
Signed-off-by: Tomas Sedovic <tomas@sedovic.cz>
heat engine : Avoid writing to class-scope parameters schema

Fixes issue where multiple instances of the same resource types
which have different parameters break, because the parser is
writing back to the class-scope properties_schema which should
be immutable.  This patch fixes by making a per-instance copy.

Fixes #183

Change-Id: Ia29f67465acbcfaf8dfe511ddaa9075bc48157ad
Signed-off-by: Steven Hardy <shardy@redhat.com>
Bump to v6

Heat version 5 is released, let's start working on 6.

Change-Id: Icd0db5c0a9317d17ae4c2f161d50da8b5c50c40e
Signed-off-by: Tomas Sedovic <tomas@sedovic.cz>
heat API : Return correct AWS error response for invalid parameter

Passing template parameter values which are not in AllowedValues
makes the engine throw a ValueError exception, which should be
mapped back to HeatInvalidParameterValueError so that the API
error response is correctly formatted.

Fixes #180

Change-Id: I8615cb7fbbbfd21a403a4973fe0a63300c6cf852
Signed-off-by: Steven Hardy <shardy@redhat.com>
heat engine : raise appropriate error for incorrect stack_name

Raise an AttributeError instead of returning a string when passed
an incorrect stack name, this then maps to the appropriate error
in the API.

Fixes #182

Change-Id: I7fe80496883bfbe515d9c235de812aaa14c41c12
Signed-off-by: Steven Hardy <shardy@redhat.com>
heat : Make instance flavors consistent

Add additional instance flavors to align templates with
nova

Fixes #179

Change-Id: I586e57748c9b0a0c7594746399d5328da788efcd
Signed-off-by: Steven Hardy <shardy@redhat.com>
heat templates : update Openshift template to add node instance

Update openshift templat to add a second instance running
the node to the existing broker.  Move to crankcase master
and attempt to work around build issues.

Ref #186

Change-Id: If7d1b39e1072d3934f37817be3d7773edd7785c3
Signed-off-by: Steven Hardy <shardy@redhat.com>
Implements a client side engine RPC API.

Patch 1/2, this implements github heat issue 181.

The topic string for the rpc call is built from the cfg.CONF parameters 'host'
and 'engine_topic' defined in heat.common.config.engine_opts.

delete_stack seems to be the only method which returns nothing, so it can be
invoked as cast or call, with cast being the default.

The tests exercise each api method with the same approach found in
nova/nova/tests/compute/test_rpcapi.py

Change-Id: Ia20850821083d1236ad628172db00d01f073313c
Port existing rpc calls to use the new RPC client API.

Patch 2/2, this implements github heat issue 181.

test_api_v1 was modified to handle the extra rpc arguments.

metadata_register_address hasn't been included in EngineAPI, and it
possibly doesn't deserve to. This means that bin/heat-metadata has the
only remaining raw rpc call.
Log all startup operations to /var/log/heat-startup.log

Change-Id: I0e7f415e7aee60c09d0b5b172742af7a5b313191
Signed-off-by: Steven Dake <sdake@redhat.com>
Force rpm to retry indefinately during crankcase build

If RPM is not forced, sometimes packages will fail to download within the
default 10 retries.  This results in crankcase failing to build OpenShift.

Change-Id: I5174928fc2ac205dcd7818ecf1da6b8e32f48e08
Signed-off-by: Steven Dake <sdake@redhat.com>
Merge "Log all startup operations to /var/log/heat-startup.log"
Add calculate_properties() to update() and restart_resource()

This is the same fix as 783b1112490ef07db05251c1258c04f8b1caa5a0

Change-Id: I17a30b0c670dee5b228b4af8dad06ad109471e5d
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
Remove crankcase patch since fix was merged upstream

Added a patch to force yum to retry indefinately on crankcase builds
because the OpenShift repositories were too busy.  I submitted this upstream
in:

  https://github.com/openshift/crankcase/pull/336

and it was merged.

As a result, removing this workaround.

Change-Id: I26e0a162d5cfb4bc23843c93678318ff21610973
Signed-off-by: Steven Dake <sdake@redhat.com>
change amd64 reference to x86_64 to match latest cfntools

Change-Id: I11f4bd974326c7f1b4e287389b22c5ec3f20bdf9
Signed-off-by: Steven Dake <sdake@redhat.com>
Merge "change amd64 reference to x86_64 to match latest cfntools"
Make template params resolution standalone

This makes the two functions for resolving template data (Fn::FindInMap,
Ref, etc.) available outside of a Stack object.

Other programs can then import these functions and see how the template
parameters get resolved.

Change-Id: I92de937a3fb25f907404335cb71554036a807c50
Signed-off-by: Tomas Sedovic <tomas@sedovic.cz>