cf586f599e
Discussion in IRC, hangouts and summarized in email [1] led to a decision that in placement the use of a default data connection string was dangerous for people migrating from placement-in-nova to placement by itself. Instead what we want are explicit but small required actions for operators/deployers and a hard fail if they do not do them. A critical first step to make that work is removing the default connection string and requiring an explicit [placement_database]/connection value. To whit, this patch: * removes api_database configuration settings * removes the default connection value * make it the value required (which causes config parsing to fail) * updates test fixtures to remove knowledge of other databases besides 'placement_database' * adds a unit tests to confirm cfg.RequiredOptError is raised when expected (when the setting is not set) * Comments in the wsgi app that a hard fail will happen when config and required settings are missing In local testing I have confirmed two different hard failures that we want: * If there is no configuration file at all (either in the default /etc/placement/placement.conf location or the same file set by OS_PLACEMENT_CONFIG_DIR), fail * If there is a config file and it has no [placement_database]/connection, fail. Note that all these changes are not fully meaningful until the change in Ibed4c64fa4e74c830d0d2fa040089bf9dc7b8f29, which changes the placement/wsgi.py app. That's currently the only external entry point to using placement, and will not work until those changes are in place. [1] http://lists.openstack.org/pipermail/openstack-dev/2018-September/134444.html Change-Id: Iecf5006b32ca7bc2d46b7a59e78b4941a2e98122 |
||
---|---|---|
api-ref | ||
doc | ||
etc/placement | ||
gate | ||
placement | ||
releasenotes/notes | ||
tools | ||
.coveragerc | ||
.gitignore | ||
.gitreview | ||
.stestr.conf | ||
.zuul.yaml | ||
CONTRIBUTING.rst | ||
HACKING.rst | ||
LICENSE | ||
README.rst | ||
babel.cfg | ||
bindep.txt | ||
lower-constraints.txt | ||
requirements.txt | ||
setup.cfg | ||
setup.py | ||
test-requirements.txt | ||
tox.ini |
README.rst
Warning: This repository is currently in a state of flux as the placement service is extracted from nova. While that is happening this repository is not yet fully working.
If you are viewing this README on GitHub, please be aware that placement development happens on OpenStack git and OpenStack gerrit.
Team and repository tags
OpenStack Placement
OpenStack Placement provides an HTTP service for managing, selecting, and claiming providers of classes of inventory representing available resources in a cloud.
API
To learn how to use Placement's API, consult the documentation available online at:
For more information on OpenStack APIs, SDKs and CLIs in general, refer to:
Operators
To learn how to deploy and configure OpenStack Placement, consult the documentation available online at:
In the unfortunate event that bugs are discovered, they should be reported to the appropriate bug tracker. If you obtained the software from a 3rd party operating system vendor, it is often wise to use their own bug tracker for reporting problems. In all other cases use the master OpenStack bug tracker, available at:
For the time being bugs in placement should be created in the Nova bug tracker with a tag of ``placement``.
Developers
For information on how to contribute to Placement, please see the contents of CONTRIBUTING.rst.
Any new code must follow the development guidelines detailed in the HACKING.rst file, and pass all tests.
Further developer focused documentation is available at: