コード例 #1
0
def determine_packages(source=None):
    # currently all packages match service names
    packages = [] + BASE_PACKAGES

    for v in resource_map().values():
        packages.extend(v['services'])
        if manage_plugin():
            pkgs = neutron_plugin_attribute(config('neutron-plugin'),
                                            'server_packages', 'neutron')
            packages.extend(pkgs)

    release = get_os_codename_install_source(source)

    if CompareOpenStackReleases(release) >= 'kilo':
        packages.extend(KILO_PACKAGES)
    if CompareOpenStackReleases(release) >= 'ocata':
        packages.append('python-neutron-dynamic-routing')
    if CompareOpenStackReleases(release) >= 'pike':
        packages.remove('python-neutron-vpnaas')

    if release == 'kilo' or CompareOpenStackReleases(release) >= 'mitaka':
        packages.append('python-networking-hyperv')

    if config('neutron-plugin') == 'vsp':
        nuage_pkgs = config('nuage-packages').split()
        packages += nuage_pkgs

    packages.extend(token_cache_pkgs(release=release))
    return list(set(packages))
コード例 #2
0
ファイル: glance_utils.py プロジェクト: rgrullon/charm-glance
def determine_packages():
    packages = set(PACKAGES)
    packages |= set(token_cache_pkgs(source=config('openstack-origin')))
    if CompareOpenStackReleases(os_release(VERSION_PACKAGE)) >= 'rocky':
        packages = [p for p in packages if not p.startswith('python-')]
        packages.extend(PY3_PACKAGES)
    return sorted(packages)
コード例 #3
0
def determine_packages():
    packages = set(PACKAGES)
    packages |= set(token_cache_pkgs(source=config('openstack-origin')))
    if CompareOpenStackReleases(os_release(VERSION_PACKAGE)) >= 'rocky':
        packages = [p for p in packages if not p.startswith('python-')]
        packages.extend(PY3_PACKAGES)
    return sorted(packages)
コード例 #4
0
def determine_packages():
    packages = set(PACKAGES)

    if git_install_requested():
        packages |= set(BASE_GIT_PACKAGES)
        packages -= set(GIT_PACKAGE_BLACKLIST)

    packages |= set(token_cache_pkgs(source=config('openstack-origin')))
    return sorted(packages)
コード例 #5
0
ファイル: heat_utils.py プロジェクト: openstack/charm-heat
def determine_packages():
    release = CompareOpenStackReleases(os_release('heat-common'))

    # currently all packages match service names
    packages = BASE_PACKAGES + BASE_SERVICES
    packages.extend(token_cache_pkgs(source=config('openstack-origin')))

    if release >= 'rocky':
        packages = [p for p in packages if not p.startswith('python-')]
        packages.extend(PY3_PACKAGES)

    return list(set(packages))
コード例 #6
0
def get_packages():
    release = CompareOpenStackReleases(get_os_codename_package(
        'ceilometer-common', fatal=False) or 'icehouse')

    packages = deepcopy(CEILOMETER_AGENT_PACKAGES)
    packages.extend(token_cache_pkgs(release=release))

    if release >= 'rocky':
        packages = [p for p in packages if not p.startswith('python-')]
        packages.extend(PY3_PACKAGES)

    return packages
コード例 #7
0
def get_packages():
    cmp_codename = CompareOpenStackReleases(
        get_os_codename_install_source(config('openstack-origin')))

    # NOTE(jamespage): @queens ceilometer has no API service, so
    #                  no requirement for token caching.
    if cmp_codename >= 'queens':
        return deepcopy(QUEENS_PACKAGES)

    packages = (deepcopy(CEILOMETER_BASE_PACKAGES) +
                ceilometer_release_packages())
    packages.extend(token_cache_pkgs(source=config('openstack-origin')))
    return packages
コード例 #8
0
def determine_packages():
    '''Determine list of packages required for the currently enabled services.

    :returns: list of package names
    '''
    pkgs = copy(COMMON_PACKAGES)
    for s, p in [('api', API_PACKAGES), ('volume', VOLUME_PACKAGES),
                 ('scheduler', SCHEDULER_PACKAGES)]:
        if service_enabled(s):
            pkgs += p

    pkgs.extend(token_cache_pkgs(source=config()['openstack-origin']))
    return pkgs
コード例 #9
0
def determine_packages():
    # currently all packages match service names
    packages = deepcopy(BASE_PACKAGES)
    for v in resource_map(actual_services=False).values():
        packages.extend(v['services'])
    if console_attributes('packages'):
        packages.extend(console_attributes('packages'))
    if (config('enable-serial-console')
            and CompareOpenStackReleases(os_release('nova-common')) >= 'juno'):
        packages.extend(SERIAL_CONSOLE['packages'])

    packages.extend(token_cache_pkgs(source=config('openstack-origin')))
    return list(set(packages))
コード例 #10
0
def get_packages():
    cmp_codename = CompareOpenStackReleases(
        get_os_codename_install_source(config('openstack-origin')))

    # NOTE(jamespage): @queens ceilometer has no API service, so
    #                  no requirement for token caching.
    if cmp_codename >= 'queens':
        packages = deepcopy(QUEENS_PACKAGES)
        if cmp_codename >= 'rocky':
            packages.extend(PY3_PACKAGES)
    else:
        packages = (deepcopy(CEILOMETER_BASE_PACKAGES) +
                    ceilometer_release_packages())
        packages.extend(token_cache_pkgs(source=config('openstack-origin')))
    return packages
コード例 #11
0
def determine_packages(source=None, openstack_release=None):
    # currently all packages match service names
    if openstack_release:
        release = openstack_release
    else:
        release = get_os_codename_install_source(source)

    cmp_release = CompareOpenStackReleases(release)
    packages = deepcopy(BASE_PACKAGES)
    if cmp_release >= 'rocky':
        packages.extend(PY3_PACKAGES)
        if config('enable-fwaas') and cmp_release <= 'ussuri':
            packages.append('python3-neutron-fwaas')
        if cmp_release >= 'train':
            packages.remove('python3-neutron-lbaas')

    for v in resource_map().values():
        packages.extend(v['services'])
        if manage_plugin():
            pkgs = neutron_plugin_attribute(config('neutron-plugin'),
                                            'server_packages', 'neutron')
            packages.extend(pkgs)

    packages.extend(token_cache_pkgs(release=release))

    if cmp_release < 'rocky':
        if cmp_release >= 'kilo':
            packages.extend(KILO_PACKAGES)
            if config('enable-fwaas'):
                packages.append('python-neutron-fwaas')
        if cmp_release >= 'ocata':
            packages.append('python-neutron-dynamic-routing')
        if cmp_release >= 'pike':
            packages.remove('python-neutron-vpnaas')

        if release == 'kilo' or cmp_release >= 'mitaka':
            packages.append('python-networking-hyperv')

    if config('neutron-plugin') == 'vsp' and cmp_release < 'newton':
        nuage_pkgs = config('nuage-packages').split()
        packages.extend(nuage_pkgs)

    if cmp_release >= 'rocky':
        packages = [p for p in packages if not p.startswith('python-')]

    return list(set(packages))
コード例 #12
0
def determine_packages():
    '''Determine list of packages required for the currently enabled services.

    :returns: list of package names
    '''
    pkgs = copy(COMMON_PACKAGES)
    for s, p in [('api', API_PACKAGES), ('volume', VOLUME_PACKAGES),
                 ('scheduler', SCHEDULER_PACKAGES)]:
        if service_enabled(s):
            pkgs += p

    pkgs.extend(token_cache_pkgs(source=config()['openstack-origin']))

    if CompareOpenStackReleases(os_release('cinder')) >= 'rocky':
        pkgs = [p for p in pkgs if not p.startswith('python-')]
        pkgs.extend(PY3_PACKAGES)

    return pkgs
コード例 #13
0
def determine_packages():
    '''Determine list of packages required for the currently enabled services.

    :returns: list of package names
    '''
    pkgs = copy(COMMON_PACKAGES)
    for s, p in [('api', API_PACKAGES),
                 ('volume', VOLUME_PACKAGES),
                 ('scheduler', SCHEDULER_PACKAGES)]:
        if service_enabled(s):
            pkgs += p

    pkgs.extend(token_cache_pkgs(source=config()['openstack-origin']))

    if CompareOpenStackReleases(os_release('cinder')) >= 'rocky':
        pkgs = [p for p in pkgs if not p.startswith('python-')]
        pkgs.extend(PY3_PACKAGES)

    return pkgs
コード例 #14
0
def determine_packages():
    '''Determine list of packages required for the currently enabled services.

    :returns: list of package names
    '''
    pkgs = copy(COMMON_PACKAGES)
    for s, p in [('api', API_PACKAGES), ('volume', VOLUME_PACKAGES),
                 ('scheduler', SCHEDULER_PACKAGES)]:
        if service_enabled(s):
            pkgs += p

    if git_install_requested():
        pkgs.extend(BASE_GIT_PACKAGES)
        # don't include packages that will be installed from git
        for p in GIT_PACKAGE_BLACKLIST:
            pkgs.remove(p)

    pkgs.extend(token_cache_pkgs(source=config()['openstack-origin']))
    return pkgs
コード例 #15
0
def determine_packages(source=None):
    # currently all packages match service names
    release = get_os_codename_install_source(source)
    cmp_release = CompareOpenStackReleases(release)
    packages = deepcopy(BASE_PACKAGES)
    if cmp_release >= 'rocky':
        packages.extend(PY3_PACKAGES)

    for v in resource_map().values():
        packages.extend(v['services'])
        if manage_plugin():
            pkgs = neutron_plugin_attribute(config('neutron-plugin'),
                                            'server_packages',
                                            'neutron')
            packages.extend(pkgs)

    packages.extend(token_cache_pkgs(release=release))

    if cmp_release < 'rocky':
        if cmp_release >= 'kilo':
            packages.extend(KILO_PACKAGES)
        if cmp_release >= 'ocata':
            packages.append('python-neutron-dynamic-routing')
        if cmp_release >= 'pike':
            packages.remove('python-neutron-vpnaas')

        if release == 'kilo' or cmp_release >= 'mitaka':
            packages.append('python-networking-hyperv')

    if config('neutron-plugin') == 'vsp':
        nuage_pkgs = config('nuage-packages').split()
        packages.extend(nuage_pkgs)

    if cmp_release >= 'rocky':
        packages = [p for p in packages if not p.startswith('python-')]

    return list(set(packages))
コード例 #16
0
def determine_packages(source=None):
    # currently all packages match service names
    packages = [] + BASE_PACKAGES

    for v in resource_map().values():
        packages.extend(v['services'])
        if manage_plugin():
            pkgs = neutron_plugin_attribute(config('neutron-plugin'),
                                            'server_packages',
                                            'neutron')
            packages.extend(pkgs)

    release = get_os_codename_install_source(source)

    if CompareOpenStackReleases(release) >= 'kilo':
        packages.extend(KILO_PACKAGES)

    if release == 'kilo' or CompareOpenStackReleases(release) >= 'mitaka':
        packages.append('python-networking-hyperv')

    if config('neutron-plugin') == 'vsp':
        nuage_pkgs = config('nuage-packages').split()
        packages += nuage_pkgs

    if git_install_requested():
        packages.extend(BASE_GIT_PACKAGES)
        # don't include packages that will be installed from git
        packages = list(set(packages))
        for p in GIT_PACKAGE_BLACKLIST:
            if p in packages:
                packages.remove(p)
        if CompareOpenStackReleases(release) >= 'kilo':
            for p in GIT_PACKAGE_BLACKLIST_KILO:
                packages.remove(p)

    packages.extend(token_cache_pkgs(release=release))
    return list(set(packages))
コード例 #17
0
def determine_packages():
    packages = set(PACKAGES)
    packages |= set(token_cache_pkgs(source=config('openstack-origin')))
    return sorted(packages)
コード例 #18
0
def determine_packages():
    # currently all packages match service names
    packages = BASE_PACKAGES + BASE_SERVICES
    packages.extend(token_cache_pkgs(source=config('openstack-origin')))
    return list(set(packages))
コード例 #19
0
 def test_enable_token_cache_pkgs(self, _enable_memcache):
     _enable_memcache.return_value = False
     self.assertEqual(utils.token_cache_pkgs(source='distro'), [])
     _enable_memcache.return_value = True
     self.assertEqual(utils.token_cache_pkgs(source='distro'),
                      ['memcached', 'python-memcache'])
コード例 #20
0
def get_packages():
    release = (get_os_codename_package('ceilometer-common', fatal=False)
               or 'icehouse')
    packages = deepcopy(CEILOMETER_AGENT_PACKAGES)
    packages.extend(token_cache_pkgs(release=release))
    return packages