'Get replication extra specifications.
Called when target array operations are necessary -
on create, extend, etc and when volume is failed over.
:param extra_specs: the extra specifications
:param rep_config: the replication configuration
:returns: repExtraSpecs - dict'

def _get_replication_extra_specs(self, extra_specs, rep_config):

    rep_extra_specs = deepcopy(extra_specs)
    rep_extra_specs[utils.ARRAY] = rep_config['array']
    rep_extra_specs[utils.SRP] = rep_config['srp']
    rep_extra_specs[utils.PORTGROUPNAME] = rep_config['portgroup']
    do_disable_compression = self.utils.is_compression_disabled(extra_specs)
    if do_disable_compression:
        if (not self.rest.is_compression_capable(rep_extra_specs[utils.ARRAY])):
            rep_extra_specs.pop(utils.DISABLECOMPRESSION, None)
    if extra_specs[utils.SLO]:
        (is_valid_slo, is_valid_workload) = self.provision.verify_slo_workload(rep_extra_specs[utils.ARRAY], extra_specs[utils.SLO], rep_extra_specs[utils.WORKLOAD], rep_extra_specs[utils.SRP])
        if ((not is_valid_slo) or (not is_valid_workload)):
            LOG.warning('The    target    array    does    not    support    the    storage    pool    setting    for    SLO    %(slo)s    or    workload    %(workload)s.    Not    assigning    any    SLO    or    workload.', {'slo': extra_specs[utils.SLO], 'workload': extra_specs[utils.WORKLOAD]})
            rep_extra_specs[utils.SLO] = None
            if extra_specs[utils.WORKLOAD]:
                rep_extra_specs[utils.WORKLOAD] = None
    return rep_extra_specs
