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:
  1. Split replication.
  2. 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:
  1. create remote lun
  2. create replication pair
  3. enable replication pair
create_rmt_lun(local_lun_info)
delete_replica(volume)

Delete replication pair and remote lun.

Purpose:
  1. delete replication pair
  2. 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)