Placement API microversion 1.19 enhances the payloads for the `GET
/resource_providers/{uuid}/aggregates` response and the `PUT
/resource_providers/{uuid}/aggregates` request and response to be
identical, and to include the ``resource_provider_generation``. As with
other generation-aware APIs, if the ``resource_provider_generation``
specified in the `PUT` request does not match the generation known by
the server, a 409 Conflict error is returned.
Change-Id: I86416e35da1798cdf039b42c9ed7629f0f9c75fc
blueprint: placement-aggregate-generation
This reverts commit a563d1fdd3.
The problems with this that I see are:
1. You can't rotate one uuid in a given namespace (i.e the one on the
marker) and expect to not have collisions.
2. This breaks the format of the thing we store in the database, which
would cause people in the middle of an FFU to be unable to continue
or clean their database properly.
3. Obfuscating the uuid like this makes it nearly impossible for a
regular operator or developer to examine the state of the database
during debugging and figure out what the marker is referring to.
All of this to avoid UUID format warnings in a unit test adds up to
a bad thing, IMHO.
Change-Id: Ia5d86d20f80bd0ec9765863f6d0a001633d0fc72
This udpates the placement contributor documentation to reflect the
current state of affairs. Ininitially this was just going to be an
update to reflect that the oslo versioned objects had moved. However,
while reviewing the rest of the doc it became clear there were other
issues that should be resolved. Doing so in one shot helps to maintain
the continuity of the document and doing it piecemeal means it is less
likely to happen.
Change-Id: Ia8d4861799e27a30108dd465d15828c5a1943819
The following notifications has been transformed to
the versioned notification framework.
* live_migration.post.dest.start
* live_migration.post.dest.end
Co-Authored-By: Takashi Natsume <natsume.takashi@lab.ntt.co.jp>
Change-Id: I510136a7eb0a832dfe469cb68d06d1b9472d9ae4
Implements: bp versioned-notification-transformation-rocky
The versioned objects used by placement can inherit directly from
oslo_versionedobjects, so this change reparents them. This helps make
sure that placement is independent from nova and will ease the eventual
extraction of placement to its own repo.
Existing functional tests cover this change.
Change-Id: Ifa8cd445927573ff70f69148b36da37469470cf4
This is so we don't have all the other objects imported into the
the placement process, which happens by virtue of being in the
nova.objects package. It also eases the eventual extraction of
placement.
That extraction will involve lifting and shifting the
nova/api/openstack/placement directory (plus any tests) to a new
repository. .../placement will become the roo placement directory
in the repo, since a) placement is (for now) only an API, b) it
eases extraction. Subsequent patches will do things like move
exceptions and the wsgi application.
Change-Id: I3e5144217c194f2571526311ddae6661cfed2ea9
Move the ResourceClass field to its own package, and move that package
to the top of the nova hierarchy since it is used by both nova tooling
and placement tooling but we don't want the placement version to have to
incorporate the nova code. Eventually we'd like to see an
os-resource-classes library, similar to os-traits, which will serve this
functionality. This is a step in that direction.
Changes in this patch are quite widespread, but are mostly only changes
of imports.
Change-Id: Iea182341f9419cb514a044f76864d6bec60a3683
Two different hacking checks were reporting N357. This changes the
second to report N358 (as comments indicate it was meant to) and
fixes the unit tests to check this.
Change-Id: I35614c61d3a01e31cbcaa193cf7a04c58bdcb310
This should have been removed in '6ef30d5', but was missed as it used a
different name to the other opts.
Change-Id: I85cb86e0c203967da544750a9e52b207f707e8e5
In change I1f25300d44b04ca5bcdd9b505319f0d089a9c964, log-config has been
removed and replaced with log_config_append
Change-Id: I7533f6eebfdb5ad5f2594a5436814fcecfc4c583
There are a bunch of files that define CONF but don't ever reference
it. This cleans that up, removing unnecessary imports.
In order to get flake8 to pass I also had to remove some (unrelated)
unused imports from touched files.
Change-Id: Ib96ebeeb5e4bfedb20afb02c56da1521df9fac4f
Whilst working on the Reproducible Builds effort [0], the team
noticed that nova could not be built reproducibly as the docs etc
contain the absolute build path.
This was originally filed in Debian as #892420 [1], and I'm here
only forwarding the patch.
[0] https://reproducible-builds.org/
[1] https://bugs.debian.org/892420
Change-Id: Ia50c549da9e8ca44d19adb72dd87711da00df210
Signed-off-by: Chris Lamb <lamby@debian.org>