heat tools : nova_create_flavors.sh additional retry logic

Add retry logic in order to make creating flavors more
robust.  Nova rate-limiting frequently causes actions to fail
so wrap all requests in retry/sleep logic and check we can
connect to nova before attempting to change anything

Ref #225

Change-Id: I1b1014df04602935f561c08ba29287061224b5f3
Signed-off-by: Steven Hardy <shardy@redhat.com>
Handle verification errors in create/update in cfn API

If a StackCreate or StackUpdate call fails verification in the engine, we
get an error message returned rather than a stack identifier.

Fixes #224

Change-Id: I5f47f5d0e25e8bc05633d29605adcc8827edd379
Signed-off-by: Zane Bitter <zbitter@redhat.com>
Update documentation on configuring metadata server

The docs need to reflect the fact that the metadata server cannot be
configured and launched until after Nova has created the virtual bridge
interface.

See issue #196

Change-Id: Ia1a004106fa2b535b54c7b88e8ed177e47e72844
Signed-off-by: Zane Bitter <zbitter@redhat.com>
Implement the AWS::S3::Bucket resource type.

An attempt was made to make created bucket names readable and unique.
Names are of the format heat-<resource name>-<random hex>. eg:
heat-S3Bucket-b420d12d02e5d6e46f13

Only the swift v2 auth is currently supported, which means swift will need to
use keystone for auth. This may be a valid assumption for any environment that
is running Heat.

When DeletionPolicy is Delete then an attempt is made to delete the container,
but the stack will still be deleted if container delete fails.

Run the template S3_Single_Instance.template to give it a try.

Functional tests will be coming in a later change.

Change-Id: Ifa2c3c4fcbdb00a44f8c6b347a61f8e1735e8328
heat tests : functional test utils add StackBoto class

Add StackBoto, subclass of Stack, which implements stack
setup using the boto client wrapper, allows us to test
AWS auth and boto client libraries

Ref #220

Change-Id: Id5cb5ab72c7ba2e7accd76a73a94ff8fe45c62fa
Signed-off-by: Steven Hardy <shardy@redhat.com>
heat tests : add new Boto wordpress functional test

Add new test_WordPress_Single_Instance_Boto.py, which
does a wordpress single instance test using StackBoto

Note, this will require a valid /etc/boto.cfg to work,
and probably a recent (git) version of boto

Fixes #220

Change-Id: Ia95de35dc9d1d52ba6b9f4fae333e4fad02762ca
Signed-off-by: Steven Hardy <shardy@redhat.com>
heat : comment credentials in template boto.cfg

Comment out the credentials section in /etc/boto.cfg
this allows us to pass the correct host/endpoint without
having world-readable credentials.  This can then be used
as a template for per-user ~/.boto files if desired

Change-Id: I4cea0cb3b790186ddc041edad0ab4ee4b7e8f956
Signed-off-by: Steven Hardy <shardy@redhat.com>
heat : move boto.cfg to correct location

boto.cfg needs to be under /etc not /etc/heat
or boto won't find it

Change-Id: I0981bb3bd46dd1630633576fc77d085410bf6362
Signed-off-by: Steven Hardy <shardy@redhat.com>
heat : allow boto_client to accept credentials

Allow ec2 credentials to optionally be passed in to boto
rather than purely relying on config-files

Change-Id: Ib821f2bca9bc3f61af521955a9ed52f0059e70e4
Signed-off-by: Steven Hardy <shardy@redhat.com>
heat : test utils, extract ec2 credentials from keystone

For StackBoto extract the ec2 credentials from keystone and
pass them into the client, so the functional tests don't rely
on ec2 credentials from config-files and only need the currently
provided keystone credentials

Change-Id: Ifc959011cc5b9ee77ebf04e380dc6a4059903c6d
Signed-off-by: Steven Hardy <shardy@redhat.com>
Make S3 optional since swiftclient is not available in all distributions

Change-Id: Ic5f61ac41090fd599f01b3eaae4ffb03aac2ebdd
Signed-off-by: Steven Dake <sdake@redhat.com>
Make S3 import except on ImportError rather then all exceptions

Change-Id: Icb98aed65ccba825f8402fdde95ac38b2a12c1a6
Signed-off-by: Steven Dake <sdake@redhat.com>
Update WordPress_Compsed_Instances to new test infrastructure

Change-Id: I08a175d28b99b861ce29b2278e415896e79cf72a
Signed-off-by: Steven Dake <sdake@redhat.com>
Change VerifyClass to have a generic verify_url method

Change-Id: I0e1298e7852e336d6271c4014b11935ac3ce6689
Signed-off-by: Jeff Peeler <jpeeler@redhat.com>
Add 2 instance with EBS test.

Seems to work even.

Change-Id: Ie09d97dc86a68525783f1f9c080fed13e651ef78
Signed-off-by: Ian Main <imain@redhat.com>
Merge "Make S3 import except on ImportError rather then all exceptions"
Change Stack to support user defined parameter

This change allows tests to specify DBUsername/DBPassword if necessary.
The keyname is still looked up in nova and the distribution is retrieved
from the already existing Stack parameter.

Change-Id: I3732ffb685d68c8a72a83247f74ed11a50a74cd1
Signed-off-by: Jeff Peeler <jpeeler@redhat.com>
Merge "Add 2 instance with EBS test."
Make physical resource names unique based upon stack name

Some templates use the same resource name when registering with
nova.  Nova will not allow mulitple resource names to register
with the same name in all cases, and in those it does, it often
becomes confused (in the case of EIP).  This patch creates a
dot notation

For the LB test, an example of the resources would be:
teststack.LoadBalancer.LB_instance
teststack.DatabaseServer.MySqlDatabaseServer
teststack.WikiServerOne

Fixes Issue #160
Fixes Issue #136

Thanks to asalkeld@redhat.com for helping sort out the unit
test cases.

Change-Id: I14f4551feb41c7f98caa30dd98f997da6d00c467
Signed-off-by: Steven Dake <sdake@redhat.com>
Update openstack-common

Change-Id: I002574a60b4f59543bc6aa73256c2f0b3b79d378
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>