diff --git a/watcher/applier/actions/base.py b/watcher/applier/actions/base.py index 8bb8bfb03..ec1cb5d82 100644 --- a/watcher/applier/actions/base.py +++ b/watcher/applier/actions/base.py @@ -18,6 +18,7 @@ import abc +import jsonschema import six from watcher.common import clients @@ -130,8 +131,11 @@ class BaseAction(loadable.Loadable): raise NotImplementedError() def validate_parameters(self): - self.schema(self.input_parameters) - return True + try: + jsonschema.validate(self.input_parameters, self.schema) + return True + except jsonschema.ValidationError as e: + raise e @abc.abstractmethod def get_description(self): diff --git a/watcher/applier/actions/change_node_power_state.py b/watcher/applier/actions/change_node_power_state.py index 703cb1c84..1a085e95e 100644 --- a/watcher/applier/actions/change_node_power_state.py +++ b/watcher/applier/actions/change_node_power_state.py @@ -18,7 +18,6 @@ # import enum -import jsonschema from watcher._i18n import _ from watcher.applier.actions import base @@ -69,13 +68,6 @@ class ChangeNodePowerState(base.BaseAction): 'additionalProperties': False, } - def validate_parameters(self): - try: - jsonschema.validate(self.input_parameters, self.schema) - return True - except jsonschema.ValidationError as e: - raise e - @property def node_uuid(self): return self.resource_id diff --git a/watcher/applier/actions/change_nova_service_state.py b/watcher/applier/actions/change_nova_service_state.py index 5082651e7..a2d9792a1 100644 --- a/watcher/applier/actions/change_nova_service_state.py +++ b/watcher/applier/actions/change_nova_service_state.py @@ -17,8 +17,6 @@ # limitations under the License. # -import jsonschema - from watcher._i18n import _ from watcher.applier.actions import base from watcher.common import exception @@ -69,13 +67,6 @@ class ChangeNovaServiceState(base.BaseAction): 'additionalProperties': False, } - def validate_parameters(self): - try: - jsonschema.validate(self.input_parameters, self.schema) - return True - except jsonschema.ValidationError as e: - raise e - @property def host(self): return self.resource_id diff --git a/watcher/applier/actions/migration.py b/watcher/applier/actions/migration.py index 6e6c26a3a..9763c3e6e 100644 --- a/watcher/applier/actions/migration.py +++ b/watcher/applier/actions/migration.py @@ -18,7 +18,6 @@ # -import jsonschema from oslo_log import log from watcher._i18n import _ from watcher.applier.actions import base @@ -91,13 +90,6 @@ class Migrate(base.BaseAction): 'additionalProperties': False, } - def validate_parameters(self): - try: - jsonschema.validate(self.input_parameters, self.schema) - return True - except jsonschema.ValidationError as e: - raise e - @property def instance_uuid(self): return self.resource_id diff --git a/watcher/applier/actions/nop.py b/watcher/applier/actions/nop.py index 1372fa9d2..3bd9220d9 100644 --- a/watcher/applier/actions/nop.py +++ b/watcher/applier/actions/nop.py @@ -17,7 +17,6 @@ # limitations under the License. # -import jsonschema from oslo_log import log from watcher.applier.actions import base @@ -52,13 +51,6 @@ class Nop(base.BaseAction): 'additionalProperties': False, } - def validate_parameters(self): - try: - jsonschema.validate(self.input_parameters, self.schema) - return True - except jsonschema.ValidationError as e: - raise e - @property def message(self): return self.input_parameters.get(self.MESSAGE) diff --git a/watcher/applier/actions/resize.py b/watcher/applier/actions/resize.py index 862dcec60..561e545ec 100644 --- a/watcher/applier/actions/resize.py +++ b/watcher/applier/actions/resize.py @@ -17,7 +17,6 @@ # limitations under the License. # -import jsonschema from oslo_log import log from watcher.applier.actions import base @@ -67,13 +66,6 @@ class Resize(base.BaseAction): 'additionalProperties': False, } - def validate_parameters(self): - try: - jsonschema.validate(self.input_parameters, self.schema) - return True - except jsonschema.ValidationError as e: - raise e - @property def instance_uuid(self): return self.resource_id diff --git a/watcher/applier/actions/sleep.py b/watcher/applier/actions/sleep.py index d4928e663..5865c221d 100644 --- a/watcher/applier/actions/sleep.py +++ b/watcher/applier/actions/sleep.py @@ -17,7 +17,6 @@ # limitations under the License. # -import jsonschema import time from oslo_log import log @@ -54,13 +53,6 @@ class Sleep(base.BaseAction): 'additionalProperties': False, } - def validate_parameters(self): - try: - jsonschema.validate(self.input_parameters, self.schema) - return True - except jsonschema.ValidationError as e: - raise e - @property def duration(self): return int(self.input_parameters.get(self.DURATION))