コード例 #1
0
 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": []})
コード例 #2
0
 def nevra_to_unit(nevra):
     return load_ns({
        'type_id': 'rpm',
         'unit_key': {
             'name': nevra.name,
             'version': nevra.version + '-' + nevra.release
         }
     })
コード例 #3
0
ファイル: handler.py プロジェクト: alexxa/pulp-automation
 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 
コード例 #4
0
ファイル: handler.py プロジェクト: kvitajakub/pulp-automation
 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
コード例 #5
0
    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
        })
コード例 #6
0
ファイル: rpm_unit.py プロジェクト: RedHatQE/pulp-automation
    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
        })
コード例 #7
0
ファイル: rpm_unit.py プロジェクト: elyezer/pulp-automation
    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
        })
コード例 #8
0
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)))
コード例 #9
0
ファイル: profile.py プロジェクト: CUXIDUMDUM/pulp-automation
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'},
コード例 #10
0
ファイル: __init__.py プロジェクト: preethit/pulp-automation
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)))