Manage hosts in the current zone.
Bases: object
Base HostManager class.
Returns a dict of all the hosts the HostManager knows about.
Each of the consumable resources in HostState are populated with capabilities scheduler received from RPC.
Filter hosts and return only ones passing all filters.
Returns a dict of all pools on all hosts HostManager knows about.
Weigh the hosts.
Update the per-service capabilities based on this notification.
Bases: object
Mutable and immutable information tracked for a volume backend.
Incrementally update host state from a volume.
Update information about a host from its volume_node info.
‘capability’ is the status info reported by volume backend, a typical capability looks like this:
{
capability = {
'volume_backend_name': 'Local iSCSI', #
'vendor_name': 'OpenStack', # backend level
'driver_version': '1.0', # mandatory/fixed
'storage_protocol': 'iSCSI', # stats&capabilities
'active_volumes': 10, #
'IOPS_provisioned': 30000, # optional custom
'fancy_capability_1': 'eat', # stats & capabilities
'fancy_capability_2': 'drink', #
'pools': [
{'pool_name': '1st pool', #
'total_capacity_gb': 500, # mandatory stats for
'free_capacity_gb': 230, # pools
'allocated_capacity_gb': 270, #
'QoS_support': 'False', #
'reserved_percentage': 0, #
'dying_disks': 100, #
'super_hero_1': 'spider-man', # optional custom
'super_hero_2': 'flash', # stats & capabilities
'super_hero_3': 'neoncat' #
},
{'pool_name': '2nd pool',
'total_capacity_gb': 1024,
'free_capacity_gb': 1024,
'allocated_capacity_gb': 0,
'QoS_support': 'False',
'reserved_percentage': 0,
'dying_disks': 200,
'super_hero_1': 'superman',
'super_hero_2': ' ',
'super_hero_2': 'Hulk'
}
]
}
}
Update storage pools information from backend reported info.
Bases: cinder.scheduler.host_manager.HostState
Update information about a pool from its volume_node info.
Bases: _abcoll.Mapping
A read-only dict.