58145 Commits

Author SHA1 Message Date
Zuul
261416aeb0 Merge "Remove six.text_type (2/2)" 2020-12-22 00:46:32 +00:00
Zuul
34c5df7b2b Merge "Remove six.text_type (1/2)" 2020-12-22 00:45:56 +00:00
Zuul
c5b9380277 Merge "Bump the lowest eventlet version to 0.26.1" 2020-12-21 16:57:42 +00:00
Zuul
06c0a4e6bc Merge "Fallback to same-cell resize with qos ports" 2020-12-21 14:58:36 +00:00
Zuul
282299eced Merge "Reproduce bug 1907522 in functional test" 2020-12-21 14:55:48 +00:00
Zuul
b7e43b8b77 Merge "Remove six.binary_type/integer_types/string_types" 2020-12-21 13:37:37 +00:00
songwenping
0be00cd58a Trival Change: Remove redundant code in instance delete
Change-Id: I92e57aefeb909297cf3d4f566a3308aa9312bb02
2020-12-18 11:15:52 +00:00
Zuul
0e5aa1b5e1 Merge "functional: Expand SR-IOV live migration tests with NUMA" 2020-12-17 16:13:22 +00:00
Zuul
8297147290 Merge "functional: Add live migration tests for PCI, SR-IOV servers" 2020-12-17 16:05:28 +00:00
Zuul
5d910b6695 Merge "Revert "Temporarily disable parts of heal port allocation test"" 2020-12-16 18:37:40 +00:00
Balazs Gibizer
1c056c384d Fallback to same-cell resize with qos ports
The cross-cell resize code does not consider neutron ports with resource
request. To avoid migration failures this patch makes nova to fall back
to same cell resize if the instance has neutron ports with resource
request.

Change-Id: Icaad4b2375b491c8a7e87fb6f4977ae2e13e8190
Closes-Bug: #1907522
2020-12-16 17:01:49 +01:00
Balazs Gibizer
f96ade2726 Reproduce bug 1907522 in functional test
Cross cell resize does not support neutron ports with resource request
as nova fails to send a proper port binding to neutron. This causes the
migration to fail. However we should simply not allow the migration to
go cross cell if the server has such ports.

This patch adds a functional test to reproduce the problem

Change-Id: Id91d2e817ef6bd21124bb840bdb098054e9753b8
Related-Bug: #1907522
2020-12-16 16:55:11 +01:00
Zuul
fc38f822dd Merge "Refactoring of functional.regression.test_bug_1702454" 2020-12-16 02:47:45 +00:00
Zuul
6c96602864 Merge "libvirt: make cross cell resize spawn from snapshot image" 2020-12-15 20:43:45 +00:00
Matteo Sposato
032bbc3960 Refactoring of functional.regression.test_bug_1702454
Removed direct post api call
Added _evacuate_server helper

Change-Id: I78f9c6fa561dbc5bf002c396d7de34e21f7cbca2
2020-12-15 16:43:03 +01:00
Zuul
240ee3091c Merge "Remove outdated comment from tox.ini" 2020-12-15 14:01:15 +00:00
Zuul
9edf181d4c Merge "Add a description in the PTL guide" 2020-12-13 19:10:53 +00:00
Takashi Natsume
0617cebcc9 Fix a deprecation warning of 'collections'
Fix the following warning in tests.

  DeprecationWarning: Using or importing the ABCs from
  'collections' instead of from 'collections.abc' is
  deprecated since Python 3.3, and in 3.9 it will stop working

Change-Id: I0119da31482d667feeae5ecf5059b794da216c7d
Closes-Bug: #1906933
Signed-off-by: Takashi Natsume <takanattie@gmail.com>
2020-12-13 11:28:32 +00:00
Takashi Natsume
bd0ead2d63 Add a description in the PTL guide
Add a description to update the RESI API microversion history
after milestone-3 in the PTL guide.

Change-Id: I1530f77291feda4c916cfe9c4a54de7dfdd8180f
Signed-off-by: Takashi Natsume <takanattie@gmail.com>
2020-12-13 11:28:00 +00:00
Takashi Natsume
1cf2431f4b Remove six.text_type (2/2)
Replace six.text_type with str.
This patch completes six removal.

Change-Id: I779bd1446dc1f070fa5100ccccda7881fa508d79
Implements: blueprint six-removal
Signed-off-by: Takashi Natsume <takanattie@gmail.com>
2020-12-13 11:26:35 +00:00
Takashi Natsume
383e2a8bdc Remove six.text_type (1/2)
Replace six.text_type with str.
A subsequent patch will replace other six.text_type.

Change-Id: I23bb9e539d08f5c6202909054c2dd49b6c7a7a0e
Implements: blueprint six-removal
Signed-off-by: Takashi Natsume <takanattie@gmail.com>
2020-12-13 11:25:31 +00:00
Takashi Natsume
07462dd005 Remove six.binary_type/integer_types/string_types
Replace the following items with Python 3 style code.

- six.binary_type
- six.integer_types
- six.string_types

Subsequent patches will replace other six usages.

Change-Id: Ide65686cf02463045f5c32771ca949802b19636f
Implements: blueprint six-removal
Signed-off-by: Takashi Natsume <takanattie@gmail.com>
2020-12-13 11:25:14 +00:00
Zuul
f851d20b65 Merge "nova-grenade-multinode: Skip test_live_block_migration_paused" 2020-12-11 23:51:42 +00:00
Zuul
ddf163895a Merge "nova-evacuate: Remove leftover playbook from standalone job" 2020-12-11 22:42:45 +00:00
Alexandre Arents
f02899418d libvirt: make cross cell resize spawn from snapshot image
During a cross cell resize, we do an instance snapshot and
then we spawn() instance back on target cell.

Unfortunately, we mistakenly spawn back the instance to its original
image id, instead of using freshly created snapshot_id.

The change proposes to update instance.image_ref with snapshot_id
in order that spawn()->_create_image() uses it and set back
instance.image_ref after.

Note that for qcow2 backend case, we also need to rebase disk image
with its original backing file to avoid mismatch between
instance.image_ref and backing file, as we currently do in unshelve
context.

Change-Id: I0b81282eba8238d8b64a67e38cf9d6392de1f85c
Closes-Bug: #1906428
2020-12-11 13:02:09 +00:00
Lee Yarwood
eaa98e3340 nova-grenade-multinode: Skip test_live_block_migration_paused
As discussed in the bug the only advice we've been given from the
libvirt and QEMU teams is to avoid this in Bionic where QEMU is using
the legacy -drive architecture. This is passing in the new zuulv3 Focal
based job so just skip the test here for the time being in grenade.

Change-Id: I1aeab16e2b8d907a114ed22c7e716f534fe1b129
Related-Bug: #1901739
2020-12-11 12:04:24 +00:00
Balazs Gibizer
048250a4b7 Disable qos resize tempest test for nova-multi-cell job
It turned out that during the qos resize work we did not implemented
support of cross cell resize with qos ports. Tempest test coverage for
the resize and migrate is landed recently that made the nova-multi-cell
job to fail.

So this patch disables the qos resize and migrate tempest tests for the
nova-multi-cell job to unblock the gate.

Related-Bug: #1907522

[1] I8c573c4a11a76932057d8415d76114a03269b9f3

Change-Id: I95bc22f7d65454cd9e7b54a0e6d9516f2f204978
2020-12-10 14:51:19 +01:00
Zuul
3a6c1cbc3a Merge "Enhance simple usage API documentation" 2020-12-08 21:20:08 +00:00
Zuul
920a153a22 Merge "tools: Allow check-cherry-picks.sh to be disabled by an env var" 2020-12-08 15:10:09 +00:00
Zuul
eff1af4685 Merge "Omit resource inventories from placement update if zero" 2020-12-08 01:30:48 +00:00
Rafael Weingärtner
01f0424930 Enhance simple usage API documentation
Nova's `os-simple-tenant-usage` has the following statement.

```
Reports usage statistics of compute and storage resources periodically
for an individual tenant or all tenants. The usage statistics will
include all instances’ CPU, memory and local disk during a specific
period.

```

To some people, when reading that, they might get the understanding that
the `os-simple-tenant-usage` will report the actual use of resources.
Therefore, if a VM is stopped and then started back again, it (the
`os-simple-tenant-usage`) would only report the time the VM has been up
and running. However, that is not what happens. The
`os-simple-tenant-usage` reports the time that a virtual machine (VM)
exists in the cloud environment. Therefore, actions such as pause,
suspend, and stop do not affect the usage accounting.

This might be a problem for people using this API for billing, or for
people that use other systems (e.g. CloudKitty) for billing.
End-users might try to cross-check the data from the billing from
CloudKitty for instance, with the usage report found in Horizon that
uses this API, and the numbers will not add up, as people might only
consider the time a VM has been up and running to charge users in
CloudKitty.

An extension was proposed in [1], to allow operators to customize
the usage accounting. However, during a meeting with the community [2],
the extension was rejected for two reasons:

* Nova tries to avoid using config driven APIs. Meaning, APIs that change
  the response according to server-side configurations;
* The community has decided to get rid of usage and billing accounting
  in Nova.

Having said that, we would like to propose a documentation amendment.
The idea is to explicitly say for users/operators that the simple usage
API only considers the time that the VM existed in the cloud for the
accounting, and not the actual time it has been up and running.
This will save some misunderstanding and misuse of the API data.

References
===========
[1] https://review.opendev.org/c/openstack/nova/+/711113
[2] http://eavesdrop.openstack.org/meetings/nova/2020/nova.2020-12-03-16.00.log.txt

Closes-Bug: #1907133
Change-Id: Ic55669f5210b57f151f693393f205655765a8dc9
2020-12-07 17:38:37 -03:00
Lee Yarwood
1811731424 nova-evacuate: Remove leftover playbook from standalone job
The job has been merged into nova-live-migration by
c0fe95fcc5aec99a83dd57093dc230ef67b36b39 so this unused playbook should
be removed.

Change-Id: Ibdf717e36fe3c7d1d57f094eecda796c6bf38467
2020-12-07 20:26:29 +00:00
Lee Yarwood
7a9d4df24b lower-constraints: Bump packaging to 20.4
This version of packaging is actually required by oslo.utils as of 4.5
by Ic9bda0783d3664e1f518d513d81b3271028335fd that was itself introduced
as a lower-constraints version within Nova as of
Ic4d3b998bb9701cb1e3ef12d9bb6f4d91cc19c18.

Change-Id: I67255fa1b919a27e92028da95d71ddd4bf53edc1
Closes-Bug: #1907117
2020-12-07 16:09:49 +00:00
Lee Yarwood
610396f8ad tools: Allow check-cherry-picks.sh to be disabled by an env var
The checks performed by this script aren't always useful to downstream
consumers of the repo so allow them to disable the script without having
to make changes to tox.ini.

Change-Id: I4f551dc4b57905cab8aa005c5680223ad1b57639
2020-12-07 12:53:42 +00:00
Zuul
97729aabaa Merge "libvirt: check for AMD SEV only on x86-64" 2020-12-06 10:43:31 +00:00
Zuul
2dd41e9475 Merge "pci: Add logging for filtering" 2020-12-06 05:51:34 +00:00
Zuul
b149c30d78 Merge "Improve documentation of (unpin|pin)_cpus_with_siblings()" 2020-12-06 05:40:44 +00:00
Zuul
f27a11feb7 Merge "Update supported transports for iscsi connector" 2020-12-05 17:01:40 +00:00
Zuul
200cd653a1 Merge "libvirt: Skip encryption metadata lookups if secret already exists on host" 2020-12-05 17:01:08 +00:00
Zuul
7591f685c5 Merge "Remove unused bindir config option" 2020-12-05 16:33:35 +00:00
Zuul
6655b56d51 Merge "pci: Improve docs for '_filter_*' functions" 2020-12-05 14:28:06 +00:00
Zuul
5cc4669612 Merge "pci: Add a '_filter_pools' helper function" 2020-12-05 14:11:02 +00:00
Zuul
48a61ec5d9 Merge "virt: Remove 'get_all_bw_counters' API" 2020-12-05 11:37:55 +00:00
Zuul
ec390d0c74 Merge "virt: Remove 'reset_network' API" 2020-12-05 11:35:56 +00:00
Balazs Gibizer
95da142a15 Remove outdated comment from tox.ini
Nova does not run gabbi test since placement is moved to a separate
git repository. So the gabbi related tox.ini comment is removed.

Change-Id: Ic324e3e32fa03478895b32fa583e805ee6c721e2
2020-12-04 14:31:30 +01:00
melanie witt
0b942dcaa5 Omit resource inventories from placement update if zero
When a compute node has zero total available for the:

  * MEMORY_MB
  * DISK_GB
  * VGPU
  * PMEM_NAMESPACE_*

resource classes, we attempt to PUT an inventory with 'total' of 0
which isn't allowed by the placement API. Doing this results in a 400
error from placement "JSON does not validate: 0 is less than the
minimum of 1" and ResourceProviderUpdateFailed and
ResourceProviderSyncFailed raised in nova.

We are already omitting most resource classes when their total amount
of the resource is 0 and we just need to also do it for the
aforementioned resource classes.

Closes-Bug: #1901120
Closes-Bug: #1906494

Change-Id: I022f3bbddbbdc24362b10004f273da2421788c97
2020-12-04 03:58:33 +00:00
Lee Yarwood
c11f4e5336 nova-multi-cell: Skip test_cold_migrate_unshelved_instance
Change-Id: I494bf6b10ffb2f54ac4d6079760b44178d82b3fd
Related-Bug: #1906428
2020-12-02 14:05:53 +00:00
Zuul
f0efcae697 Merge "remove python warnning from tox" 2020-12-01 18:09:49 +00:00
Marcin Juszkiewicz
f0ffed8c7f libvirt: check for AMD SEV only on x86-64
"kernel doesn't support AMD SEV" message on aarch64 does not make sense

Closes-bug: #1873012
Change-Id: I1ae22197dc68751938f524d823f39e5c89cec7b0
2020-12-01 15:32:36 +00:00
Zuul
16cabdd100 Merge "doc: Fix rendering in the PTL guide" 2020-11-30 13:41:58 +00:00