Steven Hardy [Tue, 11 Sep 2012 18:03:41 +0000 (19:03 +0100)]
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>
Steve Baker [Tue, 11 Sep 2012 02:58:34 +0000 (14:58 +1200)]
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.
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.
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>
Steven Hardy [Mon, 10 Sep 2012 10:03:37 +0000 (11:03 +0100)]
heat tools : add ephemeral disk for all flavors
Add ephemeral disk for all flavors in nova_create_flavors.sh
as it's currently not possible for EBS to work without a fixed
mapping to a specific block device name, meaning the EBS templates
will break for micro/tiny if there if no ephemeral disk defined
Change-Id: I801f00aba5b431d30362cd4b34da2f66457220c5 Signed-off-by: Steven Hardy <shardy@redhat.com>
Steven Hardy [Mon, 10 Sep 2012 09:49:45 +0000 (10:49 +0100)]
heat tools : check services running after openstack install
Check all expected services are running after starting them when
doing tools/openstack install, should avoid possible racy behavior
when we assume everything is up and immediately call nova_create_flavors.sh
Ref #225
Change-Id: I87ec0ca31579173cb9218fa79e027fd5b15031f0 Signed-off-by: Steven Hardy <shardy@redhat.com>
Steven Dake [Fri, 7 Sep 2012 20:22:42 +0000 (13:22 -0700)]
Rework functional test case infrasatructure
To support multi-instance, two new classes were made:
Stack - represents a stack
Instance - represents an instance
For multi-instance stacks, create multiple Instance objects
for each instance in the stack.
For each instance in a stack, an instance object can be created which
helps validate the individual instance sets up properly.
test_WordPress_Single_Instance_With_EBS.py fails - see issue #226
Change-Id: Iddec87cd1332a9b5796c5c7e7d382ef723c3544e Signed-off-by: Steven Dake <sdake@redhat.com> Signed-off-by: Tomas Sedovic <tsedovic@redhat.com> Signed-off-by: Ian Main <imain@redhat.com>
Ian Main [Thu, 6 Sep 2012 15:27:45 +0000 (08:27 -0700)]
More EBS fixes.
Single instance with EBS apparently needs an httpd restart in order to
keep talking to mysql after we change the partition. Also change other
EBS templates to use vdc.
Change-Id: I180cca2166a0210d5d8dd3e0aea111ea625b865a Signed-off-by: Ian Main <imain@redhat.com>
Zane Bitter [Thu, 30 Aug 2012 11:32:47 +0000 (13:32 +0200)]
Rename heat-api to heat-api-cfn
The previous heat-api is, in fact, a CloudFormation-compatible API. Rename
it to heat-api-cfn, analogous to how the EC2 API in Nova is named
nova-api-ec2.
Previously stacks could only be referenced by name. Now, use the canonical
stack identifier to act on them. The identifier can be obtained from the
RPC API by looking it up with identify_stack. In the AWS API, the user
can pass an ARN that is converted into an identifier.
This call converts a stack name into a fully-qualified stack identifier.
This allows us to, e.g., add support for keeping deleted stacks around in
the database while still allowing stack names to be reused, since the
deleted stacks can be referenced using this ID.
Update functional test WordPress_Single_Instance_With_EIP
to use the new verify_wordpress which checks that the wordpress
homepage specified in the stack output looks OK
Change-Id: I6b839e95f2c9fc8d89a22c062c393d6f14fb5df9 Signed-off-by: Steven Hardy <shardy@redhat.com>
Steven Hardy [Wed, 5 Sep 2012 09:47:46 +0000 (10:47 +0100)]
heat tests : FuncUtils use heat_client in create_stack
Use heat_client (not subprocess) to create the stack,
as this will allow easier testing of the boto_client
library and easier checking of create_stack result
Change-Id: Ic3f710ec2e467bcd2fde1a2451709d444b89aca0 Signed-off-by: Steven Hardy <shardy@redhat.com>
Update test_WordPress_Single_Instance.py to use the new
verify_wordpress which checks that the wordpress homepage
specified in the stack output looks OK
Change-Id: I9c2c35215ac97f98e62bf1787db3d8645b50c762 Signed-off-by: Steven Hardy <shardy@redhat.com>
Steven Hardy [Mon, 3 Sep 2012 13:04:31 +0000 (14:04 +0100)]
heat tools : add qpid-cpp-server-daemon to tools/openstack
As of qpid-cpp-server-0.16-5 the service scripts have been
moved to a separate qpid-cpp-server-daemon package, so add
this to the list of required packages for openstack install
Fixes : #219
Change-Id: I6c8b53a69953c543df7cd68637e4ff5e4ca495ad Signed-off-by: Steven Hardy <shardy@redhat.com>
Jeff Peeler [Wed, 29 Aug 2012 17:30:47 +0000 (13:30 -0400)]
Add new arguments to run_tests
Execute unit tests and pep8 by default. Allow tests to be chosen in a more
additive fashion. Cleaned up unnecessary let statements and variable
defines.
Change-Id: I40676c5d0deda7bd3abc4bdadfd404f5909c166e Signed-off-by: Jeff Peeler <jpeeler@redhat.com>
Jeff Peeler [Mon, 27 Aug 2012 06:18:53 +0000 (02:18 -0400)]
Functional test improvements
-Move everything out of init so unit tests are not affected.
-Make JEOS creation part of utils class, now tests can choose
which JEOS to use.
-Only attempt to create JEOS if a suitable one is not found in glance.
Change-Id: I162e7447ae1fed17855bdca8eba16ac7f952db01 Signed-off-by: Jeff Peeler <jpeeler@redhat.com>
Steven Dake [Mon, 27 Aug 2012 01:09:43 +0000 (18:09 -0700)]
Make RDS (mysql) wait until setup is finished before proceeding
It is possible a service dependent on RDS may issue commands to
the RDS service before mysql has finished installing. Added
a wait condition to force synchronization.
Change-Id: I6abf2d62e92d19945c587deeb61605df2c97ec85 Signed-off-by: Steven Dake <sdake@redhat.com>
Jeff Peeler [Tue, 21 Aug 2012 20:26:41 +0000 (16:26 -0400)]
Split functional test into standalone and utility class
This allows functional tests to be written for each individual template.
See the test_Wordpress_Single_Instance for an example, but the basic
form to follow is:
Functional test changes:
Changed jeos creation to use new tool.
Added distribution to heat stack creation.
Improved IP parsing from glance.
Improve SSH connection exception handling.
Changed cfntools SHA check to match installed copy instead of locally.
Fixed stack parsing to check correct file and handle user-data injection.
Clean up run_tests a little to make it clear default execution is on host.
Add a short option for unit test running only (may be important due to not
wanting to run functional tests locally).
Also added paramiko to test-requires.
Change-Id: Ib2ae1be32801cb0ee3d1937c4f82ab9f574b4591 Signed-off-by: Jeff Peeler <jpeeler@redhat.com>
Steven Hardy [Wed, 22 Aug 2012 19:14:11 +0000 (20:14 +0100)]
heat DB : make watch_data_get_all work with no watch ID
Align watch_data_get_all with other "all" methods, and
return all watch data without requiring an ID. We may
also need by_id and by_name variants but this is more
consistent and makes things easier for cloudwatch.
Change-Id: I09c90278349efc769ab7c719f686a1fd854b425a Signed-off-by: Steven Hardy <shardy@redhat.com>
Steven Hardy [Wed, 22 Aug 2012 08:54:08 +0000 (09:54 +0100)]
heat API : Add HeatAPINotImplementedError exception
Add heat-specific HeatAPINotImplementedError, which
allows us to return a sensible error to requests for
API actions which have not yet been implemented
Change-Id: Ibaee8312e7e563d29801bd325d7638bca9efa622 Signed-off-by: Steven Hardy <shardy@redhat.com>