def sandesh_si_handle_request(self, req): si_resp = sandesh.ServiceInstanceListResp(si_names=[]) for si in ServiceInstanceSM.values(): if req.si_name and req.si_name != si.name: continue st = ServiceTemplateSM.get(si.service_template) sandesh_si = sandesh.ServiceInstance( name=(':').join(si.fq_name), si_type=st.virtualization_type, si_state=si.state) sandesh_vm_list = [] for vm_id in si.virtual_machines: vm = VirtualMachineSM.get(vm_id) if not vm: continue vm_str = ("%s: %s" % (vm.name, vm.uuid)) vr_name = 'None' vr = VirtualRouterSM.get(vm.virtual_router) if vr: vr_name = vr.name ha_str = "active" if vm.index < len(si.local_preference): if vm.index >= 0: ha = si.local_preference[vm.index] if ha and int(ha) == svc_info.get_standby_preference(): ha_str = "standby" if ha: ha_str = ha_str + ': ' + str(ha) else: ha_str = "unknown" vm = sandesh.ServiceInstanceVM(name=vm_str, vr_name=vr_name, ha=ha_str) sandesh_vm_list.append(vm) sandesh_si.vm_list = list(sandesh_vm_list) for nic in si.vn_info: vn = VirtualNetworkSM.get(nic['net-id']) if not vn: continue if nic['type'] == svc_info.get_left_if_str(): sandesh_si.left_vn = [vn.name, vn.uuid] if nic['type'] == svc_info.get_right_if_str(): sandesh_si.right_vn = [vn.name, vn.uuid] if nic['type'] == svc_info.get_management_if_str(): sandesh_si.management_vn = [vn.name, vn.uuid] si_resp.si_names.append(sandesh_si) si_resp.response(req.context())
def audit_snat_instances(self): for lr in LogicalRouterSM.values(): self.update_snat_instance(lr) for si in ServiceInstanceSM.values(): si_name = si.fq_name[-1] st_obj = ServiceTemplateSM.get(si.service_template) if st_obj.params['service_type'] != "source-nat": continue lr_uuid = si.logical_router lr = LogicalRouterSM.get(lr_uuid) if lr is None or lr.virtual_network is None: self.cleanup_snat_instance(lr_uuid, si.uuid)
def sandesh_si_handle_request(self, req): si_resp = sandesh.ServiceInstanceListResp(si_names=[]) for si in ServiceInstanceSM.values(): if req.si_name and req.si_name != si.name: continue st = ServiceTemplateSM.get(si.service_template) sandesh_si = sandesh.ServiceInstance( name=(':').join(si.fq_name), si_type=st.virtualization_type, si_state=si.state) sandesh_vm_list = [] for vm_id in si.virtual_machines: vm = VirtualMachineSM.get(vm_id) if not vm: continue vm_str = ("%s: %s" % (vm.name, vm.uuid)) vr_name = 'None' vr = VirtualRouterSM.get(vm.virtual_router) if vr: vr_name = vr.name ha_str = "active" if vm.index < len(si.local_preference): if vm.index >= 0: ha = si.local_preference[vm.index] if ha and int(ha) == svc_info.get_standby_preference(): ha_str = "standby" if ha: ha_str = ha_str + ': ' + str(ha) else: ha_str = "unknown" vm = sandesh.ServiceInstanceVM( name=vm_str, vr_name=vr_name, ha=ha_str) sandesh_vm_list.append(vm) sandesh_si.vm_list = list(sandesh_vm_list) for nic in si.vn_info: vn = VirtualNetworkSM.get(nic['net-id']) if not vn: continue if nic['type'] == svc_info.get_left_if_str(): sandesh_si.left_vn = [vn.name, vn.uuid] if nic['type'] == svc_info.get_right_if_str(): sandesh_si.right_vn = [vn.name, vn.uuid] if nic['type'] == svc_info.get_management_if_str(): sandesh_si.management_vn = [vn.name, vn.uuid] si_resp.si_names.append(sandesh_si) si_resp.response(req.context())
def audit_snat_instances(self): for lr in LogicalRouterSM.values(): self.update_snat_instance(lr) for si in ServiceInstanceSM.values(): si_name = si.fq_name[-1] st_obj = ServiceTemplateSM.get(si.service_template) if st_obj.params['service_type'] != "source-nat": continue lr_uuid = si_name.split('_')[1] lr = LogicalRouterSM.get(lr_uuid) if lr is None or lr.virtual_network is None: self.cleanup_snat_instance(lr_uuid, si.uuid)