Add config validation for default_data

It is a little difficult to set up default_data.json for users, and
we already have the corresponding schema in the code. JSON-Schema
outputs useful error message when users misconfigures some items.
So this patch makes the schema validation enabled for default_data.

Change-Id: Id0efae913c202a30476d73a3821711c5250fcfee
This commit is contained in:
Ken'ichi Ohmichi
2017-04-06 11:54:26 -07:00
parent 7a94c9eeee
commit cad73b5646
3 changed files with 9 additions and 1 deletions

View File

@@ -15,6 +15,7 @@
import itertools
import jsonschema
from oslo_config import cfg
from oslo_log import log as logging
import psutil
@@ -32,6 +33,7 @@ from stackalytics.processor import mps
from stackalytics.processor import rcs
from stackalytics.processor import record_processor
from stackalytics.processor import runtime_storage
from stackalytics.processor import schema
from stackalytics.processor import utils
from stackalytics.processor import vcs
from stackalytics.processor import zanata
@@ -316,6 +318,12 @@ def main():
LOG.critical('Unable to load default data')
return not 0
try:
jsonschema.validate(default_data, schema.default_data)
except jsonschema.ValidationError as e:
LOG.critical('The default data is invalid: %s' % e)
return not 0
default_data_processor.process(runtime_storage_inst,
default_data,
CONF.driverlog_data_uri)