def update_service(self, service_id, values): # NOTE(dtantsur): this can lead to very strange errors if 'uuid' in values: msg = _("Cannot overwrite UUID for an existing Service.") raise exception.InvalidParameterValue(err=msg) try: return self._do_update_service(service_id, values) except db_exc.DBDuplicateEntry as e: if 'name' in e.columns: raise exception.DuplicateName(name=values['name']) elif 'uuid' in e.columns: raise exception.ServiceAlreadyExists(uuid=values['uuid']) else: raise e
def update_injection_plugin(self, plugin_injection_id, values): if 'uuid' in values: msg = _("Cannot overwrite UUID for an existing Plugin.") raise exception.InvalidParameterValue(err=msg) try: return self._do_update_injection_plugin( plugin_injection_id, values) except db_exc.DBDuplicateEntry as e: if 'name' in e.columns: raise exception.DuplicateName(name=values['name']) elif 'uuid' in e.columns: raise exception.PluginAlreadyExists(uuid=values['uuid']) else: raise e