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>
99 lines
4.4 KiB
INI
99 lines
4.4 KiB
INI
[metadata]
|
|
name = manila
|
|
summary = Shared Storage for OpenStack
|
|
description_file =
|
|
README.rst
|
|
author = OpenStack
|
|
author_email = openstack-discuss@lists.openstack.org
|
|
home_page = https://docs.openstack.org/manila/latest/
|
|
python_requires = >=3.6
|
|
classifier =
|
|
Environment :: OpenStack
|
|
Intended Audience :: Information Technology
|
|
Intended Audience :: System Administrators
|
|
License :: OSI Approved :: Apache Software License
|
|
Operating System :: POSIX :: Linux
|
|
Programming Language :: Python
|
|
Programming Language :: Python :: 3
|
|
Programming Language :: Python :: 3.6
|
|
Programming Language :: Python :: 3.7
|
|
Programming Language :: Python :: 3.8
|
|
[global]
|
|
setup_hooks =
|
|
pbr.hooks.setup_hook
|
|
|
|
[files]
|
|
data_files =
|
|
etc/manila =
|
|
etc/manila/api-paste.ini
|
|
etc/manila/rootwrap.conf
|
|
etc/manila/rootwrap.d = etc/manila/rootwrap.d/*
|
|
packages =
|
|
manila
|
|
|
|
[entry_points]
|
|
console_scripts =
|
|
manila-all = manila.cmd.all:main
|
|
manila-api = manila.cmd.api:main
|
|
manila-data = manila.cmd.data:main
|
|
manila-manage = manila.cmd.manage:main
|
|
manila-rootwrap = oslo_rootwrap.cmd:main
|
|
manila-scheduler = manila.cmd.scheduler:main
|
|
manila-share = manila.cmd.share:main
|
|
manila-status = manila.cmd.status:main
|
|
wsgi_scripts =
|
|
manila-wsgi = manila.wsgi.wsgi:initialize_application
|
|
manila.scheduler.filters =
|
|
AffinityFilter = manila.scheduler.filters.affinity:AffinityFilter
|
|
AntiAffinityFilter = manila.scheduler.filters.affinity:AntiAffinityFilter
|
|
AvailabilityZoneFilter = manila.scheduler.filters.availability_zone:AvailabilityZoneFilter
|
|
CapabilitiesFilter = manila.scheduler.filters.capabilities:CapabilitiesFilter
|
|
CapacityFilter = manila.scheduler.filters.capacity:CapacityFilter
|
|
DriverFilter = manila.scheduler.filters.driver:DriverFilter
|
|
IgnoreAttemptedHostsFilter = manila.scheduler.filters.ignore_attempted_hosts:IgnoreAttemptedHostsFilter
|
|
JsonFilter = manila.scheduler.filters.json:JsonFilter
|
|
RetryFilter = manila.scheduler.filters.retry:RetryFilter
|
|
ShareReplicationFilter = manila.scheduler.filters.share_replication:ShareReplicationFilter
|
|
CreateFromSnapshotFilter = manila.scheduler.filters.create_from_snapshot:CreateFromSnapshotFilter
|
|
# Share Group filters
|
|
ConsistentSnapshotFilter = manila.scheduler.filters.share_group_filters.consistent_snapshot:ConsistentSnapshotFilter
|
|
|
|
manila.scheduler.weighers =
|
|
CapacityWeigher = manila.scheduler.weighers.capacity:CapacityWeigher
|
|
GoodnessWeigher = manila.scheduler.weighers.goodness:GoodnessWeigher
|
|
PoolWeigher = manila.scheduler.weighers.pool:PoolWeigher
|
|
HostAffinityWeigher = manila.scheduler.weighers.host_affinity:HostAffinityWeigher
|
|
|
|
# These are for backwards compat with Havana notification_driver configuration values
|
|
oslo_messaging.notify.drivers =
|
|
manila.openstack.common.notifier.log_notifier = oslo_messaging.notify._impl_log:LogDriver
|
|
manila.openstack.common.notifier.no_op_notifier = oslo_messaging.notify._impl_noop:NoOpDriver
|
|
manila.openstack.common.notifier.rpc_notifier2 = oslo_messaging.notify.messaging:MessagingV2Driver
|
|
manila.openstack.common.notifier.rpc_notifier = oslo_messaging.notify.messaging:MessagingDriver
|
|
manila.openstack.common.notifier.test_notifier = oslo_messaging.notify._impl_test:TestDriver
|
|
oslo.config.opts =
|
|
manila = manila.opts:list_opts
|
|
oslo.config.opts.defaults =
|
|
manila = manila.common.config:set_lib_defaults
|
|
oslo.policy.enforcer =
|
|
manila = manila.policy:get_enforcer
|
|
oslo.policy.policies =
|
|
# The sample policies will be ordered by entry point and then by list
|
|
# returned from that entry point. If more control is desired split out each
|
|
# list_rules method into a separate entry point rather than using the
|
|
# aggregate method.
|
|
manila = manila.policies:list_rules
|
|
manila.share.drivers.dell_emc.plugins =
|
|
vnx = manila.share.drivers.dell_emc.plugins.vnx.connection:VNXStorageConnection
|
|
unity = manila.share.drivers.dell_emc.plugins.unity.connection:UnityStorageConnection
|
|
isilon = manila.share.drivers.dell_emc.plugins.isilon.isilon:IsilonStorageConnection
|
|
powermax = manila.share.drivers.dell_emc.plugins.powermax.connection:PowerMaxStorageConnection
|
|
manila.tests.scheduler.fakes =
|
|
FakeWeigher1 = manila.tests.scheduler.fakes:FakeWeigher1
|
|
FakeWeigher2 = manila.tests.scheduler.fakes:FakeWeigher2
|
|
|
|
[egg_info]
|
|
tag_build =
|
|
tag_date = 0
|
|
tag_svn_revision = 0
|