From e993b37684dad33f47e17d9a2c9e0ac6c7363a5d Mon Sep 17 00:00:00 2001 From: Sachin Bansal Date: Tue, 5 Jan 2016 14:55:04 -0800 Subject: [PATCH] Fix multiple issues with properties validation 1. At couple of places, obj type needed to be converted to underscore instead of dash 2. Wrong variable name was used at one place (prop_dict instead of prop_value) 3. Schema transformer should set asn as integer instead of string 4. Wrong varialble name was used at two places in schema transformer Change-Id: Ieddfba532e0cbd5d054257d5848f1619a9179b62 Closes-Bug: 1529982 Closes-Bug: 1527433 Closes-Bug: 1531004 --- src/config/api-server/vnc_cfg_api_server.py | 6 +++--- src/config/schema-transformer/config_db.py | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/config/api-server/vnc_cfg_api_server.py b/src/config/api-server/vnc_cfg_api_server.py index 90e11058e29..4592218c887 100644 --- a/src/config/api-server/vnc_cfg_api_server.py +++ b/src/config/api-server/vnc_cfg_api_server.py @@ -264,7 +264,7 @@ def _validate_props_in_request(self, resource_class, obj_dict): self._validate_complex_type(prop_cls, prop_value) except Exception as e: err_msg = 'Error validating property %s value %s ' \ - %(prop_name, prop_dict) + %(prop_name, prop_value) err_msg += str(e) return False, err_msg elif isinstance(prop_value, list): @@ -1894,7 +1894,7 @@ def ref_update_http_post(self): # invoke the extension try: - pre_func = 'pre_'+obj_type+'_update' + pre_func = 'pre_'+obj_type.replace('-', '_')+'_update' self._extension_mgrs['resourceApi'].map_method(pre_func, obj_uuid, obj_dict) except RuntimeError: # lack of registered extension leads to RuntimeError @@ -1941,7 +1941,7 @@ def ref_update_http_post(self): # invoke the extension try: - post_func = 'post_'+obj_type+'_update' + post_func = 'post_'+obj_type.replace('-', '_')+'_update' self._extension_mgrs['resourceApi'].map_method(post_func, obj_uuid, obj_dict, read_result) except RuntimeError: # lack of registered extension leads to RuntimeError diff --git a/src/config/schema-transformer/config_db.py b/src/config/schema-transformer/config_db.py index a42cc1ab9ba..c0b1b9b709e 100644 --- a/src/config/schema-transformer/config_db.py +++ b/src/config/schema-transformer/config_db.py @@ -219,14 +219,14 @@ def __init__(self, name, obj=None, acl_dict=None): self.rt_list = set() import_rt_list = self.obj.get_import_route_target_list() if import_rt_list: - self.import_rt_list = set(rt_list.get_route_target()) + self.import_rt_list = set(import_rt_list.get_route_target()) for rt in self.import_rt_list: RouteTargetST.locate(rt) else: self.import_rt_list = set() export_rt_list = self.obj.get_export_route_target_list() if export_rt_list: - self.export_rt_list = set(rt_list.get_route_target()) + self.export_rt_list = set(export_rt_list.get_route_target()) for rt in self.export_rt_list: RouteTargetST.locate(rt) else: @@ -2807,7 +2807,7 @@ def create_bgp_router(self, name): server_router = server_router.obj bgp_router = BgpRouter(vmi.obj.name, parent_obj=ri.obj) params = BgpRouterParams( - autonomous_system=self.asn, + autonomous_system=int(self.asn) if self.asn else None, ip_address=self.ip_address, identifier=self.ip_address, source_port=self._cassandra.alloc_bgpaas_port(router_fq_name), @@ -3564,4 +3564,4 @@ def delete_routing_instance(self, ri): self.routing_instances.discard(ri.name) # end delete_routing_instance -# end RoutingPolicyST \ No newline at end of file +# end RoutingPolicyST