Zane Bitter [Fri, 21 Dec 2012 16:47:10 +0000 (17:47 +0100)]
CFN API: Fix DescribeStackResources with physical ID
DescribeStackResources failed when called with a physical resource ID
instead of a stack name. Also add a unit test to alert us to any future
breakage.
Zane Bitter [Fri, 21 Dec 2012 16:25:25 +0000 (17:25 +0100)]
Handle duplicate physical resources IDs
Because the unit tests create multiple stacks in different tenants with the
same physical resource ID, the database lookup code must change to
accomodate this.
This enables us to add a unit test for the describe_stack_resources RPC
API call for the case where we pass a physical resource ID to lookup.
Steven Hardy [Thu, 20 Dec 2012 15:37:29 +0000 (15:37 +0000)]
run_tests.sh fixup venv/novenv logic
The section which prompts y/n for creating a new venv can never be
reached with any combination of CLI options (since always_venv=0 and
never_venv=0 can never happen simultaneously)
This actually makes the --no-virtual-env option pointless, so we may
as well remove it and explicitly set it as the default (it was anyway
previously but by virtue of the never_venv option being undefined)
Change-Id: I3c803533fda55a6814b7536b5c1328312acd3d57 Signed-off-by: Steven Hardy <shardy@redhat.com>
Steven Hardy [Wed, 19 Dec 2012 17:27:49 +0000 (17:27 +0000)]
update tox.ini to pep8 latest (1.3.4)
Most of the core projects are currently 1.3.3, but since 1.3.4 is
the current latest it seemed best to align with the latest.A
Also add a check to run_tests.sh to ensure peoples local tests align
with the new gate version
Zane Bitter [Wed, 19 Dec 2012 18:31:32 +0000 (19:31 +0100)]
Split nested stack implementation into abstract and concrete
Split the Stack resource class into an abstract part from which other
resource types inherit and a concrete implementation of the
AWS::CloudFormation::Stack resource type.
Steven Hardy [Wed, 19 Dec 2012 18:01:15 +0000 (18:01 +0000)]
Avoid logging.getChild for python2.6 compatibility
Tweaking common.config setup_logging to avoid using the getChild()
convenience function means we can run on python 2.6, as getChild was
new in python 2.7
Change-Id: I03698ad09eb16d4f1004512d27b049f22b41c22c Signed-off-by: Steven Hardy <shardy@redhat.com>
Steve Baker [Fri, 14 Dec 2012 01:13:05 +0000 (14:13 +1300)]
A new documention structure, ready for contributions
Here are some skeletons for the documentation which will need to be written.
doc/source
A Sphinx based document which will be aimed at heat developers.
This also contains .rst files which generate the man files
doc/docbkx/api-ref
Docbook and WADL for the REST API, with the intent of moving this
to api-site to publish to api.openstack.org
doc/docbkx/heat-admin
Docbook manual targeted at Heat admins, with the intent of moving this
to openstack-manuals to publish to docs.openstack.org
doc/docbkx/heat-cli
Docbook manual targeted at users of the Heat CLI, with the intent of
moving this to openstack-manuals to publish to docs.openstack.org
Dude, wheres my man pages?
docs/man
is deleted, now generated into doc/build/man
Packaging will need to be updated to generate the man pages
Zane Bitter [Mon, 17 Dec 2012 18:56:23 +0000 (19:56 +0100)]
GettingStarted: Install python-pip package
pip-python is not installed by default, so we need to install it in order
to be able to use it. (An alternative would be to use easy_install, which
is packaged as part of setuputils and therefore already present, but it
lacks any of pip-python's package management capabilities.)
Zane Bitter [Mon, 17 Dec 2012 18:56:22 +0000 (19:56 +0100)]
Fix issues with deleting a WaitCondition
Previously we were ignoring the reference to the WaitConditionHandle stored
in the database by always setting it to None on load. This meant that we
had to try to recreate it on delete, which would fail if e.g. the
WaitConditionHandle had already been deleted.
Steven Hardy [Fri, 14 Dec 2012 09:47:33 +0000 (09:47 +0000)]
install.sh add logic detecting rabbitmq
Detect rabbitmq (On Ubuntu and Fedora), and sed the config files
with appropriate values if it looks like we're installing on a
system with rabbitmq and not the default qpidd
Steven Hardy [Fri, 14 Dec 2012 15:33:40 +0000 (15:33 +0000)]
Add ubuntu version of tools/openstack
Initial version of the tools/openstack install script to simplify install/
testing on Ubuntu - tested on 12.04LTS (with the included Essex packages)
12.10 testing TODO
Steven Hardy [Fri, 14 Dec 2012 09:44:03 +0000 (09:44 +0000)]
install.sh simplify heat-engine.conf conditional
Minor tweak to the conditional detecting heat-engine.conf to sed in the
encryption key - this will allow rabbitmq detection to only be done in
one place
Steven Hardy [Wed, 12 Dec 2012 15:01:54 +0000 (15:01 +0000)]
heat cfn api, format waitcondition error responses correctly
Return errors from the waitcondition part of the CFN API in a similar
format to other CFN API responses, by catching engine errors and mapping
the error to an appropriate HeatAPIException.
Steven Hardy [Wed, 12 Dec 2012 14:59:02 +0000 (14:59 +0000)]
Override events for AutoScalingGroup instances
Override state-transition events by subclassing the Instance
resource to AutoScalingGroupInstance, this avoids problems where
events can't lookup the resource via parser.Stack (since these
resources aren't "real" resources defined in the template)
Zane Bitter [Wed, 12 Dec 2012 12:47:33 +0000 (13:47 +0100)]
Don't allow slashes in Stack or Resource names
There is no way for the ReST API to handle Stack or Resource names that
contain slashes since WSGI decodes the path before passing it to the
application, such that even correctly url-encoded slashes are
indistinguishable from path separators. Therefore, prohibit slashes in
Stack and Resource names.
Zane Bitter [Tue, 11 Dec 2012 19:23:36 +0000 (20:23 +0100)]
Get rid of glanceclient dependency
We're not actually using it anywhere, and its keystoneclient version
requirements are causing us not to be able to install. Move it instead to
the test-requires, since the functional tests are still actually using it.
Steven Hardy [Fri, 7 Dec 2012 17:16:04 +0000 (17:16 +0000)]
heat-db-setup read engine config file for DB connection details
Currently heat-db-setup, or rather the underlying python -m heat.db.sqlalchemy.manage
has a hard-coded database connection URL, so DB setup will fail if a non-default
configuration exists in /etc/heat/heat-engine.conf.
This attempts to read the sql_connection from the DEFAULT section of heat-engine.conf
falling back to the old default string on failure.
Zane Bitter [Fri, 7 Dec 2012 16:40:26 +0000 (17:40 +0100)]
Don't get nested stacks by name
Don't return nested stacks from stack_get_by_name(). This prevented the
user creating a stack with the same name as a nested stack, and was a
temporary workaround for the metadata server (see be3c066ab87cc6e1a2ca8c097eeccd9217d7329a)
Steven Hardy [Fri, 7 Dec 2012 09:48:51 +0000 (09:48 +0000)]
heat : Clarify openstack versions for Fedora releases
Update getting started to clarify which versions of openstack are
expected to work with each Fedora version - I tested F18 alpha and
things worked OK, so now F18 is beta things should work on F18, and
I've been running F17+folsom preview for quite a while with no problem
Change-Id: I0610e69ec22ca399cec21bc67f72dc10cb6c4597 Signed-off-by: Steven Hardy <shardy@redhat.com>