Exemple #1
0
def process_project_list(runtime_storage_inst):
    module_groups = runtime_storage_inst.get_by_key('module_groups') or {}
    releases = runtime_storage_inst.get_by_key('releases') or {}

    official_module_groups = governance.process_official_list(releases)

    LOG.debug('Update module groups with official: %s', official_module_groups)
    module_groups.update(official_module_groups)

    # make list of OpenStack unofficial projects
    others = module_groups['openstack-others']
    off_rm = module_groups['openstack-official']['releases']
    official = dict((r, set(m)) for r, m in six.iteritems(off_rm))

    for module in module_groups['openstack']['modules']:
        for r, off_m in six.iteritems(official):
            if module not in off_m:
                others['releases'][r].add(module)

    # register modules as module groups
    repos = runtime_storage_inst.get_by_key('repos') or []
    for repo in repos:
        module = repo['module']
        module_groups[module] = utils.make_module_group(module, tag='module')

        if 'drivers' in repo:
            module_groups[module]['has_drivers'] = True

    # register module 'unknown' - used for emails not mapped to any module
    module_groups['unknown'] = utils.make_module_group('unknown', tag='module')

    runtime_storage_inst.set_by_key('module_groups', module_groups)
Exemple #2
0
def process_project_list(runtime_storage_inst):
    module_groups = runtime_storage_inst.get_by_key('module_groups') or {}
    releases = runtime_storage_inst.get_by_key('releases') or {}

    official_module_groups = governance.process_official_list(releases)

    LOG.debug('Update module groups with official: %s', official_module_groups)
    module_groups.update(official_module_groups)

    # make list of OpenStack unofficial projects
    others = module_groups.get('openstack-others')
    off_rm = module_groups.get('openstack-official', {}).get('releases')
    official = dict((r, set(m)) for r, m in six.iteritems(off_rm))

    for module in module_groups.get('openstack', {}).get('modules', []):
        for r, off_m in six.iteritems(official):
            if module not in off_m:
                others['releases'][r].add(module)

    # register modules as module groups
    repos = runtime_storage_inst.get_by_key('repos') or []
    for repo in repos:
        module = repo['module'].lower()
        module_groups[module] = utils.make_module_group(module, tag='module')

    # register module 'unknown' - used for emails not mapped to any module
    module_groups['unknown'] = utils.make_module_group('unknown', tag='module')

    runtime_storage_inst.set_by_key('module_groups', module_groups)
Exemple #3
0
def process_project_list(runtime_storage_inst):
    module_groups = runtime_storage_inst.get_by_key('module_groups') or {}

    # register modules as module groups
    repos = runtime_storage_inst.get_by_key('repos') or []
    for repo in repos:
        module = repo['module'].lower()
        module_groups[module] = utils.make_module_group(module, tag='module')

    # register module 'unknown' - used for emails not mapped to any module
    module_groups['unknown'] = utils.make_module_group('unknown', tag='module')

    runtime_storage_inst.set_by_key('module_groups', module_groups)
def _create_module_groups_for_project_sources(project_sources, repos):
    organizations = collections.defaultdict(list)
    for repo in repos:
        organizations[repo['organization']].append(repo['module'])

    # organization -> (module_group_id, module_group_name)
    ps_organizations = dict(
        [(ps.get('organization'),
          (ps.get('module_group_id') or ps.get('organization'),
           ps.get('module_group_name') or ps.get('organization')))
         for ps in project_sources])

    module_groups = []
    for ogn, modules in six.iteritems(organizations):
        module_group_id = ogn
        module_group_name = ogn

        if ogn in ps_organizations:
            module_group_id = ps_organizations[ogn][0]
            module_group_name = ps_organizations[ogn][1]

        module_groups.append(utils.make_module_group(
            module_group_id, name=module_group_name, modules=modules,
            tag='organization'))

    return module_groups
Exemple #5
0
def process_project_list(runtime_storage_inst, project_list_uri):
    module_groups = runtime_storage_inst.get_by_key("module_groups") or {}

    official_module_groups = governance.read_projects_yaml(project_list_uri)
    LOG.debug("Update module groups with official: %s", official_module_groups)
    module_groups.update(official_module_groups)

    # register modules as module groups
    repos = runtime_storage_inst.get_by_key("repos") or []
    for repo in repos:
        module = repo["module"]
        module_groups[module] = utils.make_module_group(module, tag="module")

    # register module 'unknown' - used for emails not mapped to any module
    module_groups["unknown"] = utils.make_module_group("unknown", tag="module")

    runtime_storage_inst.set_by_key("module_groups", module_groups)
Exemple #6
0
def process_project_list(runtime_storage_inst, project_list_uri):
    module_groups = runtime_storage_inst.get_by_key('module_groups') or {}

    official_module_groups = governance.read_projects_yaml(project_list_uri)
    LOG.debug('Update module groups with official: %s', official_module_groups)
    module_groups.update(official_module_groups)

    # register modules as module groups
    repos = runtime_storage_inst.get_by_key('repos') or []
    for repo in repos:
        module = repo['module']
        module_groups[module] = utils.make_module_group(module, tag='module')

    # register module 'unknown' - used for emails not mapped to any module
    module_groups['unknown'] = utils.make_module_group('unknown', tag='module')

    runtime_storage_inst.set_by_key('module_groups', module_groups)
Exemple #7
0
def process_project_list(runtime_storage_inst, project_list_uri):
    module_groups = runtime_storage_inst.get_by_key('module_groups') or {}

    official_module_groups = governance.read_projects_yaml(project_list_uri)
    LOG.debug('Update module groups with official: %s', official_module_groups)
    module_groups.update(official_module_groups)

    # register modules as module groups
    repos = runtime_storage_inst.get_by_key('repos') or []
    for repo in repos:
        module = repo['module']
        module_groups[module] = utils.make_module_group(module, tag='module')

    # register module 'unknown' - used for emails not mapped to any module
    module_groups['unknown'] = utils.make_module_group('unknown', tag='module')

    runtime_storage_inst.set_by_key('module_groups', module_groups)
def _store_module_groups(runtime_storage_inst, module_groups):
    stored_mg = runtime_storage_inst.get_by_key('module_groups') or {}
    for mg in module_groups:
        name = mg['module_group_name']
        module_group_id = mg.get('id') or name
        stored_mg[module_group_id] = utils.make_module_group(
            module_group_id, name=name, modules=mg['modules'],
            tag=mg.get('tag', 'group'))
    runtime_storage_inst.set_by_key('module_groups', stored_mg)
Exemple #9
0
def process_program_list(runtime_storage_inst, program_list_uri):
    module_groups = runtime_storage_inst.get_by_key('module_groups') or {}
    release_names = [r['release_name'].lower()
                     for r in runtime_storage_inst.get_by_key('releases')[1:]]

    official_module_groups = _read_official_programs_yaml(
        program_list_uri, release_names)
    LOG.debug('Update module groups with official: %s', official_module_groups)
    module_groups.update(official_module_groups)

    # register modules as module groups
    repos = runtime_storage_inst.get_by_key('repos') or []
    for repo in repos:
        module = repo['module']
        module_groups[module] = utils.make_module_group(module, tag='module')

    # register module 'unknown' - used for emails not mapped to any module
    module_groups['unknown'] = utils.make_module_group('unknown', tag='module')

    runtime_storage_inst.set_by_key('module_groups', module_groups)
Exemple #10
0
def process_program_list(runtime_storage_inst, program_list_uri):
    module_groups = runtime_storage_inst.get_by_key('module_groups') or {}
    release_names = [
        r['release_name'].lower()
        for r in runtime_storage_inst.get_by_key('releases')[1:]
    ]

    official_module_groups = _read_official_programs_yaml(
        program_list_uri, release_names)
    LOG.debug('Update module groups with official: %s', official_module_groups)
    module_groups.update(official_module_groups)

    # register modules as module groups
    repos = runtime_storage_inst.get_by_key('repos') or []
    for repo in repos:
        module = repo['module']
        module_groups[module] = utils.make_module_group(module, tag='module')

    # register module 'unknown' - used for emails not mapped to any module
    module_groups['unknown'] = utils.make_module_group('unknown', tag='module')

    runtime_storage_inst.set_by_key('module_groups', module_groups)
Exemple #11
0
def _create_module_groups_for_project_sources(project_sources, repos):
    organizations = collections.defaultdict(list)
    for repo in repos:
        organizations[repo['organization']].append(repo['module'])

    ps_organizations = dict([(ps.get('organization'),
                              ps.get('module_group_name') or
                              ps.get('organization'))
                             for ps in project_sources])

    module_groups = []
    for ogn, modules in six.iteritems(organizations):
        module_groups.append(utils.make_module_group(
            ogn, name=ps_organizations.get(ogn, ogn), modules=modules,
            tag='organization'))

    return module_groups
def _create_module_groups_for_project_sources(project_sources, repos):
    organizations = collections.defaultdict(list)
    for repo in repos:
        organizations[repo['organization']].append(repo['module'])

    ps_organizations = dict([(ps.get('organization'),
                              ps.get('module_group_name') or
                              ps.get('organization'))
                             for ps in project_sources])

    module_groups = []
    for ogn, modules in six.iteritems(organizations):
        module_groups.append(utils.make_module_group(
            ogn, name=ps_organizations.get(ogn, ogn), modules=modules,
            tag='organization'))

    return module_groups