def augment_profile(cls, units, PROFILE): # augment profile with requested unit types cls.assert_units(units) for unit_type in cls.unit_types(units): if unit_type not in PROFILE.details: # different structure for content details PROFILE.details[unit_type] = load_ns({"details": []})
def nevra_to_unit(nevra): return load_ns({ 'type_id': 'rpm', 'unit_key': { 'name': nevra.name, 'version': nevra.version + '-' + nevra.release } })
def wrapped_method(self, *args, **kvs): units = load_ns(args[0]) options = load_ns(args[-1]) # if there is no PROFILE in kvs, use a PROFILE copy from this module PROFILE = kvs.pop('PROFILE', profile.PROFILE.copy()) type(self).augment_profile(units, PROFILE) # map the method on all the units PROFILE.num_changes = len( map( lambda unit: \ method( self, type(self).unit_type_map[unit.type_id], unit, PROFILE ), units ) ) return PROFILE
def unit_to_nevra(request, epoch=0, arch='x86_64', vendor='Fedora'): if 'version' in request.unit_key: v, r = request.unit_key.version.split("-") else: v, r = None, None return load_ns({ 'name': request.unit_key.name, 'epoch': epoch, 'version': v, 'release': r, 'arch': arch, 'vendor': vendor })
def unit_to_nevra(request, epoch=0, arch='x86_64', vendor='Fedora'): # unit key as in https://pulp.readthedocs.org/en/latest/dev-guide/integration/rest-api/consumer/content.html#install-content-on-a-consumer assert type(request.unit_key) is Namespace, 'unsupported unit key type: %s' % type(request.unit_key) if 'version' in request.unit_key: v, r = request.unit_key.version.split("-") else: v, r = None, None return load_ns({ 'name': request.unit_key.name, 'epoch': epoch, 'version': v, 'release': r, 'arch': arch, 'vendor': vendor })
def unit_to_nevra(request, epoch=0, arch='x86_64', vendor='Fedora'): # unit key as in https://pulp.readthedocs.org/en/latest/dev-guide/integration/rest-api/consumer/content.html#install-content-on-a-consumer assert type(request.unit_key ) is Namespace, 'unsupported unit key type: %s' % type( request.unit_key) if 'version' in request.unit_key: v, r = request.unit_key.version.split("-") else: v, r = None, None return load_ns({ 'name': request.unit_key.name, 'epoch': epoch, 'version': v, 'release': r, 'arch': arch, 'vendor': vendor })
from pulp_auto import namespace import yaml global ROLES # load inventory globals with open('inventory.yml') as fd: globals().update(namespace.load_ns(yaml.load(fd)))
from pulp_auto.namespace import load_ns # a lump of custom profile data # makes the fake-consumer a Fedora 19 system PROFILE = load_ns({ 'reboot': { 'scheduled': False, 'details': {} }, 'details': { 'rpm': { 'details': [ {'vendor': 'Fedora Project', 'name': 'perl-Carp', 'epoch': 0, 'version': '1.26', 'release': '243.fc19', 'arch': 'noarch'}, {'vendor': 'Fedora Project', 'name': 'boost-program-options', 'epoch': 0, 'version': '1.53.0', 'release': '14.fc19', 'arch': 'x86_64'}, {'vendor': 'Fedora Project', 'name': 'basesystem', 'epoch': 0, 'version': '10.0', 'release': '8.fc19', 'arch': 'noarch'}, {'vendor': 'Fedora Project', 'name': 'perl-PathTools', 'epoch': 0, 'version': '3.40', 'release': '3.fc19', 'arch': 'x86_64'}, {'vendor': 'Fedora Project', 'name': 'libibverbs', 'epoch': 0, 'version': '1.1.7', 'release': '3.fc19', 'arch': 'x86_64'}, {'vendor': 'Fedora Project', 'name': 'tzdata', 'epoch': 0, 'version': '2013c', 'release': '1.fc19', 'arch': 'noarch'}, {'vendor': 'Fedora Project', 'name': 'perl', 'epoch': 4L, 'version': '5.16.3', 'release': '265.fc19', 'arch': 'x86_64'}, {'vendor': 'Fedora Project', 'name': 'python-simplejson', 'epoch': 0, 'version': '3.2.0', 'release': '1.fc19', 'arch': 'x86_64'}, {'vendor': 'Fedora Project', 'name': 'libstdc++', 'epoch': 0, 'version': '4.8.1', 'release': '1.fc19', 'arch': 'x86_64'}, {'vendor': 'Fedora Project', 'name': 'perl-Git', 'epoch': 0, 'version': '1.8.3.1', 'release': '1.fc19', 'arch': 'noarch'}, {'vendor': 'Fedora Project', 'name': 'xerces-c', 'epoch': 0, 'version': '3.1.1', 'release': '4.fc19', 'arch': 'x86_64'}, {'vendor': 'Fedora Project', 'name': 'libattr', 'epoch': 0, 'version': '2.4.46', 'release': '10.fc19', 'arch': 'x86_64'}, {'vendor': 'Fedora Project', 'name': 'gpm-libs', 'epoch': 0, 'version': '1.20.6', 'release': '33.fc19', 'arch': 'x86_64'}, {'vendor': None, 'name': 'm2crypto', 'epoch': 0, 'version': '0.21.1.pulp', 'release': '8.fc19', 'arch': 'x86_64'}, {'vendor': 'Fedora Project', 'name': 'zlib', 'epoch': 0, 'version': '1.2.7', 'release': '10.fc19', 'arch': 'x86_64'}, {'vendor': 'Fedora Project', 'name': 'qpid-cpp-client', 'epoch': 0, 'version': '0.24', 'release': '3.fc19.1', 'arch': 'x86_64'}, {'vendor': 'Fedora Project', 'name': 'python-rhsm', 'epoch': 0, 'version': '1.10.1', 'release': '1.fc19', 'arch': 'x86_64'}, {'vendor': 'Fedora Project', 'name': 'chkconfig', 'epoch': 0, 'version': '1.3.60', 'release': '3.fc19', 'arch': 'x86_64'},
from pulp_auto import namespace import yaml global ROLES # load inventory globals with open("inventory.yml") as fd: globals().update(namespace.load_ns(yaml.load(fd)))