This allows for merging lists and deep merging maps.
This does not support comma_delimited_lists and is
implemented by using parameter schema in the subsequent
patches.
Change-Id: I89df95eca713a7125cc53ed8bf352274f28bf6d9
Blueprint: environment_merging
This moves the merge_environment utility function
from service.py to environment_util.py.
Change-Id: Ia005cf47d5e655e60359f8da397a712e749ce13c
Blueprint: environment-merging
This adds three merge startegies(overwrite, merge, deep-merge).
There can be a default merge startegy for an env or parameter
specific merge strategy. if none of the above is specified
then it defaults to 'overwrite'.
Change-Id: I05f56887d762342981e3cb9885872ef58ecd0ad8
Blueprint: environment-merging
This patch fixes the format and content of the api-ref documentation for
the build-info, resource-type-{list|template|schema}, versions APIs.
Major changes include:
- use status code table to show response codes
- add missing response parameters such as request id
- fixed cases where the response format was not clearly/correctly
documented.
Change-Id: Id7ac58ff19d3f7a0feb4d872efa7b46c01fa8f4b
This is the last patch concerning api-ref docs for stack resources. The
major changes are about stack-abandon, stack-adopt, template-show APIs.
Change-Id: I2af6e5ba653ac2dfa6a81478a17367bf4f661944
This adds a new evironment section 'parameter_merge_strategies'.
These strategies would subsequently be used to merge parameters
and parameter_defaults from environment files.
Change-Id: Ib2b84ecdb2a1516ea0c5ced25a1fed408b954694
Blueprint: environment-merging
A deeply misguided effort to move all exceptions out of the
heat.engine.resource module, where they belong, and into the
heat.common.exception module, where they largely do not, broke the API for
third-party resource plugins. Unfortunately this happened a couple of
releases back already, so we can't simply put UpdateReplace back where it
belongs as that would also break the de-facto third-party API.
This change adds an alias in the correct location and a comment indicating
that it will move back at some time in the future. It also switches all of
the in-tree uses back to heat.engine.resource.UpdateReplace, in the hope
that third-party developers will be more inclined to copy from that.
This reverts commit 4e2cfb991ada853023cd0994db2bf9a39126c538.
Change-Id: Iedd5d07d6c0c07e39e51a0fb810665b3e9c61f87
Closes-Bug: #1611104
It seems we've missed to override client() methods for some
keystone resource plugins.
This also fixes the tests for all keystone resources.
Change-Id: I97e4d4f0bbc9575109d9c8f59fe4795313d2f525
Closes-Bug: #1614400
This patch fixes the api-ref documentation for stack resources. More
specifically, this patch fixes the documentation for the 'stack-update',
'stack-update-preview', 'stack-delete', 'stack-find-delete' calls.
Change-Id: Ie8987c49a758a161015d111a8cfa50b0fbda88f8
Fix docs for stack-find, stack-show, stack-list APIs.
Major changes include:
- Revise stack query parameters to differentiate them from stack
object body fields.
- Added 'resolve_outputs' to stack-find interface.
- Added response sample and documentation for stack-find API.
We should faithfully document the 302 status code and body.
- Added missing parameter 'stacks' for stack-list call.
- Added missing 'X-Openstack-Request-Id' parameter in responses.
Change-Id: Ifc4937a254ff766ae83c80c009047d926eebf72f
This patch continues the fix to the api-ref doc for stack resource. To
ensure upcoming patches are not messing up the parameter defintions,
this patch is cleansing up the parameters that appear both in URLs and
request/response bodies: 'stack_id', 'stack_name', 'resource_name',
'event_id', 'snapshot_id', etc. These parameters sometimes are playing
different roles although the name is the same.
Other fixes included in this patch:
- added back the stack-outputs and stack-snapshots into index
- split resource-types out of stack-templates and add reference to it
into index (git misunderstood this as a renaming, :))
Change-Id: I2b486a9b85d23d3225a5701c2265ecea2f4712f7
This patch, as a first step, fixes inaccuracies/bugs in api-ref
documentation for stacks. The major changes in this patch include:
- Added missing 'location' and 'X-OpenStack-Request-Id' parameters
which both appear in some response headers.
- Deleted some descriptions about parameters that are never
referenced in any APIs.
- Added missing 'deletion_time' parameter.
- Added missing 'environment_files' parameter.
- Added missing sample JSON file for stack-create-response.json.
- Fixed errors in stack-preview-response.json.
- Added tabular description of response codes.
- Added a status.yaml file for response code description (shared).
Change-Id: I826ed899f925812df9b44144469700453789e087
This patch splits the stacks.inc file into three files so that we can
patch them separately. The original file contains API calls about
stacks, stack snapshots and stack outputs, however, the latter two
have every right to be documented separately.
Change-Id: I3e3b71c914046939cd816c79359601e91791cf82
Config option sqlite_db is deprecated in
0a1bae9859079fb21a03716be947c5f1da6db0a2, and we test database
with sqlite in memory mode [1] as below:
CONF.set_default('connection', "sqlite://", group='database')
and never use config option sqlite_db, so don't need override its
default value.
[1]http://docs.sqlalchemy.org/en/rel_1_0/core/engines.html#sqlite
Change-Id: Ic1363f7464e9b81d65d74fc30b525d0bd06103ed
The convert_json_to_yaml function is a horror of almost Lovecraftian
propportions, designed to convert from JSON to YAML without changing the
order of keys in the file.
The fix for bug 1286380 (which appears to be resolved in the latest
versions of PyYaml anyway) means that, if this was not corrupting data
before, then it certainly can now.
This patch takes advantage of the fact that we no longer support Python 2.6
to just parse the JSON data as JSON (instead of YAML) using the
object_pairs_hook to ensure that the output order does not change.
Change-Id: I4b09b4c913ec6f8d9c4b7017e3a7a5b7166cf78e
Related-Bug: #1286380
Closes-Bug: #1613881
This will prevent tracebacks from being logged if every client is not
installed when the engine is started.
Change-Id: I53c90f98689070a0b18e49ca7988e4176a8987ac
Closes-Bug: #1597593
We can use admin_context to have access to stacks
and software configs across projects. This removes
the tenant_safe flag from rpc and db api. This is
backward compatible with older rpc clients.
We still support use of global_tenant flag for listing
stacks and software configs. However, by default
an admin(user with admin role in admin_project)
would not need that.
Change-Id: I12303dbf30fb80290f95baba0c67cdf684f5f409