Example #1
0
    def start(manager, device, *args, **kwargs):
        """
        Performs install remove operation
        """
        try:
            packages = manager.csm.software_packages
        except AttributeError:
            manager.error("No package list provided")
            return

        deact_pkgs = package_lib.NewPackage(packages)
        installed_inact = device.send("admin show install inactive summary")
        inactive_pkgs = package_lib.OnboxPackage(installed_inact, "Inactive Packages")

        packages_to_remove = package_lib.package_intersection(deact_pkgs.pkg_list, inactive_pkgs.pkg_list)
        if not packages_to_remove:
            manager.warning("Packages already removed. Nothing to be removed")
            get_package(device, manager)
            return

        to_remove = " ".join(packages_to_remove)

        cmd = 'admin install remove {} prompt-level none async'.format(to_remove)

        manager.log("Remove Package(s) Pending")
        install_add_remove(manager, device, cmd)
        manager.log("Package(s) Removed Successfully")
Example #2
0
    def start(manager, device, *args, **kwargs):
        """
        Performs install remove operation
        """
        try:
            packages = manager.csm.software_packages
        except AttributeError:
            manager.error("No package list provided")
            return

        deact_pkgs = package_lib.NewPackage(packages)
        installed_inact = device.send("admin show install inactive summary")
        inactive_pkgs = package_lib.OnboxPackage(installed_inact,
                                                 "Inactive Packages")

        packages_to_remove = package_lib.package_intersection(
            deact_pkgs.pkg_list, inactive_pkgs.pkg_list)
        if not packages_to_remove:
            manager.warning("Packages already removed. Nothing to be removed")
            get_package(device, manager)
            return

        to_remove = " ".join(packages_to_remove)

        cmd = 'admin install remove {} prompt-level none async'.format(
            to_remove)

        manager.log("Remove Package(s) Pending")
        install_add_remove(manager, device, cmd)
        manager.log("Package(s) Removed Successfully")
Example #3
0
    def start(manager, device, *args, **kwargs):
        """
        It performs add operation of the pies listed in given file
        """
        server_repository_url = None
        try:
            server_repository_url = manager.csm.server_repository_url
        except AttributeError:
            pass

        if server_repository_url is None:
            manager.error("No repository provided")

        try:
            packages = manager.csm.software_packages
        except AttributeError:
            manager.error("No package list provided")

        # if kwargs.get('turbo_boot',None) and not pkg_name_list :
        #     # It's okay to have package list empty in case of TB as just vm is used for TB
        #     # This is not treated as  failure
        #     return True
        #

        has_tar = False
        v_packages = []
        for package in packages:
            if ".vm-" in package:
                continue
            if ".tar" in package:
                has_tar = True
                v_packages.append(package)
                continue
            if device.family == "ASR9K" and ".pie" in package:
                v_packages.append(package)
                continue
            if device.family == "NCS6K" and ".pkg" in package:
                v_packages.append(package)
                continue
            if device.family == "NCS6K" and ".smu" in package:
                v_packages.append(package)
                continue

        s_packages = " ".join(v_packages)
        if device.family == "ASR9K":
            cmd = "admin install add source {} {} async".format(server_repository_url, s_packages)
        else:
            cmd = "install add source {} {} ".format(server_repository_url, s_packages)

        manager.log("Add Package(s) Pending")
        install_add_remove(manager, device, cmd, has_tar=has_tar)
        manager.log("Package(s) Added Successfully")
Example #4
0
    def start(manager, device, *args, **kwargs):
        """
        It performs add operation of the pies listed in given file
        """
        server_repository_url = None
        try:
            server_repository_url = manager.csm.server_repository_url
        except AttributeError:
            pass

        if server_repository_url is None:
            manager.error("No repository not provided")

        try:
            packages = manager.csm.software_packages
        except AttributeError:
            manager.error("No package list provided")

        # if kwargs.get('turbo_boot',None) and not pkg_name_list :
        #     # It's okay to have package list empty in case of TB as just vm is used for TB
        #     # This is not treated as  failure
        #     return True
        #

        has_tar = False
        v_packages = []
        for package in packages:
            if ".vm-" in package:
                continue
            if ".tar" in package:
                has_tar = True
                v_packages.append(package)
                continue
            if ".pie" in package:
                v_packages.append(package)
                continue

        s_packages = " ".join(v_packages)

        cmd = "admin install add source {} {} async".format(
            server_repository_url, s_packages)

        manager.log("Add Package(s) Pending")
        install_add_remove(manager, device, cmd, has_tar=has_tar)
        manager.log("Package(s) Added Successfully")