The cinder.volume.drivers.huawei.replication Module¶
- 
class AbsReplicaOp(client)¶
- Bases: - object- 
create(**kwargs)¶
 - 
delete(replica_id)¶
 - 
get_replica_info(replica_id)¶
 - 
is_health_status(status, replica_info)¶
 - 
is_primary(replica_info)¶
 - 
is_running_status(status, replica_info)¶
 - 
protect_second(replica_id)¶
 - 
split(replica_id)¶
 - 
switch(replica_id)¶
 - 
sync(replica_id)¶
 - 
unprotect_second(replica_id)¶
 
- 
- 
class CGOp(client)¶
- Bases: - cinder.volume.drivers.huawei.replication.AbsReplicaOp
- 
class PairOp(client)¶
- Bases: - cinder.volume.drivers.huawei.replication.AbsReplicaOp- 
create(local_lun_id, rmt_lun_id, rmt_dev_id, rmt_dev_name, replica_model, speed='2', period='3600', **kwargs)¶
 - 
delete(pair_id, force=False)¶
 - 
get_replica_info(pair_id)¶
 - 
protect_second(pair_id)¶
 - 
split(pair_id)¶
 - 
switch(pair_id)¶
 - 
sync(pair_id)¶
 - 
unprotect_second(pair_id)¶
 
- 
- 
class ReplicaCommonDriver(conf, replica_op)¶
- Bases: - object- 
enable(replica_id, wait_sync_complete=False)¶
 - 
failover(replica_id)¶
- Failover replication. - Purpose:
- Split replication.
- Set secondary access read & write.
 
 
 - 
protect_second(replica_id)¶
 - 
split(replica_id)¶
 - 
switch(replica_id)¶
 - 
sync(replica_id, wait_complete=False)¶
 - 
unprotect_second(replica_id)¶
 - 
wait_expect_state(replica_id, running_status, health_status=None, interval=None, timeout=None)¶
 - 
wait_replica_ready(replica_id, interval=None, timeout=None)¶
 - 
wait_second_access(replica_id, access_level)¶
 
- 
- 
class ReplicaPairManager(local_client, rmt_client, conf)¶
- Bases: - object- 
build_rmt_lun_params(local_lun_info)¶
 - 
check_remote_available()¶
 - 
create_replica(local_lun_info, replica_model)¶
- Create remote LUN and replication pair. - Purpose:
- create remote lun
- create replication pair
- enable replication pair
 
 
 - 
create_rmt_lun(local_lun_info)¶
 - 
delete_replica(volume)¶
- Delete replication pair and remote lun. - Purpose:
- delete replication pair
- delete remote_lun
 
 
 - 
failback(volumes)¶
- Failover volumes back to primary backend. - The main steps: 1. Switch the role of replication pairs. 2. Copy the second LUN data back to primary LUN. 3. Split replication pairs. 4. Switch the role of replication pairs. 5. Enable replications. 
 - 
failover(volumes)¶
- Failover volumes back to secondary array. - Split the replication pairs and make the secondary LUNs R&W. 
 - 
get_remote_device_by_wwn(wwn)¶
 - 
get_rmt_dev_info()¶
 - 
try_get_remote_wwn()¶
 - 
update_replica_capability(stats)¶
 - 
wait_volume_online(client, lun_info, interval=None, timeout=None)¶
 
- 
- 
get_replication_driver_data(volume)¶
- 
get_replication_opts(opts)¶
- 
to_string(dict_data)¶