def add_vrouter(self): gsc_obj = self._global_system_config_obj if self._args.ip_fabric_subnet: ip_subnet, mask = self._args.ip_fabric_subnet.split('/') so = SubnetType(ip_subnet, int(mask)) sl = gsc_obj.get_ip_fabric_subnets() if sl is None: gsc_obj.set_ip_fabric_subnets(SubnetListType([so])) self._vnc_lib.global_system_config_update(gsc_obj) elif so not in sl.subnet: sl.subnet.append(so) gsc_obj.set_ip_fabric_subnets(sl) self._vnc_lib.global_system_config_update(gsc_obj) vrouter_obj = VirtualRouter( self._args.host_name, gsc_obj, virtual_router_ip_address=self._args.host_ip) vrouter_exists = True try: vrouter_obj = self._vnc_lib.virtual_router_read( fq_name=vrouter_obj.get_fq_name()) except NoIdError: vrouter_exists = False if self._args.sub_cluster_name: sub_cluster_obj = SubCluster(self._args.sub_cluster_name) try: sub_cluster_obj = self._vnc_lib.sub_cluster_read( fq_name=sub_cluster_obj.get_fq_name()) except NoIdError: raise RuntimeError("Sub cluster has to be provisioned first") vrouter_obj.add_sub_cluster(sub_cluster_obj) # Configure router type if self._args.router_type: vrouter_obj.set_virtual_router_type(self._args.router_type) if self._args.dpdk_enabled: vrouter_obj.set_virtual_router_dpdk_enabled(True) else: vrouter_obj.set_virtual_router_dpdk_enabled(False) # Configure sirov physical networks if self._args.sriov_physnets: vrouter_obj.set_virtual_router_sriov_physical_networks( self._args.sriov_physnets) if vrouter_exists: self.vrouter_fq_name = vrouter_obj.get_fq_name() self._vnc_lib.virtual_router_update(vrouter_obj) else: try: self.vrouter_fq_name = vrouter_obj.get_fq_name() self._vnc_lib.virtual_router_create(vrouter_obj) except RefsExistError: print("Already created!")
def del_vrouter(self): gsc_obj = self._global_system_config_obj vrouter_obj = VirtualRouter(self._args.host_name, gsc_obj) vrouter_exists = True try: self._vnc_lib.virtual_router_read( fq_name=vrouter_obj.get_fq_name()) except NoIdError: vrouter_exists = False if vrouter_exists: self._vnc_lib.virtual_router_delete( fq_name=vrouter_obj.get_fq_name()) else: print(" vrouter object not found ")
def create_virtual_router(cls, name, node_ip=None): vrouter_node_ip = node_ip if node_ip else cls.get_kubernetes_node_ip() vrouter_obj = VirtualRouter(name, virtual_router_ip_address=vrouter_node_ip) try: vrouter_obj = cls._vnc_lib.virtual_router_read( fq_name=vrouter_obj.get_fq_name()) except NoIdError: cls._vnc_lib.virtual_router_create(vrouter_obj) VirtualRouterKM.locate(vrouter_obj.uuid) return vrouter_obj
def create_virtual_router(cls, name, node_ip=None): vrouter_node_ip = node_ip if node_ip else cls.get_kubernetes_node_ip() vrouter_obj = VirtualRouter( name, virtual_router_ip_address=vrouter_node_ip) try: vrouter_obj = cls._vnc_lib.virtual_router_read( fq_name=vrouter_obj.get_fq_name()) except NoIdError: cls._vnc_lib.virtual_router_create(vrouter_obj) VirtualRouterKM.locate(vrouter_obj.uuid) return vrouter_obj
def del_vhost0_vmi(self): gsc_obj = self._global_system_config_obj vrouter_obj = VirtualRouter(self._args.host_name, gsc_obj) vhost0_vmi_fq_name = vrouter_obj.get_fq_name() vhost0_vmi_fq_name.append('vhost0') vhost0_vmi_exists = True try: self._vnc_lib.virtual_machine_interface_read( fq_name=vhost0_vmi_fq_name) except NoIdError: vhost0_vmi_exists = False if vhost0_vmi_exists: self._vnc_lib.virtual_machine_interface_delete( fq_name=vhost0_vmi_fq_name) print(" Deleted vhost0 vmi %s " % vhost0_vmi_fq_name) else: print(" No vhost0 vmi found ")