This adds the basic framework for the
placement-status upgrade check command which
is a community-wide goal for the Stein release.
A simple placeholder check is added which should
be replaced later when we have a real upgrade
check.
Change-Id: I9291386fe7fcbfc035c104ea9fdbe5eb875c4776
Story: 2003657
Task: 27518
This change adds a rudimentary command line tool, 'placement-manage'
that can do three things:
* placement-manage --version: report the current version of the software
* placement-manage db sync: sync the db to the 'head' alembic version
* placement-manage db version: report the current version of the db
It is written following the examples set by both nova and ironic for
using oslo config driven command line parsing. It is not as full
featured as the nova version (with decorators for argument handling and
help text etc) because we don't need that yet. There's plenty of room
for improvement, but the intention here is to keep things simple until
we need them to be otherwise.
The provided unit tests cover that the arg parsing behaves as expected
and that the right commands are connected the right args. The actual
functionality of the 'db sync' command (a migration.upgrade) is tested
in runs that use devstack as well as the test_migrations functional
test.
Errors during the migration simply raise exceptions which will output
noisily to the console. At this stage this is desirable and suitable.
A new doc for the cli is added, with basic information for
placement-manage. Note that at this time the deployment documentation
has not been updated. That will be done in a later change.
Future changes may include (if we can't avoid it) tools for initiating
online migrations from the command line.
Needed-By: https://review.openstack.org/600162/
Change-Id: I1ff472106610150a587f5286f26a6bd7c1aa84f4
This gives some basic documentation for creating a revision using
alembic. It then links to the alembic tutorial for more information.
Change-Id: I8647aaa55dca537d95c7c03753f2a24f364f0ddf
The "handle allocation updates in a safe way" item and
the link to "Add Generation to Consumers" spec have been added
since I77f34788dd7ab8fdf60d668a4f76452e03cf9888 in the nova doc
(doc/source/user/placement.rst).
But it has not been added yet in the placement doc
(doc/source/index.rst). So add it.
Change-Id: I4c70da34d8907cab2373b1349bb2c6e9b8cdd35a
Some of the descriptions in the file ``doc/source/index.rst`` assume
placement still depends on nova, which isn't true, so this patch
updates it.
This patch also adds a upgrade note for Stein (19.0.0) in that file.
Change-Id: Ib98e370d6863cc8c679a07d04f053ba5a3723c43
The file ``doc/README.rst`` hasn't been changed since the placement
is extracted, so this patch de-nova-ify it.
Change-Id: I30bcfa987a87fd4672dcbcdf3f401295b2dad6f5
This patch adds a document which has some case studies to explain
how sharing providers, aggregates, and traits work if nested
provider trees are involved in the `GET /allocation_candidates API`.
Change-Id: I2899c65ac9cf63cb4d5c1a4fdfe65718a3193be5
This is a manual sweep through doc/source/contributor/index.rst
(recently renamed from doc/source/contributor/placement.rst) to make the
document make sense in the context of the placement repository as
separated from the nova repository. Of note:
- Removed or reworded references to Nova as appropriate.
- Removed 'Futures' section as it talks about how to prepare for
extraction.
- Manually fixed file/doc paths that were missed/munged in earlier
automated search/replace commits.
- Reformatted stuff touched by the above, but also to fix up leftovers
from automated search/replaces done earlier in the extraction process.
Change-Id: I3f64e8d43b0e6ce1a366c6cd11813618c6d72ebb
Add sphinx configuration and doc stubs/references to make
doc/build/html/configuration/config.html and its brethren happen.
Change-Id: Ieb16dbc2a7e67cb84b7098133be24fcc860312cd
When part of Nova, many files were named in such a way as to indicate
that they were separate from the nova files that did the same thing. Now
that that distinction is no longer needed, we can rename them to sound
more natural.
Additionally, references to these file names in other parts of the code
have been updated.
Change-Id: Id4439b4af827b64bbac213085ac74d1283c96db0
This patch does pretty much the minimum possible to get `tox -e docs`
building and gating. Much, much more needs to be done to make the
content good.
Also corrects a link in the api-ref which, once these are publishing,
would have pointed to the wrong place.
Change-Id: I5cbc3a3cceeaeaa7be5593658b6a03fa25fb69d0
This commit is the result of running the following search and replace
across the project.
s/nova.db/placement.db/g
Change-Id: If5ea7cfd361288c89db885c26b7c616ce5b596d4
This commit is the result of running the following search and replace
across the project.
s/nova\.api\.openstack\.?//g
Change-Id: I4974a28de541aace043504f788cf0d100f778cae
There was a commit [0] that dealt with Nova aggs that also updated
doc/source/user/placement.rst. Since that file was preserved in the
filter_history.sh script, that commit caused a lot of agg-related files
to be preserved. This commit removes most of them; others in the test
directories will be removed in a later patch.
[0] https://review.openstack.org/#/c/553597/
Change-Id: I2b0ee94c1d7f11df542ec5171278696fb21b11d1
After we did the initial clone to seed the placement repository, an
almost-exclusively-nova change [1] merged which included a delta to a
document [2] that was included in the clone. This change just brings in
that one delta.
[1] Idf8997d5efdfdfca6967899a0882ffb9ecf96915
[2] https://review.openstack.org/#/c/585034/20/doc/source/user/placement.rst
Change-Id: I736afc3ec0f007283bb4cc8bd1a5c366e62c2165
Per change I97215e94efdd8c05045872fb9ba7d2089dc6efb8, nova
does not perform version discovery or try to deal with backlevel
placement versions, and the upgrade docs say that placement needs
to be upgraded before upgrading any nova services. Because of
this assertion, we can remove the per-release nova-scheduler-specific
note in the placement upgrade notes for Rocky because while it's
accurate for the nova-scheduler service, it might not be accurate
for the nova-api, nova-conductor or nova-compute services which
also use placement. So the best guidance is to just globally say
that placement must be upgraded before *any* nova services, which
our upgrade doc already says.
Change-Id: I8bf6ab049f15ad24a5fbf0557bd0cd8652101901
The document doesn't follow previous pattern to guide use
in using nova user to execute command and lead to issue
Change-Id: I795706a8f78ab4154bd39ce6259901800b34890e
Closes-Bug: 1781573
This links into the AZ docs a nice video from the Rocky
summit which covers what AZs are and aren't, use cases,
gotchas, and how they are implemented outside of nova
to compare and contrast. Overall it's a nice educational
presentation which is useful for those wishing to learn
more about AZs than what our documentation provides.
Change-Id: Ib67826620735f05edc987481af4c07b6d19f3c1d
The code to generate a support matrix has been pulled into a common
library. Using this instead of duplicating code in various projects that
need it.
Change-Id: If5c0bf2b0dcd7dbb7d316139ecb62a936fd15439
Co-Authored-By: Stephen Finucane <stephenfin@redhat.com>
The aggregate.update_prop.start and aggregate.update_prop.end
notifications has been transformed to the versioned notification
framework.
Co-Authored-By: Takashi Natsume <natsume.takashi@lab.ntt.co.jp>
Change-Id: I37b19573b6d0e1131c446fcec361f01fa2560f82
Implements: bp versioned-notification-transformation-rocky
Bump the minimum version of oslo.config to 6.1.0, which adds proper
support for parsing Opt.help as rST [1]. This in turn allows us to
revert commit 75fc30090133c31316e6ae790568f1b622807d0c, which is a
temporary fix relying on deprecated features of Sphinx.
[1] https://review.openstack.org/#/c/553860/
Change-Id: I8f56bdce37cfc538348490052a24e463164c86a3
This change provides a small number of updates to the placement user and
contributor documentation to reflect some of the things that have
changed recently. This is by no means complete, but is an improvement
over what was there.
Partial-Bug: #1778227
Change-Id: Ia348cd3c99b1a5104e15595fdebc83e1ca582a98
osprofiler is optional, but if it's installed we'll
load up the configuration options from the library,
but they weren't in the generated config sample so
people would have to find the osprofiler docs, or
worse the code, to figure out how to configure it.
This simply adds the osprofiler config options to the
nova config sample, which will also show up in the
config reference docs.
Change-Id: I28d35165ed77487cd49d560fb1eda4f1d640734e
Closes-Bug: #1774208
Change I496e8d64907fdcb0e2da255725aed1fc529725f2 made nova-scheduler
require placement >= 1.25 so this change updates the minimum required
version checked in the nova-status upgrade check command along with the
upgrade docs.
related to blueprint: granular-resource-requests
Change-Id: I0a17ee362461a8ae2113804687799bb9d9216110
In Ideb50626e140201dded19fc82584440f1a407e47,
the path of development-environment.rst has been fixed
in doc/README.rst. But the file name was not fixed.
Fix the file name of development-environment.rst
in doc/README.rst.
TrivialFix
Change-Id: I5a6df81cc18d002e9bf1c69c9b270f132edaafa3
It's more common to format words like "nova-compute" with "``"
instead of "`", and there is no need to format words like "RPC".
This patch also fixes a few syntax and typo issues.
And as requested, some typos in aggregates.rst are corrected to
improve readability.
Change-Id: I4d9c184e1448c8ea9973302f53e1773a7b66cd1e
This patch is the first step in syncing the nova host aggregate
information with the placement service. The scheduler report client gets
a couple new public methods -- aggregate_add_host() and
aggregate_remove_host(). Both of these methods do **NOT** impact the
provider tree cache that the scheduler reportclient keeps when
instantiated inside the compute resource tracker.
Instead, these two new reportclient methods look up a resource provider
by *name* (not UUID) since that is what is supplied by the
os-aggregates Compute API when adding or removing a "host" to/from a
nova host aggregate.
Change-Id: Ibd7aa4f8c4ea787774becece324d9051521c44b6
blueprint: placement-mirror-host-aggregates
Change If507e23f0b7e5fa417041c3870d77786498f741d makes nova-api
dependent on placement for deleting an instance when the nova-compute
service on which that instance is running is down, also known as
"local delete".
Change I7b8622b178d5043ed1556d7bdceaf60f47e5ac80 makes nova-api
dependent on placement for deleting a nova-compute service record.
Both changes are idempotent if nova-api isn't configured to use
placement, but warnings will show up in the logs.
This change updates the upgrade docs to mention the new dependency.
Change-Id: I941a8f4b321e4c90a45f7d9fccb74489fae0d62d
Related-Bug: #1679750
Related-Bug: #1756179
Change Id7eecbfe53f3a973d828122cf0149b2e10b8833f made
nova-scheduler require placement >= 1.24 so this change
updates the minimum required version checked in the
nova-status upgrade check command along with the upgrade
docs.
Change-Id: I4369f7fb1453e896864222fa407437982be8f6b5