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)
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)
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
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 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)
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)
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)
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