The cinder.volume.drivers.synology.synology_common Module¶
- 
class AESCipher(password, key_length=32)¶
- Bases: - object- Encrypt 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: - object- Manage 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. 
 
-