diff --git a/watcher/applier/actions/migration.py b/watcher/applier/actions/migration.py index dbb447d1f..e23632937 100644 --- a/watcher/applier/actions/migration.py +++ b/watcher/applier/actions/migration.py @@ -56,7 +56,10 @@ class Migrate(base.BaseAction): return wrapper.live_migrate_instance( instance_id=self.instance_uuid, dest_hostname=destination) else: - raise exception.InvalidParameterValue(err=self.migration_type) + raise exception.Invalid( + message=(_('Migration of type %(migration_type)s is not ' + 'supported.') % + {'migration_type': self.migration_type})) else: raise exception.InstanceNotFound(name=self.instance_uuid) diff --git a/watcher/common/exception.py b/watcher/common/exception.py index 53cab5209..e2c9d73df 100644 --- a/watcher/common/exception.py +++ b/watcher/common/exception.py @@ -133,12 +133,6 @@ class InvalidGoal(Invalid): msg_fmt = _("Goal %(goal)s is not defined in Watcher configuration file") -# Cannot be templated as the error syntax varies. -# msg needs to be constructed when raised. -class InvalidParameterValue(Invalid): - msg_fmt = _("%(err)s") - - class InvalidUUID(Invalid): msg_fmt = _("Expected a uuid but received %(uuid)s") diff --git a/watcher/db/api.py b/watcher/db/api.py index 356495675..467b3b315 100644 --- a/watcher/db/api.py +++ b/watcher/db/api.py @@ -122,7 +122,7 @@ class BaseConnection(object): :param audit_template_id: The id or uuid of an audit template. :returns: An audit template. :raises: AuditTemplateNotFound - :raises: InvalidParameterValue + :raises: Invalid """ @abc.abstractmethod @@ -209,7 +209,7 @@ class BaseConnection(object): :param audit_id: The id or uuid of an audit. :returns: An audit. :raises: AuditNotFound - :raises: InvalidParameterValue + :raises: Invalid """ def soft_delete_audit(self, audit_id): @@ -299,6 +299,7 @@ class BaseConnection(object): :returns: A action. :raises: ActionNotFound :raises: ActionReferenced + :raises: Invalid """ @abc.abstractmethod @@ -371,4 +372,5 @@ class BaseConnection(object): :returns: An action plan. :raises: ActionPlanNotFound :raises: ActionPlanReferenced + :raises: Invalid """ diff --git a/watcher/db/sqlalchemy/api.py b/watcher/db/sqlalchemy/api.py index 6cd5389b8..6ff0a8496 100644 --- a/watcher/db/sqlalchemy/api.py +++ b/watcher/db/sqlalchemy/api.py @@ -274,8 +274,9 @@ class Connection(api.BaseConnection): def update_audit_template(self, audit_template_id, values): if 'uuid' in values: - msg = _("Cannot overwrite UUID for an existing AuditTemplate.") - raise exception.InvalidParameterValue(err=msg) + raise exception.Invalid( + message=_("Cannot overwrite UUID for an existing " + "Audit Template.")) return self._do_update_audit_template(audit_template_id, values) @@ -383,8 +384,9 @@ class Connection(api.BaseConnection): def update_audit(self, audit_id, values): if 'uuid' in values: - msg = _("Cannot overwrite UUID for an existing Audit.") - raise exception.InvalidParameterValue(err=msg) + raise exception.Invalid( + message=_("Cannot overwrite UUID for an existing " + "Audit.")) return self._do_update_audit(audit_id, values) @@ -474,8 +476,9 @@ class Connection(api.BaseConnection): def update_action(self, action_id, values): # NOTE(dtantsur): this can lead to very strange errors if 'uuid' in values: - msg = _("Cannot overwrite UUID for an existing Action.") - raise exception.InvalidParameterValue(err=msg) + raise exception.Invalid( + message=_("Cannot overwrite UUID for an existing " + "Action.")) return self._do_update_action(action_id, values) @@ -583,8 +586,9 @@ class Connection(api.BaseConnection): def update_action_plan(self, action_plan_id, values): if 'uuid' in values: - msg = _("Cannot overwrite UUID for an existing Audit.") - raise exception.InvalidParameterValue(err=msg) + raise exception.Invalid( + message=_("Cannot overwrite UUID for an existing " + "Action Plan.")) return self._do_update_action_plan(action_plan_id, values) diff --git a/watcher/locale/watcher.pot b/watcher/locale/watcher.pot index 79c7800ce..60fab8762 100644 --- a/watcher/locale/watcher.pot +++ b/watcher/locale/watcher.pot @@ -88,6 +88,10 @@ msgstr "" msgid "The target state is not defined" msgstr "" +#: watcher/applier/actions/migration.py:60 +msgid "Migration of type %(migration_type)s is not supported." +msgstr "" + #: watcher/applier/workflow_engine/default.py:126 #, python-format msgid "The WorkFlow Engine has failed to execute the action %s" @@ -162,11 +166,6 @@ msgstr "" msgid "Goal %(goal)s is not defined in Watcher configuration file" msgstr "" -#: watcher/common/exception.py:139 -#, python-format -msgid "%(err)s" -msgstr "" - #: watcher/common/exception.py:143 #, python-format msgid "Expected a uuid but received %(uuid)s" diff --git a/watcher/tests/db/test_action.py b/watcher/tests/db/test_action.py index 40b9c630f..913878620 100644 --- a/watcher/tests/db/test_action.py +++ b/watcher/tests/db/test_action.py @@ -126,7 +126,7 @@ class DbActionTestCase(base.DbTestCase): def test_update_action_uuid(self): action = self._create_test_action() - self.assertRaises(exception.InvalidParameterValue, + self.assertRaises(exception.Invalid, self.dbapi.update_action, action['id'], {'uuid': 'hello'}) diff --git a/watcher/tests/db/test_action_plan.py b/watcher/tests/db/test_action_plan.py index 0cf378d3f..f48a6da3a 100644 --- a/watcher/tests/db/test_action_plan.py +++ b/watcher/tests/db/test_action_plan.py @@ -108,7 +108,7 @@ class DbActionPlanTestCase(base.DbTestCase): def test_update_action_plan_uuid(self): action_plan = self._create_test_action_plan() - self.assertRaises(exception.InvalidParameterValue, + self.assertRaises(exception.Invalid, self.dbapi.update_action_plan, action_plan['id'], {'uuid': 'hello'}) diff --git a/watcher/tests/db/test_audit.py b/watcher/tests/db/test_audit.py index bd8e39d95..e104b774d 100644 --- a/watcher/tests/db/test_audit.py +++ b/watcher/tests/db/test_audit.py @@ -147,7 +147,7 @@ class DbAuditTestCase(base.DbTestCase): def test_update_audit_uuid(self): audit = self._create_test_audit() - self.assertRaises(exception.InvalidParameterValue, + self.assertRaises(exception.Invalid, self.dbapi.update_audit, audit['id'], {'uuid': 'hello'}) diff --git a/watcher/tests/db/test_audit_template.py b/watcher/tests/db/test_audit_template.py index b7dbe6317..17eadc6b1 100644 --- a/watcher/tests/db/test_audit_template.py +++ b/watcher/tests/db/test_audit_template.py @@ -106,7 +106,7 @@ class DbAuditTemplateTestCase(base.DbTestCase): def test_update_audit_template_uuid(self): audit_template = self._create_test_audit_template() - self.assertRaises(exception.InvalidParameterValue, + self.assertRaises(exception.Invalid, self.dbapi.update_audit_template, audit_template['id'], {'uuid': 'hello'})