Пример #1
0
 def remove_package(self, package_name, force=False):
     """ Remove a package, don't remove if force is False and packages depend on package_name."""
     if not self.check_installed(package_name):
         raise snoing_exceptions.PackageException("Cannot remove, not installed.", package_name)
     package = self._packages[package_name]
     if not force:
         for dependent_name in self._package_dependents(package_name):
             if self.check_installed(dependent_name):
                 raise snoing_exceptions.PackageException("Cannot remove as %s depends on it." % \
                                                              dependent_name, package_name)
     # If get here then package can be deleted
     self._logger.set_state("Removing")
     package.remove()
Пример #2
0
def migrate_node(proxy_url=None):
    """Migrate node from Puppet 3.x to 4.x"""
    import package, puppet, vars
    vars = vars.Vars()
    package.remove("puppet facter")
    sudo("rm -f /etc/apt/sources.list.d/puppetlabs.list")
    if exists("/var/lib/puppet"):
        sudo("mv /var/lib/puppet /var/lib/puppet.old.3")
    if exists("/etc/puppet"):
        sudo("mv /etc/puppet /etc/puppet.old.3")
    puppet.setup_agent4(proxy_url=proxy_url)

    if vars.osfamily == 'Debian':
        package.autoremove()
        puppet.resolve_aptitude_conflicts()
Пример #3
0
def migrate_node(proxy_url=None):
    """Migrate node from Puppet 3.x to 4.x"""
    import package, puppet, vars
    vars = vars.Vars()
    package.remove("puppet facter")
    sudo("rm -f /etc/apt/sources.list.d/puppetlabs.list")
    if exists("/var/lib/puppet"):
        sudo("mv /var/lib/puppet /var/lib/puppet.old.3")
    if exists("/etc/puppet"):
        sudo("mv /etc/puppet /etc/puppet.old.3")
    puppet.setup_agent4(proxy_url=proxy_url)

    if vars.osfamily == 'Debian':
        package.autoremove()
        puppet.resolve_aptitude_conflicts()
Пример #4
0
 def remove_package(self, package_name, force=False):
     """ Remove a package, don't remove if force is False and packages depend on package_name."""
     package = self._packages[package_name]
     self._logger.set_state("Removing", package_name)
     if force:
         package.remove()
     else:
         if not self.check_installed(package_name):
             raise snoing_exceptions.PackageException(
                 "Cannot remove, not installed.", package_name)
         if not force:
             for dependent_name in self._package_dependents(package_name):
                 if self.check_installed(dependent_name):
                     raise snoing_exceptions.PackageException("Cannot remove as %s depends on it." % \
                                                                  dependent_name, package_name)
             # If get here then package can be deleted
             package.remove()
Пример #5
0
def bbsPackage(command):
    options = args.getoptions()

    # Perform a catalog upgrade if required
    if package.upgrade():
        return True

    # Do nothing, only for perform package upgrade
    if command == 'package':
        print('Success...')
        return True

    # Use local catalog for installation/updates
    if 'local' in options:
        package.remotecatalog = package.getRemoteCatalog(True)
        package.updatelist = package.getAvailableUpdates(package.localcatalog, package.remotecatalog)

    # Install
    if command == 'install' and args.count() != 0:
        return package.install(args.get(count=-1), options)

    # Remote File List
    if command == 'ls':
        if 'remote' in options:
            return package.remotelist(args.get(count=-1), options)
        else:
            return package.localist(args.get(count=-1), options)

    # Update packages
    if command == 'update':
        return package.update(args.get(count=-1), options)

    # Remove
    if command == 'remove':
        if args.count() != 0:
            return package.remove(args.get(count=-1), options)
        elif 'all' in options:
            return package.remove('', options)

    # Show Help
    bbsHelp()
    return