Exemplo n.º 1
0
    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!")
Exemplo n.º 2
0
    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 ")
Exemplo n.º 3
0
 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
Exemplo n.º 4
0
 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
Exemplo n.º 5
0
    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 ")