254e37ab3c
AllocatedCapacityWeigher is a weigher that weigh hosts by their allocated capacity. The main purpose of this weigher is to simulate the SimpleScheduler's behavior, which sorts hosts by the size of all volumes on them. So by allocated capacity, it equals to the sum of size of all volumes on target host. In order to keep track of 'allocated' capacity, host state is updated to add a 'allocated_capacity_gb' attribute to record the value, which means each back-end must report one extra stats to scheduler. Fortunately, the 'allocated' capacity we are interested in here is pure Cinder level capacity, the volume manager can take all the burden to calculate this value without having to query back-ends. The volume manager does the initial calculation in init_host() by the time when it has to query all existing volumes from DB for ensure_export(). After initial calculation, volume manager/scheduler will keep track of every new request that changes 'allocated_capacity' and make sure this value is up to date. !DriverImpact! Cinder driver developers, please read on: This patch contains a change that might IMPACT volume drivers: volume manager now uses 'stats' attribute to save 'allocated_capacity_gb'. And this information will be merged with those stats drivers provide as a whole for scheduler to consume. If you plan to report any form of allocated space other than the apparent Cinder level value, (e.g. actual capacity allocated), Please choose a key name other than 'allocated_capacity_gb', otherwise it will *OVERWRITE* the value volume manager has calculated and confuse scheduler. Partially implements bp: deprecate-chance-and-simple-schedulers Change-Id: I306230b8973c2d1ad77bcab14ccde68e997ea816
76 lines
2.1 KiB
INI
76 lines
2.1 KiB
INI
[metadata]
|
|
name = cinder
|
|
version = 2014.1
|
|
summary = OpenStack Block Storage
|
|
description-file =
|
|
README.rst
|
|
author = OpenStack
|
|
author-email = openstack-dev@lists.openstack.org
|
|
home-page = http://www.openstack.org/
|
|
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 :: 2
|
|
Programming Language :: Python :: 2.7
|
|
Programming Language :: Python :: 2.6
|
|
|
|
[global]
|
|
setup-hooks =
|
|
pbr.hooks.setup_hook
|
|
|
|
[files]
|
|
packages =
|
|
cinder
|
|
scripts =
|
|
bin/cinder-all
|
|
bin/cinder-api
|
|
bin/cinder-backup
|
|
bin/cinder-clear-rabbit-queues
|
|
bin/cinder-manage
|
|
bin/cinder-rootwrap
|
|
bin/cinder-rpc-zmq-receiver
|
|
bin/cinder-rtstool
|
|
bin/cinder-scheduler
|
|
bin/cinder-volume
|
|
bin/cinder-volume-usage-audit
|
|
|
|
[entry_points]
|
|
cinder.scheduler.filters =
|
|
AvailabilityZoneFilter = cinder.openstack.common.scheduler.filters.availability_zone_filter:AvailabilityZoneFilter
|
|
CapabilitiesFilter = cinder.openstack.common.scheduler.filters.capabilities_filter:CapabilitiesFilter
|
|
CapacityFilter = cinder.scheduler.filters.capacity_filter:CapacityFilter
|
|
JsonFilter = cinder.openstack.common.scheduler.filters.json_filter:JsonFilter
|
|
RetryFilter = cinder.scheduler.filters.retry_filter:RetryFilter
|
|
cinder.scheduler.weights =
|
|
AllocatedCapacityWeigher = cinder.scheduler.weights.capacity:AllocatedCapacityWeigher
|
|
CapacityWeigher = cinder.scheduler.weights.capacity:CapacityWeigher
|
|
ChanceWeigher = cinder.scheduler.weights.chance:ChanceWeigher
|
|
|
|
[build_sphinx]
|
|
all_files = 1
|
|
build-dir = doc/build
|
|
source-dir = doc/source
|
|
|
|
[egg_info]
|
|
tag_build =
|
|
tag_date = 0
|
|
tag_svn_revision = 0
|
|
|
|
[compile_catalog]
|
|
directory = cinder/locale
|
|
domain = cinder
|
|
|
|
[update_catalog]
|
|
domain = cinder
|
|
output_dir = cinder/locale
|
|
input_file = cinder/locale/cinder.pot
|
|
|
|
[extract_messages]
|
|
keywords = _ gettext ngettext l_ lazy_gettext
|
|
mapping_file = babel.cfg
|
|
output_file = cinder/locale/cinder.pot
|