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")
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")
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")
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")