Commit Graph

47732 Commits

Author SHA1 Message Date
Jenkins fc4fddb901 Merge "Allocate resources on forced dest host during live migration" 2017-08-23 14:57:05 +00:00
Jenkins 2c47063a4f Merge "Fix quobyte test_validate_volume_no_mtab_entry" 2017-08-23 13:36:34 +00:00
Jenkins 5b35802244 Merge "Add language for compute node configuration" 2017-08-23 08:54:31 +00:00
Jenkins bd89a0deb2 Merge "update comment for dropping support" 2017-08-23 06:08:48 +00:00
Matt Riedemann 5d3a11b9c9 Allocate resources on forced dest host during live migration
When forcing a host during live migration, conductor bypasses
the scheduler so the scheduler won't create an allocation in
Placement against the destination host.

With change Ia93168b1560267178059284186fb2b7096c7e81f, once all
computes are upgraded to Pike, the computes won't auto-heal the
allocations for their respective nodes either, so we end up with
no allocation for the destination node during a live migration when
the host is forced.

This change makes conductor use the source compute node allocations
for the instance to claim the same resource amounts on the forced
destination host in Placement. If the claim fails, a
MigrationPreCheckError is raised.

This is a short-term fix for Pike. A longer-term fix to avoid this
duplication with the scheduler is to have conductor call the
scheduler even when force=True but pass a flag to the scheduler
so it skips the filters but still makes the claim on the destination
node.

Finally, some comments are left in the live_migrate method in the
compute API code since this is all tightly-coupled between the
API and conductor when a host is specified in the request, and it's
easy to get lost on what the API is doing to the request spec which
changes how conductor behaves, i.e. if it calls the scheduler or not.

Change-Id: I40b5af5e85b1266402a7e4bdeb3705e1b0bd6f3b
Closes-Bug: #1712008
2017-08-22 19:36:48 -04:00
Jenkins b7e0f6dc75 Merge "Skip test_rebuild_server_in_error_state for cells v1" 2017-08-22 18:42:01 +00:00
Drew Fisher 60497a9051 Add language for compute node configuration
Add some clarifying language around the configuration of compute nodes
for cell v2 discovery.

Change-Id: I8225eb8b983219d774a3e22edd1af12bd5e52967
2017-08-22 10:10:08 -07:00
Jenkins d9db60d603 Merge "Fix a wrong link" 2017-08-22 17:06:09 +00:00
Jenkins 6a70fd9749 Merge "doc: code review considerations for online data migrations" 2017-08-22 17:05:44 +00:00
Jenkins b6b2c353de Merge "Add track_instance_changes note in disable_group_policy_check_upcall" 2017-08-22 17:05:19 +00:00
Jenkins a930fe989c Merge "Add description on maximum placement API version" 2017-08-22 16:11:43 +00:00
Jenkins 7dd94e8c0d Merge "Add functional live migrate test" 2017-08-22 14:15:04 +00:00
Jenkins daf4fa7456 Merge "Add functional force live migrate test" 2017-08-22 14:13:02 +00:00
Jenkins afa54ca49e Merge "trivial: Remove dead function, variable" 2017-08-22 08:00:43 +00:00
Jenkins 145487a177 Merge "Reset client session when placement endpoint not found" 2017-08-22 07:51:00 +00:00
Jenkins 41ff707efd Merge "doc: Address review comments for main index" 2017-08-21 22:13:46 +00:00
Lajos Katona 1ce7a136b3 Add functional live migrate test
Live migration now seems to be failing, as after the movement of the VM,
the allocations are both present on the source host, and on the
destination host.
The related assertions are commented out and replaced with wrong ones to
make the test pass.

Change-Id: Ib15d34c8da14dd006a0782e325d3c5e7b83fd0f1
Related-Bug: #1712045
2017-08-21 16:38:24 -04:00
Lajos Katona 52d732d6bd Add functional force live migrate test
Forced live migration now seems to be failing, as after the movement of
the VM, the allocations are only present on the source host, and not on
the destination host.
The related assertions are commented out and replaced with wrong ones to
make the test pass.

Related-Bug: #1712008
Change-Id: I6856f57426db6f2f49daea86679b50d5d019fe19
2017-08-21 16:35:43 -04:00
Sean Dague d2d57acbf5 doc: Address review comments for main index
Per comments in I6815958b2533d462a2e5d27e7be57440d9f4f40a and
I5fdafd9f6cf07a19bf86a6343663dad410887dcb.

Part of bp: doc-migration

Change-Id: Iac833503b57386ab91fa86f8c48f0dd8039e5922
2017-08-21 16:18:28 -04:00
Jenkins f34e8421ee Merge "doc: Address review comments for contributor index" 2017-08-21 20:06:01 +00:00
Jenkins 978f7dab32 Merge "Correct statement in api-ref" 2017-08-21 19:43:56 +00:00
Stephen Finucane ca61be287c trivial: Remove dead function, variable
These are no longer used anywhere and can be removed.

Change-Id: Iad73cdf92e4aec94b70d05f2f9a823432b1dea1a
2017-08-21 17:09:27 +01:00
Jenkins d385bf3918 Merge "Clarify that vlan feature means nova-network support" 2017-08-21 15:29:41 +00:00
Jenkins 4db37db95b Merge "replace chance with filter scheduler in func tests" 2017-08-21 15:29:19 +00:00
yushangbin 76323b39db Correct statement in api-ref
Change-Id: Idc69876695e04d85df942ea2374d89342b27dc0f
2017-08-21 11:33:34 +08:00
Chris Suttles e1ad386f98 Fix quobyte test_validate_volume_no_mtab_entry
Fix test_validate_volume_no_mtab_entry. Currently depends on /etc/mtab,
this patches and mocks psutil.disk_partitions, which is the source of
the dependency.

Change-Id: Ie10b134a1840b1277c0c4059f634a6bafd256c2d
Closes-Bug: #1708196
2017-08-18 22:27:43 -07:00
OpenStack Proposal Bot d48ba9873a Updated from global requirements
Change-Id: Idda59f3cf870479b5ca6ea3ab4516306d8e0075d
2017-08-18 15:53:20 +00:00
Jenkins 08ec8a1ad3 Merge "Remove host filter for _cleanup_running_deleted_instances periodic task" 2017-08-17 22:27:18 +00:00
Jenkins d64a292fb3 Merge "Show quota detail when inject file quota exceeds" 2017-08-17 21:34:16 +00:00
jichenjc cf417db2e6 update comment for dropping support
it's apparently too late to make this change in Pike rc stage
so defer to Queens by changing the release version.

Change-Id: I006f41383dcef68d63a646665a56cbd4c3f93c4b
2017-08-17 18:38:38 +00:00
Jenkins 9ab057bc3f Merge "Clean up resources at shelve offload" 2017-08-17 17:39:48 +00:00
Jenkins 18f8347275 Merge "test shelve and shelve offload with placement" 2017-08-17 17:21:34 +00:00
Jenkins 5924bea125 Merge "delete allocation of evacuated instance" 2017-08-17 16:50:22 +00:00
Maciej Józefczyk aba3f64932 Remove host filter for _cleanup_running_deleted_instances periodic task
Periodic task _cleanup_running_deleted_instances() looks for orphaned
and running instances on hypervisor that should be deleted.
The problem is it checks if running instance has the same
hypervisor defined as it is in nova database.

In bug #1285000 it has been found that removing instance during
its migration could lead to abandon instance files on destination
host.

This change removes host filter in _running_deleted_instances() to
find also orphaned instances that are running on 'post migration'
destination host.

Change-Id: Idd1b58b85329b8e021eba4bc27f577af1b3338f4
Partial-Bug: #1285000
2017-08-17 17:04:09 +02:00
Jenkins f28da08a1b Merge "Fix contributor documentation" 2017-08-17 04:55:56 +00:00
Jenkins 6824847063 Merge "Make scheduler.utils.merge_resources ignore zero values" 2017-08-17 02:51:44 +00:00
Jenkins c5de320160 Merge "remove extension param and usage" 2017-08-16 21:35:08 +00:00
Jenkins c7153048f3 Merge "Clean up *most* ec2 / euca2ools references" 2017-08-16 19:55:12 +00:00
Jenkins 029c42243f Merge "Add documentation for documentation contributions" 2017-08-16 19:54:35 +00:00
Ken'ichi Ohmichi 547725946b Fix contributor documentation
There are some small comments on the review of
Ib2b49f70c55311195535a5ef250ff555e227fa0a
This is a follow-up for these comments.

Change-Id: I1d2d95a0864578161a34084db31eb460e895c1ec
2017-08-16 10:20:12 -07:00
Jenkins e783c9db95 Merge "Fix reporting inventory for provisioned nodes in the Ironic driver" 2017-08-16 15:23:00 +00:00
Balazs Gibizer cc83335987 replace chance with filter scheduler in func tests
FilterScheduler is the only scheduler driver that properly integrated
with placement api so this patch changes the functional test environment
to use the FilterScheduler instead of the ChanceScheduler.

The amount of vcpu the SmallFakeDriver reports need to be bumped to 2
as during resize to same host the filter scheduler doubles the
allocation on the host. Simply relying on the 16.0 default allocation
ratio does not work as the max_unit of the vcpu does not use the
allocation ratio to avoid that a single server overallocates the cpu.

The only change in unit test is
test_create_instance_with_oversubscribed_cpu which also loads the
SmallFakeDriver and asserts available resources on it.

Change-Id: I12de2e195022593ea2a3e2894f2c3b5226930d4f
2017-08-16 14:42:51 +00:00
Balazs Gibizer 563d71f7cc Clean up resources at shelve offload
Resource tracker doesn't clean up the resources of an instance after
it is offloaded since Ia93168b1560267178059284186fb2b7096c7e81f. So
this patch proposes an explicit cleanup in compute manager.

Closes-Bug: #1710249
Change-Id: Ib16e987d50162a4c11a31692704859b981915bed
2017-08-16 16:39:43 +02:00
Balazs Gibizer 13c39b1e79 test shelve and shelve offload with placement
The following 3 scenarios are covered by this patch:
* boot, shelve, unshelve, delete
* boot, shelve, shelve offload, unshelve on different host, delete
* boot, shelve, shelve offload, unshelve on the same host, delete

The second and the third scenarios are faulty and therefore those
test cases now assert the wrong behavior but contain the expected
behavior as commented out asserts.

Change-Id: Iaf88f8802a456d5e197b65405fa6959a2c514325
Related-Bug: 1710249
2017-08-16 16:13:46 +02:00
Balazs Gibizer 9b9c2c52f3 delete allocation of evacuated instance
After evacuation the instance has allocations on both the source and
the destination computes. This is OK as the source compute is down.
However after the source compute is brought up the allocation from
the source host needs to be cleaned up.

Closes-Bug: #1709902
Change-Id: I0df401a7c91f012fdb25cb0e6b344ca51de8c309
2017-08-16 13:15:24 +02:00
Chris Dent 7c463e2e76 Make scheduler.utils.merge_resources ignore zero values
If merge_resources results in a class of resource with a value of zero,
and that result is then used to form an allocation request, the
allocation will be rejected: the json schema for allocations requires
the value of a resource class to be at least 1.

Therefore merge_resources is changed so that anywhere the value is zero
in the results, that key is popped from the dict. We need to do it in
this way because we are modifying an existing dict, not returning a new
one that we are assembling.

Change-Id: Idea9315d6bce8b341f0c3d2dc0accca6ac259587
Closes-Bug: #1710908
2017-08-16 08:30:46 +00:00
gaozx b7675bd4b2 Fix a wrong link
Change-Id: Ie238513abc1ca5f9fc89d5b32b8df2116b6c59c7
2017-08-16 16:08:52 +08:00
Jenkins fefff942ef Merge "placement: avoid returning duplicated alloc_reqs when no sharing rp" 2017-08-15 21:11:46 +00:00
Jenkins 09ed3b5626 Merge "Remove translation of log messages" 2017-08-15 21:10:02 +00:00
Jenkins 019c917a0e Merge "Fix messages in functional tests" 2017-08-15 20:39:16 +00:00