Replace voluptuous with JSONSchema in BaseAction

Now that we replaced voluptuous with JSONSchema in all actions,
this patch replaces voluptuous with JSONSchema in BaseAction
and removes validate_parameters method in each action.

Partially Implements: blueprint jsonschema-validation

Change-Id: I07c907ddfa4a568d7fff42776df02218330d56a0
This commit is contained in:
Hidekazu Nakamura
2017-07-25 12:02:33 +09:00
parent 3cd847e2ab
commit b33337b7bd
7 changed files with 6 additions and 51 deletions

View File

@@ -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):

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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)

View File

@@ -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

View File

@@ -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))