From 94a2385c3ad9dc216f377bf5b2418a20669e9dc4 Mon Sep 17 00:00:00 2001 From: Sachin Bansal Date: Tue, 16 Feb 2016 21:48:04 -0800 Subject: [PATCH] Fix regressions issued in svc monitor Few regressions have been introduced in svc monitor which broke v2 service chaining. Thanks to Senthil for providing the fix. Change-Id: Ide539adee94b619ded6b129540ac6cc04f78e0a9 Closes-Bug: 1545663 --- .../svc-monitor/svc_monitor/config_db.py | 1 - .../svc-monitor/svc_monitor/port_tuple.py | 18 ++++++++++-------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/config/svc-monitor/svc_monitor/config_db.py b/src/config/svc-monitor/svc_monitor/config_db.py index f5b3085c49f..aed396b9666 100644 --- a/src/config/svc-monitor/svc_monitor/config_db.py +++ b/src/config/svc-monitor/svc_monitor/config_db.py @@ -469,7 +469,6 @@ def evaluate(self): vm = VirtualMachineSM.get(self.virtual_machine) if vm: self._manager.port_delete_or_si_link(vm, self) - return self._manager.port_tuple_agent.update_port_tuple(self) diff --git a/src/config/svc-monitor/svc_monitor/port_tuple.py b/src/config/svc-monitor/svc_monitor/port_tuple.py index be60479fbb9..e185111de7e 100644 --- a/src/config/svc-monitor/svc_monitor/port_tuple.py +++ b/src/config/svc-monitor/svc_monitor/port_tuple.py @@ -53,7 +53,7 @@ def _allocate_iip_for_family(self, iip_family, si, port, vmi): iip_obj.set_instance_ip_mode(si.ha_mode) try: self._vnc_lib.instance_ip_create(iip_obj) - self._vnc_lib.ref_relax_for_delete(iip_id, vn_obj.uuid) + self._vnc_lib.ref_relax_for_delete(iip_obj.uuid, vn_obj.uuid) except RefsExistError: self._vnc_lib.instance_ip_update(iip_obj) except Exception as e: @@ -196,12 +196,14 @@ def get_port_config(self, st, si): return port_config - def update_port_tuple(self, vmi): - if not vmi.port_tuple: - self.delete_old_vmi_links(vmi) - return - - pt = PortTupleSM.get(vmi.port_tuple) + def update_port_tuple(self, vmi=None, pt_id=None): + if vmi: + if not vmi.port_tuple: + self.delete_old_vmi_links(vmi) + return + pt = PortTupleSM.get(vmi.port_tuple) + if pt_id: + pt = PortTupleSM.get(pt_id) if not pt: return si = ServiceInstanceSM.get(pt.parent_key) @@ -234,6 +236,6 @@ def update_port_tuple(self, vmi): def update_port_tuples(self): for si in ServiceInstanceSM.values(): for pt_id in si.port_tuples: - self.update_port_tuple(pt_id) + self.update_port_tuple(pt_id=pt_id) for iip in InstanceIpSM.values(): self.delete_shared_iip(iip)