9efbbc2bcb
This patch adds a couple of improvements to yum-config module: - change the default behavior for yum-config repo, which now tries to update an existent configuration file and, if the file does not exists, create a new one. - Adds more options to repo config operation. - Check OS version info before enable dnf-manager command. - Add python2 support to yum-config 'repo' and 'global'. - Update molecule to run yum-config 'repo' and 'global' tests for CentOS-7 Change-Id: I654fb32ad4e987b43baea17641aa60de86a78ff9 Signed-off-by: Douglas Viroel <dviroel@redhat.com>
87 lines
2.0 KiB
Python
87 lines
2.0 KiB
Python
# Copyright 2021 Red Hat, Inc.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
# not use this file except in compliance with the License. You may obtain
|
|
# a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations
|
|
# under the License.
|
|
#
|
|
#
|
|
from __future__ import (absolute_import, division, print_function)
|
|
"""
|
|
List of options that can be updated for yum repo files.
|
|
"""
|
|
|
|
__metaclass__ = type
|
|
|
|
YUM_REPO_SUPPORTED_OPTIONS = [
|
|
'baseurl',
|
|
'cost',
|
|
'enabled',
|
|
'exclude',
|
|
'excludepkgs',
|
|
'gpgcheck',
|
|
'gpgkey',
|
|
'includepkgs',
|
|
'metalink',
|
|
'mirrorlist',
|
|
'module_hotfixes',
|
|
'name',
|
|
'priority'
|
|
]
|
|
|
|
"""
|
|
Default constants for yum repo operations.
|
|
"""
|
|
YUM_REPO_DIR = '/etc/yum.repos.d'
|
|
YUM_REPO_FILE_EXTENSION = '.repo'
|
|
|
|
"""
|
|
Default constants for yum/dnf global configurations.
|
|
"""
|
|
YUM_GLOBAL_CONFIG_FILE_PATH = '/etc/yum.conf'
|
|
|
|
"""
|
|
CentOS Stream compose repos defaults
|
|
"""
|
|
COMPOSE_REPOS_RELEASES = [
|
|
"centos-stream-8",
|
|
"centos-stream-9"
|
|
]
|
|
|
|
COMPOSE_REPOS_SUPPORTED_ARCHS = [
|
|
"aarch64",
|
|
"ppc64le",
|
|
"x86_64"
|
|
]
|
|
|
|
COMPOSE_REPOS_URL_PATTERN = {
|
|
"centos-stream-8": r"(^https:.*.centos.org/)([^/]*)(/compose/?$)",
|
|
"centos-stream-9": r"(^https:.*.centos.org/.*/)(.*)(/compose/?$)",
|
|
}
|
|
|
|
COMPOSE_REPOS_URL_REPLACE_STR = {
|
|
"centos-stream-8": r"\1%(compose_id)s\3",
|
|
"centos-stream-9": r"\1%(compose_id)s\3",
|
|
}
|
|
|
|
COMPOSE_REPOS_INFO_PATH = {
|
|
"centos-stream-8": "metadata/composeinfo.json",
|
|
"centos-stream-9": "metadata/composeinfo.json",
|
|
}
|
|
|
|
"""
|
|
DNF Manager constants
|
|
"""
|
|
DNF_MODULE_MINIMAL_DISTRO_VERSIONS = [
|
|
{'distro': 'centos', 'min_version': 8},
|
|
{'distro': 'rhel', 'min_version': 8},
|
|
{'distro': 'fedora', 'min_version': 22},
|
|
]
|