There are too many **NotFound exception classes defined
in exception.py. This patch will define a general notfound
exception: EntityNotFound. And will use it instead of
Currently heat supports to create CFN template based on
the given resource type. And this patch adds an option
to allow user to specify template type to generate(support
HOT template at the same time).
This patch removes the 'author' tag which now fails to pass PEP8 tests
and also adds some missing newlines in source files. These newly found
PEP8 errors are blocking us from merging code.
Faultwrap exposes tracebacks in error messages when Oslo.messaging
cannot add a _remote suffix to the exception generated by the Heat
Implementation of oslo.versionedobjects.
This commit consists basic mechanism and first objects.
This should be base of implementation versoning to other objects
Implements: blueprint versioned-objects
Co-Authored-By: ShaoHe Feng <firstname.lastname@example.org>
Co-Authored-By: Grzegorz Grasza <email@example.com>
This patch is adding more checking to integer type parameters at the API
layer. It also adds a missing test case for the 'limit' parameter used in
This patch adds a utility function for checking the int type parameters
passed to the API layer. A test case is included for this utility
function. To exemplify how to use it, the events controller is revised
to make use of this function. The plan is to add this checking to all
int type parameters at API layer.
In order to support compatibility between functools.wraps
in version 2 and 3 (3.4 or later) functools.wraps was replaced
by six.wraps. The behaviour of sixdecorator is exaclty the same
but it also supports __wrapped__ attribute according to
The oslo-incubator log modlule has been removed, so port to the oslo_log
library. Note this uses the new (non namespaced, e.g oslo.log) import
convention, we'll need to align other imports in a future commit.
Some import reordering was required due to pedantic H30 checks, and
the services have all been converted to initialize the oslo_log library
as this is done differently to the log.py in incubator.
When keystone is deployed behind SSL, the ec2_authtoken options doesn't
have a way to include the same SSL options that the various clients use,
so it's not possible to authenticate tokens.
Capability to handle SSL options is added. ec2token makes use of HTTP
request object from httplib. Config options to specify CA file, client
side certificate, key file and "verify server certificate option" will
be listed under "ec2authtoken" group in conf file.
Adds required REST API, Db model and engine service
changes for reporting the heat engine service status.
Implements: blueprint heat-manage-service-list
stack_user_project_id is currently never exposed by heat, so the user
has no way of discovering what it is.
This has a couple of implications:
- The user can't call the REST API create_software_deployment unless
they know the stack_user_project_id of the stack that the server
resource belongs to
- user can't do manual cleanup of stack_user_project_id when necessary
This change adds stack_user_project_id to the formatted output of
the stack-show REST API call.
This is an attempt to fix bug #1394095 which reported that alarm_url can
be signaled only in a blocked way. The reason is that the resource_signal
API was a synchronous call. To avoid breakng CFN/OpenStack WaitCondition
behavior, a new 'sync_call' argument is added which default to False.
A not-so-related fix to test_engine_service.py (L2161-2163) was included
in this patch because without that fix, I was not able to pass the test
cases. It was so trivial, so I don't think it deserves a separate patch.
This change adds support for responding to unsupported methods for all
routes. Invoking a route with an unsupported request method returns a 405
status code, and the response includes the 'Allow' header listing the
request methods supported by the requested URL. The OPTIONS request method
is also automatically supported for all URLs, with the response
returning the 'Allow' header. The way routes are registered has been
changed so that unsupported methods can be detected automatically.
Replace usage of old incubator configuration generator by the
tools/config/generate_sample.sh has been replaced by tox -egenconfig.
heat_integrationtests/generate_sample.sh has been replaced by
If we have situation, when we must specify at
least one of two conflicted resources, and there
is no specified resource, we get StackValidationFailed
with error msg looks like 'Either resource_1 or
resource_2 must be specified'. There are a few places,
where this situation appears. So it will be reasonable
to add special exception for these situations.
Current approach works correct when error raised in heat-engine,
but when oslo-messaging try to send this error to heat-api it calls
this Exception again without any arguments. So it leads to empty output
This patch adds kwargs properties for directly sending parameters to
parent class and storing them for substitution during re-call in
This adds the necessary API changes to allow the user to view
resource's attributes when making calls to resource show.
Implements: blueprint detailed-resource-show
There's references to the auth_token middleware in keystoncelient.
The auth_token middleware has been moved to keystonemiddleware and
the version in keystoneclient shouldn't be used anymore.
If these references aren't updated, then when options are changed in
keystonemiddleware.auth_token the heat-api will fail to start because
there's duplicate options in keystoneclient.middleware.auth_token.
The places that use simple_parse all have to check if the returned value
is a dict, so that logic can be safely moved into simple_parse itself to
Co-Authored-By: Asif Choudhury <firstname.lastname@example.org>