- 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_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)
There were regressions caused due to commits /github. com/Juniper/ contrail- controller/ commit/ 87661c5af04ea99 79f7f2402f012f0 d7511f4103 /github. com/Juniper/ contrail- controller/ commit/ a9d186000a16317 5f961975bb80325 eaec0f1fc5
https:/
https:/
Below patch fixed things.
root@a2s42: /usr/lib/ python2. 7/dist- packages/ svc_monitor# diff -u config_db.py.1 config_db.py M.get(self. virtual_ machine)
self. _manager. port_delete_ or_si_link( vm, self)
--- config_db.py.1 2016-02-15 15:24:13.740781407 -0800
+++ config_db.py 2016-02-15 15:20:51.344675251 -0800
@@ -469,7 +469,6 @@
vm = VirtualMachineS
if vm:
- return
root@a2s42: /usr/lib/ python2. 7/dist- packages/ svc_monitor# diff -u port_tuple.py.1 port_tuple.py
iip_ obj.set_ instance_ ip_mode( si.ha_mode)
self. _vnc_lib. instance_ ip_create( iip_obj) lib.ref_ relax_for_ delete( iip_id, vn_obj.uuid) lib.ref_ relax_for_ delete( iip_obj. uuid, vn_obj.uuid)
self. _vnc_lib. instance_ ip_update( iip_obj)
--- port_tuple.py.1 2016-02-15 14:42:32.911650439 -0800
+++ port_tuple.py 2016-02-15 15:21:02.556680615 -0800
@@ -53,7 +53,7 @@
try:
- self._vnc_
+ self._vnc_
except RefsExistError:
except Exception as e:
@@ -196,12 +196,14 @@
return port_config
- def update_ port_tuple( self, vmi): old_vmi_ links(vmi) get(vmi. port_tuple) port_tuple( self, vmi=None, pt_id=None): old_vmi_ links(vmi) get(vmi. port_tuple) get(pt_ id) SM.get( pt.parent_ key) port_tuples( self): SM.values( ): port_tuple( pt_id) port_tuple( pt_id=pt_ id) values( ):
self. delete_ shared_ iip(iip)
- if not vmi.port_tuple:
- self.delete_
- return
-
- pt = PortTupleSM.
+ def update_
+ if vmi:
+ if not vmi.port_tuple:
+ self.delete_
+ return
+ pt = PortTupleSM.
+ if pt_id:
+ pt = PortTupleSM.
if not pt:
return
si = ServiceInstance
@@ -234,6 +236,6 @@
def update_
for si in ServiceInstance
for pt_id in si.port_tuples:
- self.update_
+ self.update_
for iip in InstanceIpSM.