At the moment, vif ports and volume connections are not cleaned up
on the source node after a cold migration.
This change addresses this issue by passing the network and block
device info objects when destroying the instance.
Change-Id: I4fd61a6ac09f194ad8be61e6dda092bfd402b806
Closes-Bug: #1705683
iso8601.UTC is correct datetime UTC field object.
iso8601 >= 0.1.12 includes only iso8601.UTC for python3
while both UTC and Utc() for python2. Less then 0.1.12
included both UTC and Utc() for both python2/3.
Change-Id: I10b84a9cc7f0cc8ea213a377e4c4f16168b6e45b
Closes-Bug: #1713354
When performing nova assisted volume snapshots, the nova api does
not receive an instance id, so there is not the usual instance
lookup from the cell which automatically targets the context for the
cell that the instance was pulled from, which is also where we'd get
the BDM.
Since we do not know which cell to target when fetching the BDM, we
have to iterate through *all* of them.
Closes-Bug: #1713735
Change-Id: Id2e3d3f177739a31d63790e4a1ae6ac41f438ddd
This adds a functional test to recreate bug 1712411 where
the allocations created against the destination node are not
cleaned up by conductor when a MigrationPreCheckError happens
and a rechedule to another host happens (or max retries are
exceeded which is the case here with only two computes).
Change-Id: Ieee45521c7e362b7dd053b20d3c39dea330ca080
Relatd-Bug: #1712411
This call generates the following deprecation warning:
RemovedInSphinx17Warning: sphinx.util.compat.Directive is deprecated
and will be removed in Sphinx 1.7, please use docutils' instead.
Resolve this.
Change-Id: I73a182248a64d1e931a1bcb3989aa96f0aec71ed
In the last few cycles oslo.context has picked up a standard way of
representing most of the information available from a token context.
There's no more need for nova to manage these properties. Remove
properties that shadow the base oslo.context properties and helpers that
we don't need.
Change-Id: I1b11e405232b1acee053cb3bd30c18202d3b7c8f
There are a few updates here:
1. Fix the size of one of the existing boxes to fit the text.
2. Add a note at the top that anything about alternatives is
future work since that didn't merge in Pike.
3. Add a box to note the call from scheduler to placement to
make the "claim".
Change-Id: I8b6468766f4924d009b2567fe71c2f5d2733a6e3
This adds an online data migration for nova-manage that will background-
process migrations in the database to have a uuid.
Related to blueprint migration-allocations
Change-Id: I5b4b235b88367c361d38371d430d67ff583a906c
This adds the uuid field to the Migration object. We generate a uuid at
create time if not specified, and also when we load a migration out of
the database that doesn't have one.
Related to blueprint migration-allocations
Change-Id: I2577a51d3705af99ca66ab731d586f84b406652b
This adds a uuid column to the migration table so that in a subsequent
patch we can start using them. Currently we only identify migrations
by internal database id, which is not only a problem for cellsv2, but
also not sufficient for us to use for making allocations that are owned
by a migration process.
Related to blueprint migration-allocations
Change-Id: I21dd6125094b13922b703caa34dffffab1789e1b
The note explaining not to use the Nova versions of object field types
mentions that they will be removed, implying that the types listed
there, such as Dict and List should not be used. This update clarifies
that it is only the Nova versions of these fields that will be removed,
and that it is perfectly fine to use the o.vo field types.
Change-Id: I4ae2392e97f5cbe59e5c9c94c06c48a5d9c9d7d3
As I was reading code trying to understand how PCI devices are handled,
I fixed some typos, added some docstrings, and did some minor
refactoring for readability/maintainability.
Change-Id: I7701c15207f4d386d46d8b0121bb44e12084f09b
The ``pci_passthrough_whitelist`` and ``pci_alias`` options in the
``[DEFAULT]`` section were deprecated and replaced by
``passthrough_whitelist`` and ``alias`` in the ``[pci]`` section,
respectively, in ocata via [1]. However, the PCI passthrough
documentation [2] was missed.
[1] https://review.openstack.org/#/c/356604/
[2] https://docs.openstack.org/nova/pike/admin/pci-passthrough.html
Change-Id: I77ec8e9b4f90caa5a1e803d248fbc7d4e8db4005
Closes-Bug: #1713502
Defining the 'keymap' option in libvirt results in the '-k' option being
passed through to QEMU [1][2]. This QEMU option has some uses, primarily
for users interacting with QEMU via stdin on the text console. However,
for users interacting with QEMU via VNC or Spice, like nova users do, it
is strongly recommended to never add the "-k" option. Doing so will
force QEMU to do keymap conversions which are known to be lossy. This
disproportionately affects users with non-US keyboard layouts, who would
be better served by relying on the guest OS to manage this.
In the long term, we would like to deprecate these options. However, we
must do this in three parts. This part allows users to unset the options
and warns users who have them set about the side effects. This change is
intended to be backported. A future change will fully deprecate the
options. Finally, after the deprecation cycle has passed, we can remove
these options in their entirety.
[1] https://github.com/libvirt/libvirt/blob/v1.2.9-maint/src/qemu/qemu_command.c#L6985-L6986
[2] https://github.com/libvirt/libvirt/blob/v1.2.9-maint/src/qemu/qemu_command.c#L7215-L7216
Change-Id: I6b1d719db0537b0f53768dbb00a5b4d01c85ba3a
Related-Bug: #1682020