]> review.fuel-infra Code Review - openstack-build/heat-build.git/log
openstack-build/heat-build.git
12 years agoheat tests : bugfix FuncUtils check StackId not StackName
Steven Hardy [Thu, 6 Sep 2012 10:41:15 +0000 (11:41 +0100)]
heat tests : bugfix FuncUtils check StackId not StackName

CreateStack response no longer contains StackName, so
we need to parse the StackId and extract the name from
the new ARN format

Change-Id: If55ff286c98e8396a14fa4ee2b08622faa680a03
Signed-off-by: Steven Hardy <shardy@redhat.com>
12 years agoheat templates : Add default LinuxDistribution parameter
Steven Hardy [Thu, 6 Sep 2012 10:01:10 +0000 (11:01 +0100)]
heat templates : Add default LinuxDistribution parameter

Add default value to LinuxDistribution template parameter
for MySQL_Single_Instance.template

Change-Id: I6431b717dee700f9db588ddbaf58511d0a3b107c
Signed-off-by: Steven Hardy <shardy@redhat.com>
12 years agoFix identify_stack call
Zane Bitter [Thu, 6 Sep 2012 10:37:24 +0000 (12:37 +0200)]
Fix identify_stack call

It needs to return a dictionary in order for the result to be converted to
JSON.

Change-Id: Ieef360fd6872624325470fab626d371ed28535e6
Signed-off-by: Zane Bitter <zbitter@redhat.com>
12 years agoMerge "Add a newline to user data injection."
Jenkins [Thu, 6 Sep 2012 04:13:49 +0000 (04:13 +0000)]
Merge "Add a newline to user data injection."

12 years agoModify to use systemctl and move func_utils outside of setUp
Jeff Peeler [Thu, 6 Sep 2012 02:47:18 +0000 (22:47 -0400)]
Modify to use systemctl and move func_utils outside of setUp

Change-Id: I420991fa4e881f6f9fadd0add02a9d1493240dfc
Signed-off-by: Jeff Peeler <jpeeler@redhat.com>
12 years agoAdd a newline to user data injection.
Ian Main [Thu, 6 Sep 2012 02:00:54 +0000 (19:00 -0700)]
Add a newline to user data injection.

If no newline is present at the end of the user-data section of the
template, the addition of the touch command will cause the last
line to break.

Change-Id: I15ba402f83f6fba03f7d0455a63a5dc03480973d
Signed-off-by: Ian Main <imain@redhat.com>
12 years agoFix pep8 warning
Angus Salkeld [Thu, 30 Aug 2012 01:41:25 +0000 (11:41 +1000)]
Fix pep8 warning

Change-Id: Ia0b4336e7e861fefc7afebc99a3c6ddf48841d71
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
12 years agoSupport lookup of stacks by name or ARN
Zane Bitter [Wed, 5 Sep 2012 19:51:25 +0000 (21:51 +0200)]
Support lookup of stacks by name or ARN

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.

Change-Id: I29309d12e522ed301c3f6269df5d1d14382b024b
Signed-off-by: Zane Bitter <zbitter@redhat.com>
12 years agoAdd an identify_stack RPC call
Zane Bitter [Wed, 5 Sep 2012 19:51:25 +0000 (21:51 +0200)]
Add an identify_stack RPC call

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.

Change-Id: Ide19841a92a25d2f6172f19c2627d24ab6d2fd63
Signed-off-by: Zane Bitter <zbitter@redhat.com>
12 years agoReport StackId in ARN format
Zane Bitter [Wed, 5 Sep 2012 19:51:25 +0000 (21:51 +0200)]
Report StackId in ARN format

In the RPC API, return a full stack identifier instead of just the database
ID of a stack. In the AWS API, convert this to an ARN for the user.

Change-Id: I5c3ede4885c4ac5801cfef49e05695f3d13622da
Signed-off-by: Zane Bitter <zbitter@redhat.com>
12 years agoCreate a unique identifier for stacks
Zane Bitter [Wed, 5 Sep 2012 19:51:25 +0000 (21:51 +0200)]
Create a unique identifier for stacks

Change-Id: I1517502a2a5d9a96803565297315e7b276f2e974
Signed-off-by: Zane Bitter <zbitter@redhat.com>
12 years agoUse assertEqual() instead of assert_()
Zane Bitter [Wed, 5 Sep 2012 19:51:25 +0000 (21:51 +0200)]
Use assertEqual() instead of assert_()

assertEqual(x, y) reports helpful error messages, unlike assert_(x == y)
which reports only that False is not True.

Change-Id: Idbea59dc4dbbe4ac00bad6f358896fbc9401acab
Signed-off-by: Zane Bitter <zbitter@redhat.com>
12 years agoheat tests : add functional test for Wordpress RDS
Steven Hardy [Wed, 5 Sep 2012 15:26:27 +0000 (16:26 +0100)]
heat tests : add functional test for Wordpress RDS

Add functional test for WordPress_With_RDS template

Fixes: #215
Change-Id: I0613c40e218acaab987a2b0e0df7737cb6f6b6b3
Signed-off-by: Steven Hardy <shardy@redhat.com>
12 years agoheat tests : convert functional test to class
Steven Hardy [Wed, 5 Sep 2012 14:13:59 +0000 (15:13 +0100)]
heat tests : convert functional test to class

Covert test_WordPress_Single_Instance_With_EIP to be nose
unittest.TestCase subclass, so run_tests.sh outputs a more
informative test identifier

Change-Id: I21968b4ae9e0e8f7bc1ef9d3f6db0433f106826a
Signed-off-by: Steven Hardy <shardy@redhat.com>
12 years agoheat tests : update WordPress_Single_Instance_With_EIP
Steven Hardy [Wed, 5 Sep 2012 13:39:44 +0000 (14:39 +0100)]
heat tests : update WordPress_Single_Instance_With_EIP

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>
12 years agoheat tests : convert functional test to testcase class
Steven Hardy [Wed, 5 Sep 2012 13:20:19 +0000 (14:20 +0100)]
heat tests : convert functional test to testcase class

Covert test_WordPress_Single_Instance to be nose unittest.TestCase
subclass, so run_tests.sh outputs a more informative test identifier

Change-Id: I19fe8565d99253cabcbc93d2f003c69d953be615
Signed-off-by: Steven Hardy <shardy@redhat.com>
12 years agoheat tests : FuncUtils use heat_client in create_stack
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>
12 years agoheat tests : FuncUtils cleanup use heat_client
Steven Hardy [Tue, 4 Sep 2012 18:03:24 +0000 (19:03 +0100)]
heat tests : FuncUtils cleanup use heat_client

Use heat_client calls (not subprocess) in cleanup

Change-Id: Ie622d22af66ce00272df975823a74a8fa7bd25c8
Signed-off-by: Steven Hardy <shardy@redhat.com>
12 years agoMerge "Add functional test for HA template"
Jenkins [Wed, 5 Sep 2012 12:33:29 +0000 (12:33 +0000)]
Merge "Add functional test for HA template"

12 years agoheat tests : test_WordPress_Single_Instance.py update
Steven Hardy [Tue, 4 Sep 2012 16:25:29 +0000 (17:25 +0100)]
heat tests : test_WordPress_Single_Instance.py update

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>
12 years agoheat tests : Add verify_wordpress helper function
Steven Hardy [Tue, 4 Sep 2012 16:18:37 +0000 (17:18 +0100)]
heat tests : Add verify_wordpress helper function

Functional tests : Add a new VerifyStack class and retry decorator,
which allows easy implementation of tests for stack successful creation.

Initial simple verify_wordpress function scrapes a wordpress homepage
and looks for a known string in the html result.

Change-Id: I32bd4bea04228c4f393894c65d040d55c65ddbca
Signed-off-by: Steven Hardy <shardy@redhat.com>
12 years agoheat tests : FuncUtils add get_stack_output function
Steven Hardy [Tue, 4 Sep 2012 16:08:34 +0000 (17:08 +0100)]
heat tests : FuncUtils add get_stack_output function

Add a function to FuncUtils which allows us to easily parse
the stack outputs defined in a template

Change-Id: Ie1891cb11f54d019315350d449bdc5e22e340458
Signed-off-by: Steven Hardy <shardy@redhat.com>
12 years agoMerge "heat tools : add qpid-cpp-server-daemon to tools/openstack"
Jenkins [Tue, 4 Sep 2012 16:02:21 +0000 (16:02 +0000)]
Merge "heat tools : add qpid-cpp-server-daemon to tools/openstack"

12 years agoFix support for eventlet 0.9.16
Tomas Sedovic [Mon, 3 Sep 2012 14:59:57 +0000 (16:59 +0200)]
Fix support for eventlet 0.9.16

The changes in c7059ae54ef2712e7599a6de30a631d3a0bb6bd2 were not enough
to provide compatibility with 0.9.16 and 0.9.17.ith 0.9.16 and 0.9.17.

Change-Id: Id1ddc988443e162f1c835505b619b7b45e86578d
Signed-off-by: Tomas Sedovic <tomas@sedovic.cz>
12 years agoheat tools : add qpid-cpp-server-daemon to tools/openstack
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>
12 years agoAdd functional test for HA template
Angus Salkeld [Tue, 28 Aug 2012 03:16:32 +0000 (13:16 +1000)]
Add functional test for HA template

Change-Id: I6d3304b807492e7041264402d161365447fa6ce1
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
12 years agoheat : run_tests.sh allow easier test selection
Steven Hardy [Fri, 31 Aug 2012 12:49:40 +0000 (13:49 +0100)]
heat : run_tests.sh allow easier test selection

Allow each category of test (unit/funtional/pep) to be
more easily selected via CLI options, default with no args
remains unit+pep8

Change-Id: I85bbe0afe6170559a42f8c1619db24df16c6d9b0
Signed-off-by: Steven Hardy <shardy@redhat.com>
12 years agoheat cli : initial heat-watch cloudwatch API client
Steven Hardy [Wed, 22 Aug 2012 09:30:46 +0000 (10:30 +0100)]
heat cli : initial heat-watch cloudwatch API client

Implements new client to demonstrate new Cloudwatch API

Currently only provides options for DescribeAlarms,
ListMetrics, PutMetricData and SetAlarmState

Signed-off-by: Steven Hardy <shardy@redhat.com>
Change-Id: I3963a07694cec9af96d9d7369cc7d18d629fcd2d

12 years agoheat API : Implement initial CloudWatch API
Steven Hardy [Wed, 22 Aug 2012 09:30:03 +0000 (10:30 +0100)]
heat API : Implement initial CloudWatch API

Initial AWS-compatible CloudWatch API implementation
Supports the following API actions:
- DescribeAlarms : describe alarm/watch details
- ListMetrics : List watch metric datapoints
- PutMetricData : Create metric datapoint
- SetAlarmState : temporarily set alarm state

Skeleton implementation of all other TODO actions which
returns HeatAPINotImplementedError.

Only basic filtering parameters supported at this time.

Signed-off-by: Steven Hardy <shardy@redhat.com>
Change-Id: I8628854a135fff07b675e85150ea0b50184ed2e1

12 years agoMerge "Add new functional test for WordPress_Single_Instance_With_EIP"
Jenkins [Fri, 31 Aug 2012 15:25:47 +0000 (15:25 +0000)]
Merge "Add new functional test for WordPress_Single_Instance_With_EIP"

12 years agoMerge "Connect to heat client, add accessor method, and fix ip check"
Jenkins [Fri, 31 Aug 2012 15:24:36 +0000 (15:24 +0000)]
Merge "Connect to heat client, add accessor method, and fix ip check"

12 years agoMerge "Add new methods to get access to nova/glance clients"
Jenkins [Fri, 31 Aug 2012 15:23:30 +0000 (15:23 +0000)]
Merge "Add new methods to get access to nova/glance clients"

12 years agoMerge "Make sure the functional test always cleans up"
Jenkins [Fri, 31 Aug 2012 15:22:08 +0000 (15:22 +0000)]
Merge "Make sure the functional test always cleans up"

12 years agoheat engine : Add set_watch_state engine RPC action
Steven Hardy [Thu, 30 Aug 2012 12:56:47 +0000 (13:56 +0100)]
heat engine : Add set_watch_state engine RPC action

Add set_watch_state which allows a watch/alarm state
to be temporarily overridden, simplified asynchronous
version following review/discussion

Change-Id: I9f1424007fc16d1cec2f7dc504600455fe5ab3bb
Signed-off-by: Steven Hardy <shardy@redhat.com>
12 years agoheat engine : Expose valid watch states via engine.api
Steven Hardy [Wed, 29 Aug 2012 14:11:06 +0000 (15:11 +0100)]
heat engine : Expose valid watch states via engine.api

Expose valid watch states via engine.api

Change-Id: I26a1d8939ce75a0be88e646858f3f3b4feb5e8d0
Signed-off-by: Steven Hardy <shardy@redhat.com>
12 years agoAdd new functional test for WordPress_Single_Instance_With_EIP
Jeff Peeler [Fri, 31 Aug 2012 05:57:37 +0000 (01:57 -0400)]
Add new functional test for WordPress_Single_Instance_With_EIP

Change-Id: I483c5c32b9c29dc966bd154d760108292fcdbf5f
Signed-off-by: Jeff Peeler <jpeeler@redhat.com>
12 years agoConnect to heat client, add accessor method, and fix ip check
Jeff Peeler [Fri, 31 Aug 2012 05:19:39 +0000 (01:19 -0400)]
Connect to heat client, add accessor method, and fix ip check

Search server list for IP based on the PhysicalResourceId, not an arbitrary
server name. Wait until stack create event before obtaining value.

Change-Id: Ie9e3df5369132dbf668f8b42cd10a7f2faec1922
Signed-off-by: Jeff Peeler <jpeeler@redhat.com>
12 years agoAdd new methods to get access to nova/glance clients
Jeff Peeler [Thu, 30 Aug 2012 15:38:09 +0000 (11:38 -0400)]
Add new methods to get access to nova/glance clients

Change-Id: I5be8d7d57d021635422035742f59acdaeb8b409a
Signed-off-by: Jeff Peeler <jpeeler@redhat.com>
12 years agoMake sure the functional test always cleans up
Tomas Sedovic [Thu, 30 Aug 2012 13:44:41 +0000 (15:44 +0200)]
Make sure the functional test always cleans up

Change-Id: I740f676452905d3aceb3d2df37e4c4cdb6b81d7e
Signed-off-by: Tomas Sedovic <tomas@sedovic.cz>
12 years agoheat API : add get_param_value to API utils
Steven Hardy [Tue, 28 Aug 2012 18:25:28 +0000 (19:25 +0100)]
heat API : add get_param_value to API utils

Add get_param_value helper to common aws API utils

Change-Id: I69ab3ed1e34f8691457f3d986b4af06b1d381039
Signed-off-by: Steven Hardy <shardy@redhat.com>
12 years agoAdd new arguments to run_tests
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>
12 years agoRefactor reformat_dict_keys()
Zane Bitter [Wed, 29 Aug 2012 17:12:48 +0000 (19:12 +0200)]
Refactor reformat_dict_keys()

This way is a little more Pythonic.

Change-Id: Ib48d0e9b7e8a4ed6e220c645a29510c893e97419
Signed-off-by: Zane Bitter <zbitter@redhat.com>
12 years agoRefactor extract_param_pairs()
Zane Bitter [Wed, 29 Aug 2012 17:35:12 +0000 (19:35 +0200)]
Refactor extract_param_pairs()

Implement it in terms of the more general extract_param_list().

Change-Id: Ifbf0dd8205da87e707610c0b8cb0ca616d7b2e22
Signed-off-by: Zane Bitter <zbitter@redhat.com>
12 years agoRefactor extract_param_list()
Zane Bitter [Wed, 29 Aug 2012 14:10:31 +0000 (16:10 +0200)]
Refactor extract_param_list()

Change-Id: Ia338c7c4a17af90885b1c83297d32a61d2177ecd
Signed-off-by: Zane Bitter <zbitter@redhat.com>
12 years agoAdd link to RPM repository in getting started
Jeff Peeler [Tue, 28 Aug 2012 19:23:44 +0000 (15:23 -0400)]
Add link to RPM repository in getting started

Change-Id: I79fcc10b2594b977097d7d91022cbd50adcc9167
Signed-off-by: Jeff Peeler <jpeeler@redhat.com>
12 years agoheat API : Add api.aws.utils.extract_param_list
Steven Hardy [Thu, 23 Aug 2012 17:21:07 +0000 (18:21 +0100)]
heat API : Add api.aws.utils.extract_param_list

Add new common helper function which extracts
AWS parameter lists

Change-Id: Ic77ff6014a4f39d4fb5d59a1391f87cdd94f0f7f
Signed-off-by: Steven Hardy <shardy@redhat.com>
12 years agoheat tests : rename test_stacks
Steven Hardy [Tue, 28 Aug 2012 08:35:20 +0000 (09:35 +0100)]
heat tests : rename test_stacks

Rename test_stacks.py to test_engine_manager.py
as this better reflects what is being tested

Change-Id: I612351286fbb008b2be3db7519f0a24ab9d2d8e2
Signed-off-by: Steven Hardy <shardy@redhat.com>
12 years agoheat tests : add test for new manager show_watch_metric method
Steven Hardy [Tue, 28 Aug 2012 08:33:01 +0000 (09:33 +0100)]
heat tests : add test for new manager show_watch_metric method

Add unit tests for new manager show_watch_metric action

Change-Id: Ie1b7c0a0e1eb5c7e5fad74674b1a9669bf7c9a1c
Signed-off-by: Steven Hardy <shardy@redhat.com>
12 years agoheat tests : add tests for new manager show_watch method
Steven Hardy [Fri, 24 Aug 2012 15:33:19 +0000 (16:33 +0100)]
heat tests : add tests for new manager show_watch method

Add unit test for new show_watch engine action

Change-Id: I00153f258687e02837b901c399df51085bb34303
Signed-off-by: Steven Hardy <shardy@redhat.com>
12 years agoheat engine : bugfix show_watch, fix single-watch mode
Steven Hardy [Fri, 24 Aug 2012 15:30:39 +0000 (16:30 +0100)]
heat engine : bugfix show_watch, fix single-watch mode

When called with watch_name!=None we need to wrap the
watch_rule_get response in a list

Change-Id: I83bbe816758767afd3eb49b090b0b652036cad60
Signed-off-by: Steven Hardy <shardy@redhat.com>
12 years agoheat tests : add new engine rpcapi unit tests
Steven Hardy [Fri, 24 Aug 2012 12:22:16 +0000 (13:22 +0100)]
heat tests : add new engine rpcapi unit tests

Add tests for new watch engine methods

Change-Id: Icbfc900d7578d7d0f8cd9024d8a5b57a9695c0a4
Signed-off-by: Steven Hardy <shardy@redhat.com>
12 years agoAdd test-requires in RPM package list form
Jeff Peeler [Mon, 27 Aug 2012 20:33:59 +0000 (16:33 -0400)]
Add test-requires in RPM package list form

This is to allow automated installation of dependences since functional
tests are not going to be run with packages from pip.

Change-Id: Ia9f74bc353bab79d7c78cb086210d8628d701387
Signed-off-by: Jeff Peeler <jpeeler@redhat.com>
12 years agoMerge "Functional test improvements"
Jenkins [Mon, 27 Aug 2012 14:46:51 +0000 (14:46 +0000)]
Merge "Functional test improvements"

12 years agoMerge "Fix the Timeout/Interval check in the LB."
Jenkins [Mon, 27 Aug 2012 09:54:20 +0000 (09:54 +0000)]
Merge "Fix the Timeout/Interval check in the LB."

12 years agoMerge "Set the max url length in eventlet 0.9.17"
Jenkins [Mon, 27 Aug 2012 08:35:23 +0000 (08:35 +0000)]
Merge "Set the max url length in eventlet 0.9.17"

12 years agoSet the max url length in eventlet 0.9.17
Tomas Sedovic [Wed, 22 Aug 2012 14:45:27 +0000 (16:45 +0200)]
Set the max url length in eventlet 0.9.17

The version with configurable url limit was released and packaged for
Fedora 17.

The monkey-patch does not work on new eventlet.

ref #55
fixes #197

Change-Id: I728cc3b0851261667bb9b07220c855bced1344a4
Signed-off-by: Tomas Sedovic <tomas@sedovic.cz>
12 years agoFunctional test improvements
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>
12 years agoFix the Timeout/Interval check in the LB.
Angus Salkeld [Mon, 27 Aug 2012 05:09:06 +0000 (15:09 +1000)]
Fix the Timeout/Interval check in the LB.

http://docs.amazonwebservices.com/ElasticLoadBalancing/latest/APIReference/API_HealthCheck.html

Fixes: #198
Change-Id: I3ec3e5a946e32695f3f9b0930b922837ab80ea66
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
12 years agoFix the way self.properties is checked for a value.
Angus Salkeld [Mon, 27 Aug 2012 04:02:26 +0000 (14:02 +1000)]
Fix the way self.properties is checked for a value.

The following only checks if the key is in the properties, and
all schema keys are, so it is not the way to check if a value
has been set.

if 'DesiredCapacity' in self.properties:
change to:
if self.properties:

Fixes: #199
Change-Id: I6bcb3e74420031532dc249aafe85d5a428d0a80e
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
12 years agoMake RDS (mysql) wait until setup is finished before proceeding
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>
12 years agoPut selinux in permissive mode by default via a runcmd in cloudconfig
Steven Dake [Mon, 27 Aug 2012 00:00:12 +0000 (17:00 -0700)]
Put selinux in permissive mode by default via a runcmd in cloudconfig

Change-Id: I7db02a967de9a3e85876901163f7611196a9429f
Signed-off-by: Steven Dake <sdake@redhat.com>
12 years agoheat API : make extract_user_params more generic
Steven Hardy [Thu, 23 Aug 2012 15:14:43 +0000 (16:14 +0100)]
heat API : make extract_user_params more generic

Make api.aws.utils.extract_user_params into a more
generic aws-format-list-extraction function

Change-Id: If6811ea1a138ddff96542f983397852dfbd483fd
Signed-off-by: Steven Hardy <shardy@redhat.com>
12 years agoheat engine : Add show_watch_metric RPC action
Steven Hardy [Wed, 22 Aug 2012 13:11:52 +0000 (14:11 +0100)]
heat engine : Add show_watch_metric RPC action

Adds show_watch_metric, which allow alarm/watch
metric data to be retrieved from the engine

Change-Id: Ie69691dbf781016e6262bbbabbe57f9c3396a5d5
Signed-off-by: Steven Hardy <shardy@redhat.com>
12 years agoheat engine : add show_watch RPC method
Steven Hardy [Tue, 21 Aug 2012 16:33:49 +0000 (17:33 +0100)]
heat engine : add show_watch RPC method

Add new show_watch RPC method, to allow retrieval
of information related to watches for cloudwatch

Change-Id: Ib434c80cf6cfab7f2cba972d5316f0ed2bbcbf30
Signed-off-by: Steven Hardy <shardy@redhat.com>
12 years agoMerge "Split functional test into standalone and utility class"
Jenkins [Thu, 23 Aug 2012 23:09:22 +0000 (23:09 +0000)]
Merge "Split functional test into standalone and utility class"

12 years agoSplit functional test into standalone and utility class
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:

import util

def test_template():
    func_utils = util.FuncUtils()

    func_utils.create_stack(template, 'F17')
    func_utils.check_cfntools()
    func_utils.wait_for_provisioning()
    func_utils.check_user_data(template)

    ssh = func_utils.get_ssh_client()

    # test stuff here

    func_utils.cleanup()

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>
12 years agoheat DB : make watch_data_get_all work with no watch ID
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>
12 years agoheat API : Add HeatAPINotImplementedError exception
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>
12 years agoheat API : Move aws api common code into aws/utils.py
Steven Hardy [Tue, 21 Aug 2012 10:52:24 +0000 (11:52 +0100)]
heat API : Move aws api common code into aws/utils.py

Move heat-api AWS common utility functions into a new
utils.py, so these functions can be reused by cloudwatch

Change-Id: I030d796b1048ffc4e7c40f7c8760121ab2854733
Signed-off-by: Steven Hardy <shardy@redhat.com>
12 years agoheat API : move remote_error to common exception.py
Steven Hardy [Tue, 21 Aug 2012 10:14:18 +0000 (11:14 +0100)]
heat API : move remote_error to common exception.py

Move API exception-mapping function to the common exception.py

Change-Id: If64511be0d77d9c9f9e610bbb0564d57f4530499
Signed-off-by: Steven Hardy <shardy@redhat.com>
12 years agoheat API : move aws common files from api/v1 to api/aws
Steven Hardy [Tue, 21 Aug 2012 10:01:25 +0000 (11:01 +0100)]
heat API : move aws common files from api/v1 to api/aws

Move aws api common files to common directory
(so they can be more easily reused by cloudwatch)

Change-Id: I1a455ef11226dd960503bac5d79fa5c28607a1f6
Signed-off-by: Steven Hardy <shardy@redhat.com>
12 years agoheat engine : Fix engine.api variable shadowing
Steven Hardy [Tue, 21 Aug 2012 09:48:33 +0000 (10:48 +0100)]
heat engine : Fix engine.api variable shadowing

Fix weird-looking/confusing variable shadowing in
the engine api

Change-Id: Ic7aca18ef877149bbdb49ee33abc62241706a3f3
Signed-off-by: Steven Hardy <shardy@redhat.com>
12 years agoheat tools : glance-jeos-add-from-github avoid duplicates
Steven Hardy [Mon, 20 Aug 2012 12:01:23 +0000 (13:01 +0100)]
heat tools : glance-jeos-add-from-github avoid duplicates

Avoid adding images to glance when they already exist

Change-Id: Ia914cc3015fcdcc0c12e3773985298fce6872751
Signed-off-by: Steven Hardy <shardy@redhat.com>
12 years agoheat tools : glance-jeos-add-from-github scrape image names
Steven Hardy [Mon, 20 Aug 2012 11:46:23 +0000 (12:46 +0100)]
heat tools : glance-jeos-add-from-github scrape image names

Scrape image names from github index page to avoid hard-coded
names in the script

Change-Id: Ifca85b71a1c20d436486a80cc5e9347a7791e5fa
Signed-off-by: Steven Hardy <shardy@redhat.com>
12 years agoInject command into userdata
Jeff Peeler [Fri, 17 Aug 2012 19:36:28 +0000 (15:36 -0400)]
Inject command into userdata

The injected command touches /var/lib/cloud/instance/provision-finished
so it is easily determinable if provision has been completed.

Change-Id: Ib5b93f7bd14f533af41182ffdab6a029a3b9e13a
Signed-off-by: Jeff Peeler <jpeeler@redhat.com>
12 years agoAdd a tool to register prebuilt JEOS images into glance from github
Steven Dake [Fri, 17 Aug 2012 17:11:21 +0000 (10:11 -0700)]
Add a tool to register prebuilt JEOS images into glance from github

Change-Id: Idb02e892f390516557c9cce3ca0fbab7109d33e1
Signed-off-by: Steven Dake <sdake@redhat.com>
12 years agoheat template : Align two Openshift template varieties
Steven Hardy [Wed, 15 Aug 2012 16:11:56 +0000 (17:11 +0100)]
heat template : Align two Openshift template varieties

Align the build-from-scratch Openshift.template with the
now-working OpenShift_Prebuilt_JEOS.template

Change-Id: I8d164b0837b4cb28a6ce4ad1573b19f8daf68b8a
Signed-off-by: Steven Hardy <shardy@redhat.com>
12 years agoUse cached keystoneclient
Steven Dake [Thu, 16 Aug 2012 17:50:05 +0000 (10:50 -0700)]
Use cached keystoneclient

Change-Id: I787edd10bcc29746a08878fd371204f81f0400db
Signed-off-by: Steven Dake <sdake@redhat.com>
12 years agoheat cli : Workaround inconsistent boto return type
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>
12 years agoheat cli : Rework to separate cli tool from client-API wrappers
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>
12 years agoheat cli : remove some duplication from parameter formatting
Steven Hardy [Tue, 14 Aug 2012 16:27:16 +0000 (17:27 +0100)]
heat cli : remove some duplication from parameter formatting

Cleanup - bin/heat move some duplicated code into a function

Change-Id: Ib74077c557a2b8d7c640ee1686237bb5223b2a85
Signed-off-by: Steven Hardy <shardy@redhat.com>
12 years agoheat cli : remove unused paths from heat cli tool
Steven Hardy [Tue, 14 Aug 2012 16:15:08 +0000 (17:15 +0100)]
heat cli : remove unused paths from heat cli tool

Cleanup the the jeos and cfntools paths which are no longer needed

Change-Id: Idc7d37446a0072e38369939cbd3fd5fb374c15c9
Signed-off-by: Steven Hardy <shardy@redhat.com>
12 years agoUpdate Getting started to match change to heat-jeos
Steven Dake [Tue, 14 Aug 2012 16:07:44 +0000 (09:07 -0700)]
Update Getting started to match change to heat-jeos

heat-jeos list will no longer list jeos in the image name.  As a result,
we can't specify "-jeos" in the getting started guide.

Signed-off-by: Steven Dake <sdake@redhat.com>
12 years agoheat api : bugfix, save config correctly in EC2Token
Steven Hardy [Tue, 14 Aug 2012 14:56:13 +0000 (15:56 +0100)]
heat api : bugfix, save config correctly in EC2Token

Fix issue where EC2Token fails to save the config correctly,
which breaks AWS Authentication

Fixes #191

Change-Id: I77dfe182aac81c55b7d487d88073b40eac1faadd
Signed-off-by: Steven Hardy <shardy@redhat.com>
12 years agoheat templates : Add openshift template for pre-built jeos
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>
12 years agoGetting Started: Add configuration info for the metadata server
Zane Bitter [Mon, 13 Aug 2012 11:54:52 +0000 (13:54 +0200)]
Getting Started: Add configuration info for the metadata server

Change-Id: Ie99bfd1c5e7bcaedd7757872d7d618d2cf29b137
Signed-off-by: Zane Bitter <zbitter@redhat.com>
12 years agoGetting Started: Use install.sh script
Zane Bitter [Fri, 10 Aug 2012 17:16:01 +0000 (19:16 +0200)]
Getting Started: Use install.sh script

Change-Id: I7f189f8d3e0557503eca23a5489a98589bfff4f3
Signed-off-by: Zane Bitter <zbitter@redhat.com>
12 years agoMake template params resolution standalone
Tomas Sedovic [Mon, 13 Aug 2012 13:59:49 +0000 (15:59 +0200)]
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>
12 years agoMerge "change amd64 reference to x86_64 to match latest cfntools"
Jenkins [Fri, 10 Aug 2012 19:06:22 +0000 (19:06 +0000)]
Merge "change amd64 reference to x86_64 to match latest cfntools"

12 years agochange amd64 reference to x86_64 to match latest cfntools
Steven Dake [Fri, 10 Aug 2012 18:39:31 +0000 (11:39 -0700)]
change amd64 reference to x86_64 to match latest cfntools

Change-Id: I11f4bd974326c7f1b4e287389b22c5ec3f20bdf9
Signed-off-by: Steven Dake <sdake@redhat.com>
12 years agoRemove crankcase patch since fix was merged upstream
Steven Dake [Wed, 8 Aug 2012 21:58:51 +0000 (14:58 -0700)]
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>
12 years agoAdd calculate_properties() to update() and restart_resource()
Angus Salkeld [Mon, 6 Aug 2012 07:17:31 +0000 (17:17 +1000)]
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>
12 years agoMerge "Log all startup operations to /var/log/heat-startup.log"
Jenkins [Sat, 4 Aug 2012 03:14:00 +0000 (03:14 +0000)]
Merge "Log all startup operations to /var/log/heat-startup.log"

12 years agoForce rpm to retry indefinately during crankcase build
Steven Dake [Sat, 4 Aug 2012 02:31:22 +0000 (19:31 -0700)]
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>
12 years agoLog all startup operations to /var/log/heat-startup.log
Steven Dake [Fri, 3 Aug 2012 23:42:46 +0000 (16:42 -0700)]
Log all startup operations to /var/log/heat-startup.log

Change-Id: I0e7f415e7aee60c09d0b5b172742af7a5b313191
Signed-off-by: Steven Dake <sdake@redhat.com>
12 years agoPort existing rpc calls to use the new RPC client API.
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.

12 years agoImplements a client side engine RPC API.
Steve Baker [Fri, 27 Jul 2012 09:57:59 +0000 (21:57 +1200)]
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

12 years agoheat templates : update Openshift template to add node instance
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>
12 years agoheat : Make instance flavors consistent
Steven Hardy [Thu, 2 Aug 2012 13:37:13 +0000 (14:37 +0100)]
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>
12 years agoheat engine : raise appropriate error for incorrect stack_name
Steven Hardy [Thu, 2 Aug 2012 12:15:53 +0000 (13:15 +0100)]
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>