def apt_cache(in_memory=True): """Build and return an apt cache""" from apt import apt_pkg apt_pkg.init() if in_memory: apt_pkg.config.set("Dir::Cache::pkgcache", "") apt_pkg.config.set("Dir::Cache::srcpkgcache", "") return apt_pkg.Cache()
def verify_config(self): apt_pkg.init() for cfg in self.config: value = apt_pkg.config.get(cfg['key'], cfg.get('default', '')) if value and value != cfg['expected']: log("APT config '%s' has unexpected value '%s' " "(expected='%s')" % (cfg['key'], value, cfg['expected']), level=WARNING)
def apt_cache(in_memory=True, progress=None): """Build and return an apt cache.""" from apt import apt_pkg apt_pkg.init() if in_memory: apt_pkg.config.set("Dir::Cache::pkgcache", "") apt_pkg.config.set("Dir::Cache::srcpkgcache", "") return apt_pkg.Cache(progress)
def setup_ipv6(): ubuntu_rel = lsb_release()['DISTRIB_CODENAME'].lower() if CompareHostReleases(ubuntu_rel) < "trusty": raise Exception("IPv6 is not supported in the charms for Ubuntu " "versions less than Trusty 14.04") from apt import apt_pkg apt_pkg.init() # Need haproxy >= 1.5.3 for ipv6 so for Trusty if we are <= Kilo we need to # use trusty-backports otherwise we can use the UCA. vc = apt_pkg.version_compare(get_pkg_version('haproxy'), '1.5.3') if ubuntu_rel == 'trusty' and vc == -1: add_source('deb http://archive.ubuntu.com/ubuntu trusty-backports ' 'main') apt_update(fatal=True) apt_install('haproxy/trusty-backports', fatal=True)
def __init__(self): self.rpm = None self.apt_pkg = None try: import rpm self.rpm = rpm except ImportError: pass try: from apt import apt_pkg apt_pkg.init() self.apt_pkg = apt_pkg except ImportError: pass if not self.rpm and not self.apt_pkg: logging.info("Unknown package management. Application list " "report is disabled.")
''' V1 de ingreso de datos ''' import email.Utils, re, string from django.core.management import setup_environ from pruebasTribus import settings from apt import apt_pkg from paqueteria.models import Mantenedor, Paquete, DependenciaSimple, DependenciaOR setup_environ(settings) apt_pkg.init() class dependencia_simple(object): def __init__(self, nombre, version = None): self.nombre = nombre self.version = version def buscar_seccion(paquete, archivo): archivo.jump(0) for section in archivo: if section.get('Package') == paquete: return section def buscar_mantenedor(seccion): nombreMan, correoMan = email.Utils.parseaddr(seccion.get("Maintainer")) mantenedorActual = Mantenedor.objects.filter(nombre_completo = nombreMan, correo = correoMan) if len(mantenedorActual) == 1: return mantenedorActual[0] else: nMantenedor = Mantenedor(nombre_completo = nombreMan, correo = correoMan)
def get_create_rgw_pools_rq(prefix=None): """Pre-create RGW pools so that they have the correct settings. If a prefix is provided it will be prepended to each pool name. When RGW creates its own pools it will create them with non-optimal settings (LP: #1476749). NOTE: see http://docs.ceph.com/docs/master/radosgw/config-ref/#pools and http://docs.ceph.com/docs/master/radosgw/config/#create-pools for list of supported/required pools. """ def _add_light_pool(rq, pool, pg_num, prefix=None): # Per the Ceph PG Calculator, all of the lightweight pools get 0.10% # of the data by default and only the .rgw.buckets.* get higher values weights = { '.rgw.buckets.index': 3.00, '.rgw.buckets.extra': 1.00 } w = weights.get(pool, 0.10) if prefix: pool = "{prefix}{pool}".format(prefix=prefix, pool=pool) if pg_num > 0: rq.add_op_create_pool(name=pool, replica_count=replicas, pg_num=pg_num, group='objects', app_name=CEPH_POOL_APP_NAME) else: rq.add_op_create_pool(name=pool, replica_count=replicas, weight=w, group='objects', app_name=CEPH_POOL_APP_NAME) from apt import apt_pkg apt_pkg.init() rq = CephBrokerRq() replicas = config('ceph-osd-replication-count') prefix = prefix or 'default' # Buckets likely to contain the most data and therefore # requiring the most PGs heavy = [ '.rgw.buckets.data' ] bucket_weight = config('rgw-buckets-pool-weight') for pool in heavy: pool = "{prefix}{pool}".format(prefix=prefix, pool=pool) rq.add_op_create_pool(name=pool, replica_count=replicas, weight=bucket_weight, group='objects', app_name=CEPH_POOL_APP_NAME) # NOTE: we want these pools to have a smaller pg_num/pgp_num than the # others since they are not expected to contain as much data light = [ '.rgw.control', '.rgw.data.root', '.rgw.gc', '.rgw.log', '.rgw.intent-log', '.rgw.meta', '.rgw.usage', '.rgw.users.keys', '.rgw.users.email', '.rgw.users.swift', '.rgw.users.uid', '.rgw.buckets.extra', '.rgw.buckets.index', ] pg_num = config('rgw-lightweight-pool-pg-num') for pool in light: _add_light_pool(rq, pool, pg_num, prefix) _add_light_pool(rq, '.rgw.root', pg_num) if config('restrict-ceph-pools'): rq.add_op_request_access_to_group(name="objects", permission='rwx', key_name='radosgw.gateway') return rq