X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=a1%2Fdata.py;h=a9301d8cf6a72414e0c4817481ff67b7ebee68b0;hb=refs%2Ftags%2F2.1.9;hp=cd44962bd574c48643e400dd6caceda63a4b0dad;hpb=20d87ede528b9c509fe1b0c51c6383b8d307c2c8;p=ric-plt%2Fa1.git diff --git a/a1/data.py b/a1/data.py index cd44962..a9301d8 100644 --- a/a1/data.py +++ b/a1/data.py @@ -23,7 +23,7 @@ import time from threading import Thread from mdclogpy import Logger from ricxappframe.xapp_sdl import SDLWrapper -from a1.exceptions import PolicyTypeNotFound, PolicyInstanceNotFound, PolicyTypeAlreadyExists, CantDeleteNonEmptyType +from a1.exceptions import PolicyTypeNotFound, PolicyInstanceNotFound, PolicyTypeAlreadyExists, PolicyTypeIdMismatch, CantDeleteNonEmptyType # constants INSTANCE_DELETE_NO_RESP_TTL = int(os.environ.get("INSTANCE_DELETE_NO_RESP_TTL", 5)) @@ -84,7 +84,7 @@ def _type_is_valid(policy_type_id): check that a type is valid """ if SDL.get(A1NS, _generate_type_key(policy_type_id)) is None: - raise PolicyTypeNotFound() + raise PolicyTypeNotFound(policy_type_id) def _instance_is_valid(policy_type_id, policy_instance_id): @@ -93,7 +93,7 @@ def _instance_is_valid(policy_type_id, policy_instance_id): """ _type_is_valid(policy_type_id) if SDL.get(A1NS, _generate_instance_key(policy_type_id, policy_instance_id)) is None: - raise PolicyInstanceNotFound + raise PolicyInstanceNotFound(policy_type_id) def _get_statuses(policy_type_id, policy_instance_id): @@ -166,11 +166,11 @@ def store_policy_type(policy_type_id, body): """ store a policy type if it doesn't already exist """ + if policy_type_id != body['policy_type_id']: + raise PolicyTypeIdMismatch("{0} vs. {1}".format(policy_type_id, body['policy_type_id'])) key = _generate_type_key(policy_type_id) if SDL.get(A1NS, key) is not None: - raise PolicyTypeAlreadyExists() - # overwrite ID in body to enforce consistency - body['policy_type_id'] = policy_type_id + raise PolicyTypeAlreadyExists(policy_type_id) SDL.set(A1NS, key, body) @@ -182,7 +182,7 @@ def delete_policy_type(policy_type_id): if pil == []: # empty, can delete SDL.delete(A1NS, _generate_type_key(policy_type_id)) else: - raise CantDeleteNonEmptyType() + raise CantDeleteNonEmptyType(policy_type_id) def get_policy_type(policy_type_id):