From 9ef9a7a92dc7af2a7d54affd68aaa37539296dd4 Mon Sep 17 00:00:00 2001 From: "Frank A. Zdarsky" Date: Fri, 20 Jan 2017 12:53:52 +0100 Subject: Add schema-based config data validation This patch adds a jsonschema for os-net-config's configuration data and a library function to validate configuration data based on this schema. Adding schema-based validation allows catching a larger class of errors (typos, missing required parameters, etc.) for all devices configurable through os-net-config. The validation is run in the os-net-config CLI after loading the config file. If the config file fails to validate, the current default is to just log a warning and try to continue. By providing the new CLI option '--exit-on-validation-errors', this can be changed to log an error and exist instead. This validation is meant to be reusable, for example for pre-deployment validation of network environments (see change Ic16ee0bc353c46f8fe512454176a07ee95347346). Packaging with os-net-config makes it easier to keep object model and schema in sync. Change-Id: Ie4a905863b2d46c88d9cd6c3afc50e7d0a877090 Signed-off-by: Frank A. Zdarsky --- os_net_config/objects.py | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'os_net_config/objects.py') diff --git a/os_net_config/objects.py b/os_net_config/objects.py index 5fe6e49..a6d0c03 100644 --- a/os_net_config/objects.py +++ b/os_net_config/objects.py @@ -14,6 +14,11 @@ # License for the specific language governing permissions and limitations # under the License. +# +# NOTE: When making changes to the object model, remember to also update +# schema.yaml to reflect changes to the schema of config files! +# + import logging import netaddr from oslo_utils import strutils -- cgit 1.2.3-korg