Commit Graph

56247 Commits

Author SHA1 Message Date
Zuul 4cb8136e95 Merge "Add test coverage of existing admin_actions policies" 2019-12-23 12:53:35 +00:00
Zuul a869f1c9d3 Merge "Support cross-cell moves in external_instance_event" 2019-12-23 09:59:18 +00:00
Zuul b33667cd34 Merge "Add functional test for anti-affinity cross-cell migration" 2019-12-23 05:45:17 +00:00
Zuul f8ac400762 Merge "Add test_resize_cross_cell_weigher_filtered_to_target_cell_by_spec" 2019-12-22 23:38:26 +00:00
Zuul a24c7848cc Merge "Add CrossCellWeigher" 2019-12-22 21:26:28 +00:00
Zuul 533006178e Merge "Add archive_deleted_rows wrinkle to cross-cell functional test" 2019-12-21 21:33:40 +00:00
Zuul 71bf744a05 Merge "Confirm cross-cell resize while deleting a server" 2019-12-21 05:47:30 +00:00
Zuul 3e7e2530f1 Merge "Add new default roles in os-services API policies" 2019-12-20 21:48:13 +00:00
Zuul df57078a7b Merge "FakeDriver: adding and removing instances on live migration." 2019-12-20 21:18:08 +00:00
Zuul 02019d2660 Merge "FUP for in-place numa rebuild" 2019-12-20 11:41:55 +00:00
Lorenzo Affetti 14342d629b FakeDriver: adding and removing instances on live migration.
There was no code in FakeDriver that updated the internal
dict `self.instances` when a FakeInstance was live migrated.
This commit fills this gap. As a result, a couple of versioned
notification samples get updated since we are now properly
tracking a live migrated instance on the destination host as
running vs pending power state.

Closes-Bug: 1426433

Change-Id: I9562e1bcbb18c7d543d5a6b36011fa28c13dfa79
2019-12-20 10:59:06 +00:00
Zuul bbda16f634 Merge "Refresh target cell instance after finish_snapshot_based_resize_at_dest" 2019-12-20 06:41:41 +00:00
Zuul 93197eb671 Merge "Add functional cross-cell revert test with detached volume" 2019-12-20 06:41:35 +00:00
Sean Mooney f6060ab6b5 FUP for in-place numa rebuild
This patch addresses a number of typos and minor
issues raised during review of [1][2]. A summary
of the changes are corrections to typos in comments,
a correction to the exception message, an update to
the release note and the addition of debug logging.

[1] I0322d872bdff68936033a6f5a54e8296a6fb3434
[2] I48bccc4b9adcac3c7a3e42769c11fdeb8f6fd132

Related-Bug: #1804502
Related-Bug: #1763766

Change-Id: I8975e524cd5a9c7dfb065bb2dc8ceb03f1b89e7b
2019-12-19 16:11:44 -05:00
Matt Riedemann 40950f9c87 Fix race in test_create_servers_with_vpmem
This test creates 2 servers which take up all of the
CUSTOM_PMEM_NAMESPACE_SMALL resources on the sole host in
the test. Then it tries to create a 3rd server which it
expects to fail and it does. Then it deletes the second
server to free up one CUSTOM_PMEM_NAMESPACE_SMALL resource
on the host and schedules another server which it expects
to work. The problem is the test doesn't wait for the
second server to be fully deleted so the test intermittently
fails when the CUSTOM_PMEM_NAMESPACE_SMALL resource isn't
yet freed up when the fourth server goes through scheduling.

This adds a simple wait call for the deleted server to actually
be gone before creating the fourth server.

Change-Id: Id3389038b5fed1e70dd12c7ed9cef2c0950625cf
Closes-Bug: #1856902
2019-12-19 09:41:18 -05:00
Zuul d5a786f540 Merge "Remove now invalid cells v1 comments from conductor code" 2019-12-19 04:38:06 +00:00
Zuul 32a6acf94b Merge "Revert cross-cell resize from the API" 2019-12-19 00:06:38 +00:00
Zuul a5b8217f5f Merge "Optimization for nova-api _checks_for_create_and_rebuild" 2019-12-18 18:28:05 +00:00
Zuul 1a1fce0fa8 Merge "Remove dead code from MigrationTask._execute" 2019-12-18 17:44:28 +00:00
Zuul ac2cec2d4d Merge "Add troubleshooting doc about rebuilding the placement db" 2019-12-18 17:44:22 +00:00
Zuul c48bc31c90 Merge "Zuul v3: use devstack-plugin-nfs-tempest-full" 2019-12-18 17:44:16 +00:00
Zuul 4d5b910c52 Merge "api-ref: avoid mushy wording around server.image description" 2019-12-18 17:22:48 +00:00
Zuul 56fc3f28e4 Merge "Add revert_snapshot_based_resize conductor RPC method" 2019-12-18 01:20:19 +00:00
Luigi Toscano e7e39b8c2e Zuul v3: use devstack-plugin-nfs-tempest-full
... and replace its legacy ancestor.

Change-Id: Ifd4387a02b3103e1258e146e63c73be1ad10030c
2019-12-18 00:28:15 +01:00
Zuul d052e72040 Merge "DRY: Build ImageMetaPropsPayload from ImageMetaProps" 2019-12-16 18:48:39 +00:00
Zuul fd404c8d7b Merge "Flesh out RevertResizeTask.rollback" 2019-12-16 10:50:32 +00:00
Zuul edf7775f16 Merge "nova-net: Remove db methods for ProviderMethod" 2019-12-14 05:09:39 +00:00
Zuul 5377fd1d9a Merge "Revert "(Temporarily) readd bare support for py27"" 2019-12-14 04:22:18 +00:00
Zuul 7b8f3686e7 Merge "Sync ImageMetaPropsPayload fields" 2019-12-14 04:15:18 +00:00
Zuul b96bc9d675 Merge "Add RevertResizeTask" 2019-12-14 01:59:27 +00:00
Zuul 24ba5fd8c0 Merge "Add finish_revert_snapshot_based_resize_at_source compute method" 2019-12-14 01:59:16 +00:00
Zuul 2d1f1762ef Merge "Deal with cross-cell resize in _remove_deleted_instances_allocations" 2019-12-14 01:59:07 +00:00
Zuul 01e5237fd0 Merge "Add revert_snapshot_based_resize_at_dest compute method" 2019-12-14 01:59:01 +00:00
Zuul 85abf26f4d Merge "Confirm cross-cell resize from the API" 2019-12-14 01:57:14 +00:00
Zuul b5a9f85226 Merge "nova-net: Remove unused 'stub_out_db_network_api'" 2019-12-13 22:21:34 +00:00
Zuul ee812e666c Merge "Move _update_pci_request_spec_with_allocated_interface_name" 2019-12-13 22:21:20 +00:00
Eric Fried bce0854959 DRY: Build ImageMetaPropsPayload from ImageMetaProps
ImageMetaPropsPayload (for notifications) was supposed to contain
exactly the same fields as ImageMetaProps itself; and the SCHEMA member
was those same keys in a trivially different shape. And we were having
trouble remembering to keep these two objects in sync before. So this
commit eliminates the repetition and just generates
ImageMetaPropsPayload's `fields` and `SCHEMA` from
ImageMetaProps.fields.

Change-Id: I7dc38f7f5a62098fb0c366736f27e23bd7b7ee86
2019-12-13 19:46:12 +00:00
Zuul 9428a1e53b Merge "Add confirm_snapshot_based_resize conductor RPC method" 2019-12-13 19:14:27 +00:00
Matt Riedemann 685dc60d58 api-ref: avoid mushy wording around server.image description
This disambiguates the description on the server.image parameter.
If the server is booted from volume (where boot from volume means
there is a bdm with boot_index=0 and destination_type=volume),
then the server.image will be an empty string [1] otherwise it
will be a dict.

[1] https://github.com/openstack/nova/blob/2f0f8b8cf13b7441ce6a7a524b33d30d40f1d468/nova/api/openstack/compute/views/servers.py#L540

Change-Id: Ia1ecd39a5636fa5a35cdbcafc03828b2925a9033
2019-12-13 12:39:01 -05:00
Sean Mooney 7dce615362 Sync ImageMetaPropsPayload fields
This change adds missing fields to the image metadata
notification object and adds a unit tests to assert
that the notification object and nova object stay in sync.

This change also adds unit tests to assert the notification
schema and fields are in sync and that the schema is
valid.

Change-Id: I36ea5d5e677ab3e6c88223b20f5377e9471c55db
Closes-Bug: #1856100
2019-12-13 10:08:07 -06:00
Zuul 2f0f8b8cf1 Merge "Move _get_request_group_mapping() to RequestSpec" 2019-12-13 15:34:11 +00:00
Balazs Gibizer deada11da1 Move _update_pci_request_spec_with_allocated_interface_name
This patch moves _update_pci_request_spec_with_allocated_interface_name
from the ComputeManager to nova.compute.utils as a later patch needs to
call it from outside of the ComputeManager.

This patch also changes the exception types raised from
update_pci_request_spec_with_allocated_interface_name as raising
BuildAbortException from a util method does not make too much
sense. This means that some of the callers also needed to be adjusted to
handle the new exception types.

In the _do_rebuild_instance_with_claim code path the exception type is
not translated back to BuildAbortException as the old and the new
exceptions are both handled by the except Exception branch in
rebuild_instance [1].

[1] https://github.com/openstack/nova/blob/ed503ce3e1a8598c6e8ee9d8b345c1d92df01539/nova/compute/manager.py#L3448

Change-Id: I5853a0f6e133044ffc1861d21008e568ad62ffc7
blueprint: support-move-ops-with-qos-ports-ussuri
2019-12-13 15:21:54 +01:00
Stephen Finucane 3dbdbb4e2b Revert "(Temporarily) readd bare support for py27"
This reverts commit 33a2a5f2e4. We're now
at M1 and the DevStack default has been changed. We no longer need to
pretend to support Python 2.7. This is slightly modified to drop an
additional Python 2.7-only dependency from lower-constraints.txt.

[1] I52b03caee0ba700da3a15035201ea6cd91baa06b

Change-Id: I1068850072e639ee268d68ca82249f569a40310e
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2019-12-13 12:45:52 +00:00
Zuul aa096fd183 Merge "Follow up to I5b9d41ef34385689d8da9b3962a1eac759eddf6a" 2019-12-13 08:32:07 +00:00
Zuul b6e353a2c8 Merge "support pci numa affinity policies in flavor and image" 2019-12-13 00:25:32 +00:00
Zuul 7a6349afb5 Merge "trivial: Remove dead code" 2019-12-13 00:25:26 +00:00
Zuul e954a05697 Merge "Keep pre-commit inline with hacking and fix whitespace" 2019-12-12 23:39:20 +00:00
Zuul cc6473d231 Merge "Don't hardcode Python versions in test" 2019-12-12 22:51:57 +00:00
Zuul 5b304bbdaf Merge "trivial: Resolve (most) flake8 3.x issues" 2019-12-12 22:24:40 +00:00
Matt Riedemann c2e315975c Support cross-cell moves in external_instance_event
The external_instance_event method in the API assumed
that all events for an instance would be routed to
hosts within the same cell the instance lives in, but
that is no longer the case when a cross-cell migration
is happening.

This changes the external_instance_event flow to check
if the instance is undergoing a cross-cell migration
and if so, gets the host mappings for the source and
dest host to properly target the context for the
cast to each compute in different cells.

Part of blueprint cross-cell-resize

Change-Id: Ie556b5837e7b45b314616fd4b19dc08c8193ed54
2019-12-12 12:45:06 -05:00