'Add the extend type.
Extend type is the service type which may conflict with the other.
So add it after those services.'

def _add_extend_type_to_volume(self, opts, lun_params, lun_info, model_update):

    lun_id = lun_info['ID']
    if (opts.get('hypermetro') == 'true'):
        metro = hypermetro.HuaweiHyperMetro(self.client, self.rmt_client, self.configuration)
        try:
            metro_info = metro.create_hypermetro(lun_id, lun_params)
            model_update['metadata'].update(metro_info)
        except exception.VolumeBackendAPIException as err:
            LOG.error('Create    hypermetro    error:    %s.', err)
            self._delete_lun_with_check(lun_id)
            raise
    if (opts.get('replication_enabled') == 'true'):
        replica_model = opts.get('replication_type')
        try:
            replica_info = self.replica.create_replica(lun_info, replica_model)
            model_update.update(replica_info)
        except Exception as err:
            LOG.exception('Create    replication    volume    error.')
            self._delete_lun_with_check(lun_id)
            raise
    return model_update
