The cinder.volume.drivers.synology.synology_common Module¶
-
class
AESCipher(password, key_length=32)¶ Bases:
objectEncrypt with OpenSSL-compatible way
-
SALT_MAGIC= ‘Salted__’¶
-
encrypt(text)¶
-
-
class
APIRequest(host, port, username, password, https=False, ssl_verify=True, one_time_pass=None, device_id=None)¶ Bases:
object-
new_session()¶
-
request(*args, **kwargs)¶
-
-
class
Session(host, port, username, password, https=False, ssl_verify=True, one_time_pass=None, device_id=None)¶ Bases:
object-
did()¶
-
query(api)¶
-
sid()¶
-
url_prefix()¶
-
-
class
SynoCommon(config, driver_type)¶ Bases:
objectManage Cinder volumes on Synology storage
-
CINDER_LUN= ‘CINDER’¶
-
METADATA_DS_SNAPSHOT_UUID= ‘ds_snapshot_UUID’¶
-
TARGET_NAME_PREFIX= ‘Cinder-Target-‘¶
-
check_for_setup_error()¶
-
check_response(out, **kwargs)¶
-
check_value_valid(obj, key_array, value_type=None)¶
-
create_cloned_volume(volume, src_vref)¶
-
create_iscsi_export(volume_name, identifier)¶
-
create_snapshot(snapshot)¶
-
create_volume(volume)¶
-
create_volume_from_snapshot(volume, snapshot)¶
-
delete_snapshot(snapshot)¶
-
delete_volume(volume)¶
-
exec_webapi(api, method, version, **kwargs)¶
-
extend_volume(volume, new_size)¶
-
get_ip()¶
-
get_iqn_and_trgid(location)¶
-
get_iscsi_properties(volume)¶
-
get_provider_location(iqn, trg_id)¶
-
is_lun_mapped(lun_name)¶
-
remove_iscsi_export(volume_name, trg_id)¶
-
update_migrated_volume(volume, new_volume)¶
-
update_volume_stats()¶ Update volume statistics.
Three kinds of data are stored on the Synology backend pool: 1. Thin volumes (LUNs on the pool), 2. Thick volumes (LUNs on the pool), 3. Other user data.
other_user_data_gb is the size of the 3rd one. lun_provisioned_gb is the summation of all thin/thick volume provisioned size.
Only thin type is available for Cinder volumes.
-