Пример #1
0
def getVolumes(parameters):
    """
    This helper is designed as a callback for Zone Selector
    """
    from .Provider import Provider
    from uds.core.Environment import Environment
    logger.debug(
        'Parameters received by getVolumes Helper: {0}'.format(parameters))
    env = Environment(parameters['ev'])
    provider = Provider(env)
    provider.unserialize(parameters['ov'])

    api = provider.api(parameters['project'], parameters['region'])

    volumes = [
        gui.choiceItem(v['id'], v['name']) for v in api.listVolumes()
        if v['name'] != ''
        and v['availability_zone'] == parameters['availabilityZone']
    ]

    data = [
        {
            'name': 'volume',
            'values': volumes
        },
    ]
    logger.debug('Return data: {}'.format(data))
    return data
Пример #2
0
def getResources(parameters):
    '''
    This helper is designed as a callback for Project Selector
    '''
    from .Provider import OGProvider
    from uds.core.Environment import Environment
    logger.debug(
        'Parameters received by getResources Helper: {0}'.format(parameters))
    env = Environment(parameters['ev'])
    provider = OGProvider(env)
    provider.unserialize(parameters['ov'])

    api = provider.api

    labs = [gui.choiceItem('0', _('All Labs'))] + [
        gui.choiceItem(l['id'], l['name'])
        for l in api.getLabs(ou=parameters['ou'])
    ]
    images = [
        gui.choiceItem(z['id'], z['name'])
        for z in api.getImages(ou=parameters['ou'])
    ]

    data = [
        {
            'name': 'lab',
            'values': labs
        },
        {
            'name': 'image',
            'values': images
        },
    ]
    logger.debug('Return data: {}'.format(data))
    return data
Пример #3
0
def getResources(parameters):
    '''
    This helper is designed as a callback for Project Selector
    '''
    if parameters['legacy'] == 'true':
        from .ProviderLegacy import ProviderLegacy as Provider
    else:
        from .Provider import Provider
    from uds.core.Environment import Environment
    logger.debug('Parameters received by getResources Helper: {0}'.format(parameters))
    env = Environment(parameters['ev'])
    provider = Provider(env)
    provider.unserialize(parameters['ov'])

    api = provider.api(parameters['project'], parameters['region'])

    zones = [gui.choiceItem(z, z) for z in api.listAvailabilityZones()]
    networks = [gui.choiceItem(z['id'], z['name']) for z in api.listNetworks()]
    flavors = [gui.choiceItem(z['id'], z['name']) for z in api.listFlavors()]
    securityGroups = [gui.choiceItem(z['id'], z['name']) for z in api.listSecurityGroups()]
    volumeTypes = [gui.choiceItem('-', _('None'))] + [gui.choiceItem(t['id'], t['name']) for t in api.listVolumeTypes()]

    data = [
        {'name': 'availabilityZone', 'values': zones },
        {'name': 'network', 'values': networks },
        {'name': 'flavor', 'values': flavors },
        {'name': 'securityGroups', 'values': securityGroups },
        {'name': 'volumeType', 'values': volumeTypes },
    ]
    logger.debug('Return data: {}'.format(data))
    return data
Пример #4
0
    def getResources(parameters):
        """
        This helper is designed as a callback for machine selector, so we can provide valid clusters and datastores domains based on it
        """
        from OVirtProvider import Provider
        from uds.core.Environment import Environment
        logger.debug('Parameters received by getResources Helper: {0}'.format(
            parameters))
        env = Environment(parameters['ev'])
        provider = Provider(env)
        provider.unserialize(parameters['ov'])

        # Obtains datacenter from cluster
        ci = provider.getClusterInfo(parameters['cluster'])

        res = []
        # Get storages for that datacenter
        for storage in provider.getDatacenterInfo(
                ci['datacenter_id'])['storage']:
            if storage['type'] == 'data':
                space, free = (storage['available'] +
                               storage['used']) / 1024 / 1024 / 1024, storage[
                                   'available'] / 1024 / 1024 / 1024

                res.append({
                    'id':
                    storage['id'],
                    'text':
                    "%s (%4.2f Gb/%4.2f Gb) %s" %
                    (storage['name'], space, free, storage['active'] and '(ok)'
                     or '(disabled)')
                })
        data = [{'name': 'datastore', 'values': res}]

        logger.debug('return data: {0}'.format(data))
        return data