55435 Commits

Author SHA1 Message Date
Zuul
207d2c2253 Merge "Add a prelude for the Train release" 2019-09-26 11:28:00 +00:00
Zuul
e9872e83a2 Merge "doc: attaching virtual persistent memory to guests" 2019-09-26 11:27:53 +00:00
Zuul
bd6a3931f1 Merge "Correct link to placement upgrade notes" 2019-09-25 23:11:37 +00:00
Zuul
b2235e078e Merge "Move HostNameWeigher to a common fixture" 2019-09-25 23:11:26 +00:00
Zuul
518aa008b9 Merge "docs: Update CPU topologies guide to reflect the new PCPU world" 2019-09-25 23:11:15 +00:00
Zuul
8e99edbcf1 Merge "docs: Clarify everything CPU pinning" 2019-09-25 23:11:09 +00:00
Zuul
8622632a94 Merge "Ignore warning from sqlalchemy-migrate" 2019-09-25 23:11:02 +00:00
Zuul
cbed49544d Merge "Ignore sqla-migrate inspect.getargspec deprecation warnings on py36" 2019-09-25 23:10:56 +00:00
LuyaoZhong
7ed5d81a36 doc: attaching virtual persistent memory to guests
Add a document for virtual persistent memory

Change-Id: Ieb8040cd51d322b920ba5525322004c76545b494
Partially-Implements: blueprint virtual-persistent-memory
2019-09-25 16:03:51 -05:00
Zuul
10c2e035da Merge "Add functional tests for [cinder]/cross_az_attach=False" 2019-09-25 18:55:15 +00:00
Zuul
f96d0ac980 Merge "Log error when volume validation fails during boot from volume" 2019-09-25 18:55:09 +00:00
Stephen Finucane
d0ca30b80a Ignore warning from sqlalchemy-migrate
This has been fixed but not released. Another warning is updated since
modules don't have .py extensions.

Change-Id: Iaa93b9743214300597650040c1cd34699f12ab3f
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
Related-Bug: #1813147
2019-09-25 13:08:01 -04:00
Stephen Finucane
79ee80d159 Ignore sqla-migrate inspect.getargspec deprecation warnings on py36
The 'message' argument is a regex so you need to escape brackets and the
likes. Strange that this worked on py27.

This was coincidentally fixed by Ib9f735216773224f91ac7f49fbe2eee119670872
in Train but this change is backportable while that one is not.

Change-Id: Ia1f0fa6a46bdd0a87d40721937355b2cc887f1c9
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
Related-Bug: #1813147
2019-09-25 13:05:28 -04:00
Zuul
9ae3b0c8ed Merge "docs: Scrub available quotas" 2019-09-25 16:36:10 +00:00
Stephen Finucane
50e60401ed docs: Update CPU topologies guide to reflect the new PCPU world
We don't need to do a whole lot here. The key things to note are that
some host level configuration is now necessary, that the 'isolate' CPU
thread policy behaves slightly differently, and that you can request
'PCPU' inventory explicitly instead of using 'hw:cpu_policy=dedicated'
or the image metadata equivalent.

Part of blueprint cpu-resources

Change-Id: Ic1f98ea8a7f6bdc86f2d6b4734774fa380f8cc10
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2019-09-25 14:30:23 +01:00
Stephen Finucane
ca7c595729 docs: Clarify everything CPU pinning
The documentation for emulator threads leaves a lot to be desired, while
the hierarchy of the CPU thread pinning doesn't emphasise the dependency
of this feature on CPU pinning. Resolve both by tweaking or expanding
the wording of key paragraphs and modifying the header levels to nest
the CPU thread pinning and emulator thread pinning docs under the CPU
pinning docs.

Change-Id: Ife32a53b80b770e008dbe2091fbb88e6596d238b
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2019-09-25 14:29:45 +01:00
Sylvain Bauza
7c25caa418 Add a prelude for the Train release
Based on both etherpad [1] and cycle highlights [2]

[1] https://etherpad.openstack.org/p/nova-train-prelude
[2] https://releases.openstack.org/train/highlights.html#nova-compute-service

Depends-On: https://review.opendev.org/683485/
Depends-On: https://review.opendev.org/680300/

Change-Id: I078b8428f54ed2a8e5d55592964699933936c709
2019-09-25 09:12:08 -04:00
Zuul
627c461a62 Merge "Remove upgrade specific info from user facing exception text" 2019-09-25 10:29:20 +00:00
Chris Dent
98008e048c Correct link to placement upgrade notes
In the depends-on the upgrade notes in placement are moved to a
different URL. Because the link here in nova was to an anchor, not
a URL, a redirect on the placement side will not catch this, so
explicitly update the link.

Depends-On: https://review.opendev.org/683783
Change-Id: Ib07eacb9150bbb8b0726cfe06ae334c7a764955c
2019-09-25 10:26:44 +01:00
Balazs Gibizer
60b097a5ef Move HostNameWeigher to a common fixture
Multiple functional tests used its own copy-pasted implementation of a
weigher to make the scheduling deterministic based on host names.

This patch moves the HostNameWeigher implementation to a common place
and adds a fixtures to set up the weigher in the conf.

Change-Id: I4c23a3c4f8963c42379e7a8d63c6c1e089350eb3
2019-09-25 09:57:38 +02:00
Matt Riedemann
1024941c0d Isolate request spec handling from _cold_migrate
The compat code for the request spec in _cold_migrate is
nearly as big as the rest of the method. This moves that to
another method and also slides the image meta handling within
the first condition where it's needed and renames the 'image'
variable to 'image_meta' to stop shadowing the 'image' module
import.

Change-Id: I83e1a1eba594897f4610e1f9074a24d79443a025
2019-09-24 14:36:31 -04:00
Matt Riedemann
b36c44c449 Handle legacy request spec dict in ComputeTaskManager._cold_migrate
Prior to change I4244f7dd8fe74565180f73684678027067b4506e in Stein,
conductor would pass a legacy dict request spec to compute during
cold migrate / resize and if compute rescheduled it would not pass
the request spec back to conductor, so the _cold_migrate method in
conductor would have to create a new RequestSpec from components
it had available.

As of that change, compute will send the request spec it got back
to conductor and _cold_migrate avoids the RequestSpec.from_components
call.

There are two issues here:

1. Technically if conductor RPC API is pinned to less than 1.13 the
   ComputeTaskAPI.migrate_server method will remove the request spec
   from the call to conductor. So conductor (server-side) can still
   not get a RequestSpec and need to use from_components. As a result
   the TODO in the _cold_migrate method needs to be updated since we
   require an RPC API major version bump to make request spec required.

2. Just because conductor is passing compute a RequestSpec object, if
   compute RPC API versions are pinned to less than 5.1, conductor will
   pass a legacy request spec dict to compute and compute will send that
   back to conductor, so the _cold_migrate method needs to handle getting
   a request spec that is a dict and convert it to an object. A new test
   is added for that case.

Change-Id: I188b7aa9cb220f93e69a68f0c3592b28d41ba5b6
Closes-Bug: #1843090
2019-09-24 14:36:01 -04:00
Zuul
ffd4dbf817 Merge "Reject migration with QoS port from conductor if RPC pinned" 2019-09-24 18:24:17 +00:00
Matt Riedemann
f212b85583 Add functional tests for [cinder]/cross_az_attach=False
This adds some simple functional tests for the API validation
behavior during server create when [cinder]/cross_az_attach=False
meaning the server being created and any volumes attached to it
must be in the same AZ.

As part of this, bug 1694844 is recreated where the server is
created without an AZ (or default_schedule_zone AZ) which results
in a 400 response because None != whatever the volume's AZ is
(which defaults to "nova" in Cinder). This is important for testing
fixes for that bug later since the API interaction code is pretty
hairy and unit tests are insufficient for validating a fix.

Change-Id: I1b724f7ad3e2f6baa9fd865a8e22d87bf909b488
Related-Bug: #1694844
2019-09-24 13:23:12 -04:00
Zuul
0ce66605e1 Merge "Add evacuate vs rebuild contributor doc" 2019-09-24 16:51:23 +00:00
Zuul
eed7f0eb4a Merge "Func test for migrate reschedule with pinned compute rpc" 2019-09-24 16:51:16 +00:00
Zuul
37f4c3fa4d Merge "objects: use all_things_equal from objects.base" 2019-09-24 16:51:11 +00:00
Balazs Gibizer
5d650753e2 Remove upgrade specific info from user facing exception text
One of the PortUpdateFailed exception usage case introduced by the
bp support-move-ops-with-qos-ports overly chatty about upgrade and
pinned RPC. This message can reach the end user during resize so the
deployment specific information is removed from the exception message
and logged instead. Also a TODO is added that the whole check can be
removed once we bump the compute RPC to 6.0

Change-Id: I37b02da02a42cab09d2efe6d1a4b88cbc8b9b0d0
2019-09-24 10:44:46 +02:00
Balazs Gibizer
4a10f8eaa7 Reject migration with QoS port from conductor if RPC pinned
The MigrationTask in the conductor already checks the service version as
old computes cannot support migration with QoS port. However it is still
possible that every compute is new but the compute RPC API is pinned to
< 5.2. In this case the migration still cannot be supported.

This patch adds an extra RPC version check to the conductor.

Change-Id: Ib4e0b9ab050a59ab5a290e6eecea01b87c3bd4c6
Closes-Bug: #1844993
2019-09-24 10:12:05 +02:00
Zuul
38c774a8e0 Merge "Add librsvg2* to bindep" 2019-09-24 02:36:21 +00:00
Zuul
d1ff9bd66f Merge "Functional reproduction for bug 1844993" 2019-09-24 00:22:03 +00:00
Matt Riedemann
dc0911d30c Log error when volume validation fails during boot from volume
If we get an unexpected exception during boot from volume while
validating a pre-created volume, we just raise InvalidBDMVolume
which might have a misleading error message for why validation
failed, e.g. it looks like we couldn't GET the volume but actually
it could be something in later validation that fails.

This simply logs the error at INFO level for later debugging. We
don't log at WARNING or ERROR because it could be due to some user
error and operators shouldn't have to worry about warnings/errors
in the logs for user-inflicted issues. The INFO log is useful though
in diagnosing a failure if the user doesn't understand the failure.

Change-Id: I83903593811efe43608826c8e599c8f09c313a3c
2019-09-23 17:03:16 -04:00
Zuul
c246dd9010 Merge "Refactor pre-live-migration work out of _do_live_migration" 2019-09-23 20:22:04 +00:00
Zuul
c174dcabb6 Merge "Add reminder to update corresponding glance docs" 2019-09-23 19:58:54 +00:00
Zuul
f14ce63091 Merge "Tune up db.instance_get_all_uuids_by_hosts" 2019-09-23 19:58:43 +00:00
Zuul
0c8ca68818 Merge "Use multiple attachments in test_list_volume_attachments" 2019-09-23 19:43:40 +00:00
Zuul
f7badfae30 Merge "Remove stubs from VolumeAttachmentsSample API sample test" 2019-09-23 19:43:34 +00:00
Zuul
10e950b3b5 Merge "[Trivial]Removed unused helper _extract_query_params" 2019-09-23 19:31:49 +00:00
Zuul
6fe2373964 Merge "[Trivial]Remove unused helper should_switch_to_postcopy" 2019-09-23 19:31:43 +00:00
Zuul
31e9914ce5 Merge "Get pci_devices from _list_devices" 2019-09-23 19:24:41 +00:00
Zuul
597b34cd87 Merge "Add note about needing noVNC >= v1.1.0 with using ESX" 2019-09-23 17:24:00 +00:00
Balazs Gibizer
a3024b5cea Functional reproduction for bug 1844993
If the compute RPC is pinned to < 5.2 a server with QoS port cannot be
migrated. However nova not just fails the migration but also leaves the
server and the QoS port in an inconsistent state.

Change-Id: Ia8dc51d11b8ce93c372ee77f2c0b43910f992574
Related-Bug: #1844993
2019-09-23 14:33:23 +02:00
Zuul
5a1c2d4ffa Merge "Rename 'nova.common.config' module to 'nova.middleware'" 2019-09-23 12:25:59 +00:00
Matt Riedemann
4f261f98e1 Revert "Temporarily skip TestNovaMigrationsMySQL"
This reverts commit aebebe713a50d1057d5dfdfa4f13be6cc3ce625b.

We said we would since the skip was temporary.

Change-Id: I5f7f5779735e158688992ccc948e7305bae1c9c4
Related-Bug: #1823251
2019-09-21 09:46:34 -04:00
Zuul
09bf71407f Merge "trivial: Use sane indent" 2019-09-21 11:06:29 +00:00
Zuul
2c22a39bb9 Merge "libvirt: Get the CPU model, not 'arch' from get_capabilities()" 2019-09-21 05:15:28 +00:00
Zuul
1ec87c227c Merge "libvirt: Correctly handle non-CPU flag traits" 2019-09-21 03:40:40 +00:00
Zuul
764a60a1fe Merge "libvirt: Enable driver configuring PMEM namespaces" 2019-09-21 03:40:33 +00:00
Zuul
0ff3fd9bf4 Merge "Add reshaper for PCPU" 2019-09-21 02:07:35 +00:00
Zuul
47e7502f08 Merge "libvirt: Mock 'libvirt_utils.file_open' properly" 2019-09-21 02:07:27 +00:00