'Create a copy pair on the storage.'

@coordination.synchronized('{self.lock[create_pair]}')
def create_pair_on_storage(self, pvol, svol, is_thin):

    path_list = []
    (vol_type, pair_info) = self._get_vol_type_and_pair_info(pvol)
    if (vol_type == SVOL):
        self._delete_pair_based_on_svol(pair_info['pvol'], pair_info['svol_info'], no_restart=True)
    if (vol_type != PVOL):
        self._initialize_pair_connection(pvol)
        path_list.append(pvol)
    try:
        self._initialize_pair_connection(svol)
        path_list.append(svol)
        self._create_pair_on_storage_core(pvol, svol, is_thin, vol_type)
    except exception.VSPError:
        with excutils.save_and_reraise_exception():
            for ldev in path_list:
                try:
                    self._terminate_pair_connection(ldev)
                except exception.VSPError:
                    utils.output_log(MSG.UNMAP_LDEV_FAILED, ldev=ldev)
