Skip to content

Commit

Permalink
config-scaling: read in vm during re-init and cache service-mode info.
Browse files Browse the repository at this point in the history
Change-Id: I03ebb1b556dd6a2d1a8ce9e3a956ec3be7da3522
Closes-Bug: #1492646
(cherry picked from commit 3654d9e)
  • Loading branch information
Hampapur Ajay committed Oct 2, 2015
1 parent 92bd908 commit 6347981
Showing 1 changed file with 16 additions and 2 deletions.
18 changes: 16 additions & 2 deletions src/config/schema-transformer/to_bgp.py
Original file line number Diff line number Diff line change
Expand Up @@ -2529,6 +2529,10 @@ def get_by_service_instance(cls, service_instance):
def get_service_mode(self):
if self.service_instance is None:
return None

if hasattr(self, 'service_mode'):
return self.service_mode

try:
si_obj = _vnc_lib.service_instance_read(
fq_name_str=self.service_instance)
Expand All @@ -2547,8 +2551,9 @@ def get_service_mode(self):
_sandesh._logger.error("NoIdError while reading service template "
+ st_refs[0]['uuid'])
return None
smode = st_obj.get_service_template_properties().get_service_mode()
return smode or 'transparent'

self.service_mode = st_obj.get_service_template_properties().get_service_mode() or 'transparent'
return self.service_mode
# end get_service_mode
# end VirtualMachineST

Expand Down Expand Up @@ -2834,6 +2839,15 @@ def reinit(self):
vmi_list = _vnc_lib.virtual_machine_interfaces_list(detail=True)
for vmi in vmi_list:
VirtualMachineInterfaceST.locate(vmi.get_fq_name_str(), vmi)

gevent.sleep(0.001)
vm_list = _vnc_lib.virtual_machines_list(detail=True)
for vm in vm_list:
si_refs = vm.get_service_instance_refs()
if si_refs:
si_fq_name_str = ':'.join(si_refs[0]['to'])
VirtualMachineST.locate(vm.get_fq_name_str(),
si_fq_name_str)
# end reinit

def cleanup(self):
Expand Down

0 comments on commit 6347981

Please sign in to comment.