def _create_snat_vn(self, proj_obj, si_obj, si_props, vn_fq_name_str, idx): # SNAT NetNS use a dedicated network (non shared vn) vn_name = '%s_%s' % (svc_info.get_snat_left_network_prefix_name(), si_obj.name) vn_fq_name = proj_obj.get_fq_name() + [vn_name] try: vn_id = self._vnc_lib.fq_name_to_id('virtual-network', vn_fq_name) except NoIdError: snat_cidr = svc_info.get_snat_left_subnet() vn_id = self._create_svc_vn(vn_name, snat_cidr, proj_obj, user_visible=False) if vn_fq_name_str != ':'.join(vn_fq_name): left_if = ServiceInstanceInterfaceType( virtual_network=':'.join(vn_fq_name)) si_props.insert_interface_list(idx, left_if) si_obj.set_service_instance_properties(si_props) self._vnc_lib.service_instance_update(si_obj) self.logger.log("Info: SI %s updated with left vn %s" % (si_obj.get_fq_name_str(), vn_fq_name_str)) si_entry = {} si_entry['left-vn'] = vn_name si_entry[vn_name] = vn_id self.db.service_instance_insert(si_obj.get_fq_name_str(), si_entry) return vn_id
def clean_resources(self, proj_fq_str, si_fq_str): proj_obj = self._vnc_lib.project_read(fq_name_str=proj_fq_str) # Each service instance SNAT NetNS have a dedicated left network vn_name = '%s_%s' % (svc_info.get_snat_left_network_prefix_name(), si_fq_str.split(':')[-1]) self._delete_svc_vn(proj_obj.get_fq_name() + [vn_name])
def _create_snat_vn(self, proj_obj, si_obj, si_props, vn_fq_name_str): # SNAT NetNS use a dedicated network (non shared vn) vn_name = '%s_%s' % (svc_info.get_snat_left_network_prefix_name(), si_obj.name) vn_fq_name = proj_obj.get_fq_name() + [vn_name] try: vn_id = self._vnc_lib.fq_name_to_id('virtual-network', vn_fq_name) except NoIdError: snat_cidr = svc_info.get_snat_left_subnet() vn_id = self._create_svc_vn(vn_name, snat_cidr, proj_obj) if vn_fq_name_str != ':'.join(vn_fq_name): si_props.set_left_virtual_network(':'.join(vn_fq_name)) si_obj.set_service_instance_properties(si_props) self._vnc_lib.service_instance_update(si_obj) self.logger.log("Info: SI %s updated with left vn %s" % (si_obj.get_fq_name_str(), vn_fq_name_str)) return vn_id