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>
Steven Hardy [Wed, 15 Aug 2012 14:16:23 +0000 (15:16 +0100)]
heat cli : Workaround inconsistent boto return type
Work around the inconsistent boto return type for DescribeStackResource
action, upstream patch pending but not yet merged, so this provides
a simple workaround
Fixes #175
Change-Id: I026ec7b1845fb591a47a5fb12cfcb25705b33909 Signed-off-by: Steven Hardy <shardy@redhat.com>
Steven Hardy [Wed, 15 Aug 2012 13:09:54 +0000 (14:09 +0100)]
heat cli : Rework to separate cli tool from client-API wrappers
Rework to remove duplication between heat and heat-boto, and to
provide better separation between the CLI tool logic and the
underlying client API (should allow easier porting to new ReST API)
Ref #175 (partially fixes)
Fixes #192
Change-Id: Ib1f821667c40c78770a345204af923163daeffae Signed-off-by: Steven Hardy <shardy@redhat.com>
Steven Hardy [Mon, 13 Aug 2012 13:31:12 +0000 (14:31 +0100)]
heat templates : Add openshift template for pre-built jeos
Add new openshift template which uses a pre-built JEOS
also creates the example application allowing a fairly
quick full demo of a two-instance openshift setup
Fixes #186
Change-Id: I9bd886b0717c8b0d810eff036b76883b537c2421 Signed-off-by: Steven Hardy <shardy@redhat.com>
Steve Baker [Thu, 2 Aug 2012 05:32:07 +0000 (17:32 +1200)]
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.
Steven Hardy [Wed, 1 Aug 2012 13:27:55 +0000 (14:27 +0100)]
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>
Steven Hardy [Fri, 27 Jul 2012 13:43:37 +0000 (14:43 +0100)]
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>
Steven Hardy [Mon, 30 Jul 2012 17:53:23 +0000 (18:53 +0100)]
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>