blob: a575389d2d4edcd1267b64c311d5aba740f9d764 [file] [log] [blame]
import base_section
from runtest import conditions
class Volume(base_section.BaseSection):
name = "volume"
options = [
'backend_names',
'build_interval',
'build_timeout',
'catalog_type',
'disk_format',
'endpoint_type',
'manage_snapshot_ref',
'manage_volume_ref',
'max_microversion',
'min_microversion',
'region',
'storage_protocol',
'vendor_name',
'volume_size',
]
@property
def backend_names(self):
pass
@property
def build_interval(self):
pass
@property
def build_timeout(self):
pass
@property
def catalog_type(self):
return 'volumev2'
@property
def disk_format(self):
pass
@property
def endpoint_type(self):
pass
@property
def manage_snapshot_ref(self):
pass
@property
def manage_volume_ref(self):
pass
@property
def max_microversion(self):
pass
@property
def min_microversion(self):
pass
@property
def region(self):
c = conditions.BaseRule('cinder.controller.enabled', 'eq', True)
return self.get_item_when_condition_match(
'cinder.controller.identity.region', c)
@property
def storage_protocol(self):
c = conditions.BaseRule('cinder.volume.enabled', 'eq', True)
backends = (self.get_item_when_condition_match(
'cinder.volume.backend', c) or self.get_item_when_condition_match(
'cinder.controller.backend', c))
if not backends:
return
# TODO: Add more backends here
protocol_map = {'ceph': 'ceph', 'lvm': 'iSCSI'}
# TODO: cinder support multibackends with different storage protocols,
# pick first we know about for now, but might be refactored in future.
for backend_name, backend in backends.iteritems():
res = backend['engine']
return protocol_map.get(res)
@property
def vendor_name(self):
pass
@property
def volume_size(self):
pass