Commit Graph

52129 Commits

Author SHA1 Message Date
Chris Dent 8b4fcdfdc6 Add placement perf info gathering hook to end of nova-next
This change adds a post test hook to the nova-next job to report
timing of a query to GET /allocation_candidates when there are 1000
resource providers with the same inventory.

A summary of the work ends up in logs/placement-perf.txt

Change-Id: Idc446347cd8773f579b23c96235348d8e10ea3f6
2018-08-14 15:42:08 +01:00
Zuul afe4512bf6 Merge "[placement] api-ref: Add missing aggregates example" 2018-08-13 17:03:01 +00:00
Zuul 1316dd55e5 Merge "add zvm into support matrix" 2018-08-13 15:08:13 +00:00
Takashi NATSUME c0639b50d7 [placement] api-ref: Add missing aggregates example
About "PUT /resource_providers/{uuid}/aggregates"
in the Placement API reference,
the example of the response body in microversion 1.1 - 1.18 is missing.
So add it.

Change-Id: Ic3dc665124ae7927cfa20cf70a08c39b856b8961
Closes-Bug: #1786759
2018-08-13 13:09:49 +00:00
Zuul 16f89fd093 Merge "improve migration script" 2018-08-13 04:05:32 +00:00
Zuul 54043dad7e Merge "Handle unicode characters in migration params" 2018-08-13 04:05:25 +00:00
Zuul 1c7740912b Merge "placement: use simple code paths when possible" 2018-08-13 04:05:19 +00:00
Zuul ef805cc5af Merge "Test case for multiple forbidden traits" 2018-08-13 03:58:48 +00:00
Zuul 8d797e8253 Merge "Adds a test for _get_provider_ids_matching()" 2018-08-13 03:58:41 +00:00
Zuul 4717dddc3c Merge "Trivial fix to remove extra 'will' on microversion doc" 2018-08-13 03:58:35 +00:00
Zuul 395a227be7 Merge "Revert "libvirt: slow live-migration to ensure network is ready"" 2018-08-13 03:58:27 +00:00
jichenjc 9a62184c9d add zvm into support matrix
z/VM driver is in Rocky release now and this patch adds
the z/VM support matrix update.

blueprint: add-zvm-driver-rocky

Change-Id: I58016140c7f556df91ce258733455647a26dd727
2018-08-13 02:01:03 +00:00
ghanshyam d7446900b3 Trivial fix to remove extra 'will' on microversion doc
This commit removes the extra 'will' in microversion
history doc.

Change-Id: Icc1a5da83cbcbea59b5b07e3b2218feff013e0b8
2018-08-12 09:56:50 +00:00
Zuul a29ace1d48 Merge "Remove patching the mock lib" 2018-08-10 21:00:44 +00:00
melanie witt f046d8b540 Handle unicode characters in migration params
There can be unicode characters in the params for live migration, for
example, the guest domain name in the destination XML. We need to
convert those to bytes when we call migrateToURI3 under python2.

The existing code was just calling str() for this, but that will fail
with the error:

  UnicodeEncodeError: 'ascii' codec can't encode characters...

We need to encode the unicode characters to do conversion.

The existing unit test wasn't using any unicode characters in its test
data, so this scenario wasn't covered.

Closes-Bug: #1768807

Change-Id: I4b34139a3c5e3e2b7cf7cbe50bdf3da3131b9b1c
2018-08-10 20:35:24 +00:00
Jay Pipes 9ea340eb0d placement: use simple code paths when possible
Somewhere in the past release, we started using extremely complex code
paths involving sharing providers, anchor providers, and nested resource
provider calculations when we absolutely don't need to do so.

There was a _has_provider_trees() function in the
nova/api/openstack/placement/objects/resource_provider.py file that used
to be used for top-level switching between a faster, simpler approach to
finding allocation candidates for a simple search of resources and
traits when no sharing providers and no nesting was used. That was
removed at some point and all code paths -- even for simple "get me
these amounts of these resources" when no trees or sharing providers are
present (which is the vast majority of OpenStack deployments) -- were
going through the complex tree-search-and-match queries and algorithms.

This patch changes that so that when there's a request for some
resources and there's no trees or sharing providers, we do the simple
code path. Hopefully this gets our performance for the simple, common
cases back to where we were pre-Rocky.

This change is a prerequisite for the following change which adds
debugging output to help diagnose which resource classes are running
out of inventory when GET /allocation_candidates returns 0 results.
That code is not possible without the changes here as they only
work if we can identify when a "simpler approach" is possible and
call that simpler code.

Related-Bug: #1786055
Partial-Bug: #1786519
Change-Id: I1fdbcdb7a1dd51e738924c8a30238237d7ac74e1
2018-08-10 16:19:42 -04:00
Eric Fried 327448e7cb Test case for multiple forbidden traits
Test case to expose a bug at [1] where symmetric difference (^) is being
used instead of difference (-).

[1] https://review.openstack.org/#/c/590041/6/nova/api/openstack/placement/objects/resource_provider.py@2911

Change-Id: I2e80fe75da1d1104d0562f087c74117fbe6b457b
2018-08-10 16:19:41 -04:00
Tetsuro Nakamura dc26780ef8 Adds a test for _get_provider_ids_matching()
This patch adds a test for _get_provider_ids_matching()
to verify it works correctly with required traits.

Related-Bug: #1786519
Change-Id: I2512e361f5eaa4e60701be7c8bf57b2e0a02a146
2018-08-10 16:19:41 -04:00
Zuul bdef346874 Merge "Add additional info to resource provider aggregates update API" 2018-08-10 19:59:39 +00:00
Dan Smith 411c45842f Revert "libvirt: slow live-migration to ensure network is ready"
This reverts commit 8e6d5d404c.

As detailed in the bug, this is overly racy, waiting for the event
potentially a long ways (and a couple RPC calls) away from where
the event will be triggered. The compute manager now has a generic
mechanism to do this which conflicts and replaces this functionality,
if enabled (default is off in Rocky, to be defaulted to on in Stein).

Conflicts:
	nova/tests/unit/virt/libvirt/test_driver.py
	nova/virt/libvirt/driver.py

Change-Id: Ibf2b5eeafd962e93ae4ab6290015d58c33024132
Closes-Bug: #1786346
2018-08-10 12:18:08 -07:00
Marcus Furlong dacf857145 improve migration script
Change-Id: I7bacbdd9a0a0914be507758436f7b9ceb465654c
2018-08-10 18:09:01 +00:00
Zuul 2813e78558 Merge "Quota details for key_pair "in_use" is 0." 2018-08-10 17:57:47 +00:00
Zuul 6fda2b0814 Merge "Update reno for stable/rocky" 2018-08-10 17:57:04 +00:00
Zuul b2ff372535 Merge "Nix 'new in 1.19' from 1.19 sections for rp aggs" 2018-08-10 15:35:42 +00:00
Zuul 59030dcd0d Merge "block_device: Rollback volumes to in-use on DeviceDetachFailed" 2018-08-10 15:35:33 +00:00
OpenStack Release Bot 4e62958802 Update reno for stable/rocky
Change-Id: Ieb01aff6be1d747a94b29391821aed23d33730ae
2018-08-10 09:53:55 +00:00
Balazs Gibizer d5284b6d97 Remove patching the mock lib
Since [1] was fixed we don't need to manually patch the mock lib to
avoid silently passing mistyped assert methods on mocks.

[1] https://bugs.python.org/issue21238

Change-Id: Iecf4dcf8e648c9191bf8846428683ec81812c026
2018-08-10 10:58:52 +02:00
Lee Yarwood 3a4b4b91b0 block_device: Rollback volumes to in-use on DeviceDetachFailed
The call to os-roll_detaching was dropped when
I3800b466a50b1e5f5d1e8c8a963d9a6258af67ee started to catch and reraise
DeviceDetachFailed. This call is required to ensure a volume returns to
an in-use state when the instance is unable to detach.

Closes-Bug: #1786318
Change-Id: I6b3dc09acc6f360806ce0ef8c8a65addbf4a8c51
2018-08-10 08:19:43 +01:00
Vishakha Agarwal fac7d6f2d2 Quota details for key_pair "in_use" is 0.
This patch updates the api-ref for 'in_use'
field of quota details for keypair which is
always 0 as it is user dependant parameter.

Closes-Bug: #1644457
Change-Id: I0323c411126314ddf3d689dc3120b039256ae81a
2018-08-10 10:33:59 +05:30
Chen 5f376327b5 Add additional info to resource provider aggregates update API
Mention that if any nonexistent aggregate uuids are provided, those
aggregates will be created automatically first during the update call.
I think this is a good addition since in fact I was much confused how
the aggregates can be created in the first place when playing with
the placement APIs.

Change-Id: I2f86715a21784eb974b73fc3edc74eedd73ad48b
2018-08-10 11:17:51 +08:00
Zuul c049061bd4 Merge "Update compute rpc version alias for rocky" 2018-08-10 02:05:41 +00:00
Zuul 1863fba34c Merge "Update ssh configuration doc" 2018-08-09 22:31:57 +00:00
Zuul ddc7c466d7 Merge "Add a prelude release note for the 18.0.0 Rocky GA" 2018-08-09 20:39:46 +00:00
Zuul 8ace40a24f Merge "Trivial fix on migration doc" 2018-08-09 20:39:40 +00:00
Zuul bea1b97178 Merge "[placement] api-ref: add description for 1.29" 2018-08-09 19:37:22 +00:00
Zuul 9d546732c8 Merge "Update the parameter explain when updating a volume attachment" 2018-08-09 17:44:47 +00:00
melanie witt 8bb8045b59 Add a prelude release note for the 18.0.0 Rocky GA
Change-Id: Iafcf8b6d90bb3d4607b1f55bab0e39bec52c6928
2018-08-09 16:16:29 +00:00
Eric Fried 69ad4bda49 Nix 'new in 1.19' from 1.19 sections for rp aggs
In the placement API reference, there is a separate section for
"microversions 1.19 -" for both List and Update resource provider
aggregates, so there's no need for the resource_provider_generation
field to mention that it's "New in version 1.19" in those sections.

Change-Id: I3fd02f21d4af11633c4aeb33925c279a1c3b4abd
2018-08-09 10:23:37 -05:00
Zuul 93888df0da Merge "Update nova network info when doing rebuild for evacuate operation" 2018-08-09 12:06:07 +00:00
Zuul 0e2c37e119 Merge "Fix host validity check for live-migration" 2018-08-09 11:36:47 +00:00
Zuul 3ec93ec6e2 Merge "Docs: Add guide to migrate instance with snapshot" 2018-08-09 11:27:28 +00:00
Chen c3ea973e55 Trivial fix on migration doc
This patch does the following:
1. Mention that the current doc is only relavant to cold-migration.
2. Additional live-migration reference is given.
3. The inappropriate --live flag in the example is removed.
4. Policy violation message is updated.
5. Replace a nova command with openstack commmand

Change-Id: Idaa7915ea47d11e30da3f12318082a10a4e73b3b
2018-08-09 11:16:28 +08:00
Takashi NATSUME d34de0f77e [placement] api-ref: add description for 1.29
Add description for nested resource providers
in allocation candidates, Placement API microversion 1.29
in the Placement API reference.

Change-Id: I22c2068ae860c1ef2cbdb0801e85a40acc2a097a
Implements: blueprint nested-resource-providers-allocation-candidates
2018-08-09 02:56:30 +00:00
fpxie a2a17c0625 Update the parameter explain when updating a volume attachment
When we update a volume attachment in nova api, we use volume_id instead
of attachment_id in params in latest api.

Change-Id: I5fc4d0ba3bb1c49dfaba2b2eed056441509cb9da
2018-08-09 02:45:19 +00:00
Chen d12449a91b Update ssh configuration doc
The main idea of this update is to make the configuration process
easier to read and follow.

Change-Id: I73cf811415900eaf99673de16f83ea7c9da16045
2018-08-09 10:37:19 +08:00
Zuul fc25d8a93c Merge "Add functional test for forced live migration rollback allocs" 2018-08-09 00:24:57 +00:00
Zuul 9e92129ca0 Merge "doc: mark the max microversion for rocky" 2018-08-08 23:57:55 +00:00
Zuul 73d143a69c Merge "api-ref: fix min_version for parent_provider_uuid in responses" 2018-08-08 23:57:47 +00:00
Zuul 1872a04e3a Merge "[placement] Avoid rp.get_by_uuid in allocation_candidates" 2018-08-08 23:57:39 +00:00
Zuul bb8b109728 Merge "Fix bad links for admin-guide" 2018-08-08 23:57:29 +00:00