manila/manila/scheduler/filters
Chuan Miao 7e7ec7337c Add Share Affinity/Anti-Affinity Scheduler Filters
This patch implements hard affinity and anti-affinity filter for
manila scheduler. Users can specify affinity/anti-affinity share
ids to the field "share.scheduler_hints.same_host" or
"share.scheduler_hints.different_host" in the request payload
when creating a manila share. The scheduler_hints are stored as
share metadata. The filter properties are populated from this
metadata during share migration and so filters will be applied
for share migration as well.

Both fields can be a single share UUID or multiple uuids
separated by comma. For example,

`{
    "share": {
        "scheduler_hints": {
            "same_host": "share_uuid_1,share_uuid_2",
            "different_host": "share_uuid_3"
        }
    }
}`

Implements: bp/affinity-antiaffinity-filter

Change-Id: Ic42d8a0c1d22e77ae64e0ca014607b28fd336467
Co-authored-by: Maurice Escher <maurice.escher@sap.com>
2021-09-03 08:58:46 +02:00
..
share_group_filters [Share groups] Add scheduler filter ConsistentSnapshotFilter 2017-06-02 17:48:05 +03:00
__init__.py Address H104 File contains nothing but comments 2014-07-14 10:19:15 +02:00
affinity.py Add Share Affinity/Anti-Affinity Scheduler Filters 2021-09-03 08:58:46 +02:00
availability_zone.py Allow configuring availability_zones in share types 2019-02-13 17:39:48 +00:00
base_host.py Reorganize scheduler and merge code from Oslo incubator 2015-12-01 20:54:17 +00:00
base.py Provide filter name in user messages 2017-07-24 11:11:06 +00:00
capabilities.py Filter storage protocol in the scheduler 2021-03-17 18:18:56 -07:00
capacity.py Add config option reserved_share_from_snapshot_percentage. 2021-08-27 19:10:36 +02:00
create_from_snapshot.py Create share from snapshot in another pool or backend 2020-04-09 11:15:22 -03:00
driver.py remove usage of six library 2021-01-27 13:46:31 -08:00
extra_specs_ops.py remove usage of six library 2021-01-27 13:46:31 -08:00
ignore_attempted_hosts.py Enable some off-by-default checks 2017-08-03 16:13:32 +08:00
json.py remove usage of six library 2021-01-27 13:46:31 -08:00
retry.py Remove None as a redundant argument to dict.get() 2016-02-17 00:06:14 +08:00
share_replication.py Fix tox errors and warnings in the devref 2016-05-22 10:50:02 -04:00