Add support for rpm to repos.yaml
Add the ability to configure repositories in the same way as we do Debuntu ones - via repos.yaml. Removes .repo files from base - since these are not needed there anymore. gpgcheck = 1 is default in docker/base/dnf.conf Change-Id: I7df7d452c45c57c434d5b4ad15a87963e4d6d0d4 Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
This commit is contained in:
@@ -2,6 +2,7 @@
|
|||||||
exclude_paths:
|
exclude_paths:
|
||||||
- .cache/ # implicit unless exclude_paths is defined in config
|
- .cache/ # implicit unless exclude_paths is defined in config
|
||||||
- zuul.d/
|
- zuul.d/
|
||||||
|
- kolla/template/repos.yaml
|
||||||
offline: true
|
offline: true
|
||||||
parseable: true
|
parseable: true
|
||||||
profile: basic
|
profile: basic
|
||||||
|
@@ -54,46 +54,12 @@ COPY dnf.conf /etc/dnf/dnf.conf
|
|||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
#### BEGIN REPO ENABLEMENT
|
#### BEGIN REPO ENABLEMENT
|
||||||
{% set base_yum_repo_files = [
|
|
||||||
'docker-ce.repo',
|
|
||||||
'grafana.repo',
|
|
||||||
'influxdb.repo',
|
|
||||||
'kolla_el10.repo',
|
|
||||||
'mariadb.repo',
|
|
||||||
'opensearch.repo',
|
|
||||||
'proxysql.repo',
|
|
||||||
'rabbitmq_rabbitmq-server.repo',
|
|
||||||
'td.repo',
|
|
||||||
] %}
|
|
||||||
|
|
||||||
{% set base_yum_url_packages = [
|
{% set base_yum_url_packages = [
|
||||||
] %}
|
] %}
|
||||||
|
|
||||||
{% set base_yum_repo_keys = [
|
{% set base_yum_repo_keys = [
|
||||||
] %}
|
] %}
|
||||||
|
|
||||||
{% if base_arch == 'x86_64' %}
|
|
||||||
{% set base_yum_repo_files = base_yum_repo_files + [
|
|
||||||
'rabbitmq_rabbitmq-erlang.repo',
|
|
||||||
] %}
|
|
||||||
|
|
||||||
{% elif base_arch == 'aarch64' %}
|
|
||||||
{% set base_yum_repo_files = base_yum_repo_files + [
|
|
||||||
'copr-rabbitmq-erlang.repo',
|
|
||||||
] %}
|
|
||||||
|
|
||||||
{#
|
|
||||||
SHA1 keys are not supported in RHEL9: https://github.com/rpm-software-management/rpm/issues/1977
|
|
||||||
'https://packages.erlang-solutions.com/rpm/erlang_solutions.asc',
|
|
||||||
#}
|
|
||||||
{% set base_yum_repo_keys = base_yum_repo_keys + [
|
|
||||||
] %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{%- for repo_file in base_yum_repo_files | customizable('yum_repo_files') %}
|
|
||||||
COPY {{ repo_file }} /etc/yum.repos.d/{{ repo_file }}
|
|
||||||
{%- endfor %}
|
|
||||||
|
|
||||||
{% block base_centos_repo_overrides_post_copy %}{% endblock %}
|
{% block base_centos_repo_overrides_post_copy %}{% endblock %}
|
||||||
|
|
||||||
# Install what is needed for en_US.UTF-8
|
# Install what is needed for en_US.UTF-8
|
||||||
@@ -142,24 +108,9 @@ RUN rm -f /etc/rpm/macros.image-language-conf \
|
|||||||
{% set base_centos_yum_repo_packages = base_centos_yum_repo_packages + [
|
{% set base_centos_yum_repo_packages = base_centos_yum_repo_packages + [
|
||||||
'dnf-plugins-core'
|
'dnf-plugins-core'
|
||||||
] %}
|
] %}
|
||||||
{% set base_centos_yum_repos_to_enable = [
|
|
||||||
] %}
|
|
||||||
|
|
||||||
{% set base_centos_yum_repos_to_disable = [
|
|
||||||
'centos-ceph-squid',
|
|
||||||
'centos-nfv-openvswitch',
|
|
||||||
'epel',
|
|
||||||
'influxdb',
|
|
||||||
'opensearch-3.x',
|
|
||||||
'opensearch-dashboards-3.x',
|
|
||||||
] %}
|
|
||||||
|
|
||||||
RUN {{ macros.install_packages(base_centos_yum_repo_packages | customizable("centos_yum_repo_packages"), chain=True, clean=False) }}
|
RUN {{ macros.install_packages(base_centos_yum_repo_packages | customizable("centos_yum_repo_packages"), chain=True, clean=False) }}
|
||||||
|
|
||||||
{%- for repo in base_centos_yum_repos_to_enable | customizable('centos_yum_repos_to_enable') %} && dnf config-manager --enable {{ repo }} {% endfor -%}
|
|
||||||
|
|
||||||
{%- for repo in base_centos_yum_repos_to_disable | customizable('centos_yum_repos_to_disable') %} && dnf config-manager --disable {{ repo }} {% endfor -%}
|
|
||||||
|
|
||||||
{%- for key in base_centos_yum_repo_keys | customizable('centos_yum_repo_keys') %} && rpm --import {{ key }} {% endfor %} \
|
{%- for key in base_centos_yum_repo_keys | customizable('centos_yum_repo_keys') %} && rpm --import {{ key }} {% endfor %} \
|
||||||
{% block base_centos_repo_overrides_post_yum %}{% endblock -%}
|
{% block base_centos_repo_overrides_post_yum %}{% endblock -%}
|
||||||
&& {{ macros.rpm_security_update(clean_package_cache) }}
|
&& {{ macros.rpm_security_update(clean_package_cache) }}
|
||||||
@@ -203,8 +154,7 @@ RUN dnf config-manager --save --setopt=*.metalink="https://mirrors.fedoraproject
|
|||||||
|
|
||||||
# Install base packages
|
# Install base packages
|
||||||
{{ macros.enable_extra_repos(['epel']) }}
|
{{ macros.enable_extra_repos(['epel']) }}
|
||||||
{{ macros.install_packages( base_centos_packages | customizable("centos_packages") | customizable("centos_binary_packages") | customizable("centos_source_packages") ) }}
|
{{ macros.install_packages(base_centos_packages | customizable("centos_packages") | customizable("centos_binary_packages") | customizable("centos_source_packages")) }}
|
||||||
{{ macros.disable_extra_repos(['epel']) }}
|
|
||||||
|
|
||||||
{# endif for base_package_type rpm #}
|
{# endif for base_package_type rpm #}
|
||||||
{% elif base_package_type == 'deb' %}
|
{% elif base_package_type == 'deb' %}
|
||||||
|
@@ -1,11 +0,0 @@
|
|||||||
# NOTE(hrw): this repository contains rebuild of Erlang package from RabbitMQ team
|
|
||||||
# from https://github.com/rabbitmq/erlang-rpm/
|
|
||||||
# Thanks to COPR we have aarch64 packages for Rocky Linux
|
|
||||||
|
|
||||||
[copr-rabbitmq-erlang]
|
|
||||||
name=openstack-kolla COPR with Erlang build for RabbitMQ
|
|
||||||
baseurl=https://download.copr.fedorainfracloud.org/results/@openstack-kolla/rabbitmq-erlang-27/rhel-$releasever-aarch64/
|
|
||||||
gpgcheck=1
|
|
||||||
enabled=0
|
|
||||||
gpgkey=https://download.copr.fedorainfracloud.org/results/@openstack-kolla/rabbitmq-erlang-27/pubkey.gpg
|
|
||||||
repo_gpgcheck=0
|
|
@@ -1,6 +0,0 @@
|
|||||||
[docker-ce]
|
|
||||||
name=Docker CE Stable - $basearch
|
|
||||||
baseurl=https://download.docker.com/linux/centos/$releasever/$basearch/stable
|
|
||||||
enabled=0
|
|
||||||
gpgcheck=1
|
|
||||||
gpgkey=https://download.docker.com/linux/centos/gpg
|
|
@@ -1,8 +0,0 @@
|
|||||||
[grafana]
|
|
||||||
name=grafana
|
|
||||||
baseurl=https://rpm.grafana.com
|
|
||||||
enabled=0
|
|
||||||
gpgcheck=1
|
|
||||||
gpgkey=https://rpm.grafana.com/gpg.key
|
|
||||||
sslverify=1
|
|
||||||
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
|
|
@@ -1,6 +0,0 @@
|
|||||||
[influxdb]
|
|
||||||
name = InfluxDB Repository - RHEL $releasever
|
|
||||||
baseurl = https://repos.influxdata.com/stable/$basearch/main
|
|
||||||
enabled = 0
|
|
||||||
gpgcheck = 1
|
|
||||||
gpgkey = https://repos.influxdata.com/influxdata-archive.key
|
|
@@ -1,10 +0,0 @@
|
|||||||
[kolla_el10]
|
|
||||||
name=Copr repo for el10-missing owned by @openstack-kolla
|
|
||||||
baseurl=https://download.copr.fedorainfracloud.org/results/@openstack-kolla/el10-missing/epel-10-$basearch/
|
|
||||||
type=rpm-md
|
|
||||||
skip_if_unavailable=True
|
|
||||||
gpgcheck=1
|
|
||||||
gpgkey=https://download.copr.fedorainfracloud.org/results/@openstack-kolla/el10-missing/pubkey.gpg
|
|
||||||
repo_gpgcheck=0
|
|
||||||
enabled=0
|
|
||||||
enabled_metadata=1
|
|
@@ -1,7 +0,0 @@
|
|||||||
[mariadb]
|
|
||||||
name = MariaDB Server
|
|
||||||
baseurl = https://dlm.mariadb.com/repo/mariadb-server/10.11/yum/rhel/$releasever/$basearch
|
|
||||||
gpgcheck = 1
|
|
||||||
enabled = 0
|
|
||||||
module_hotfixes = 1
|
|
||||||
gpgkey = https://downloads.mariadb.com/MariaDB/RPM-GPG-KEY-MariaDB
|
|
@@ -1,19 +0,0 @@
|
|||||||
[opensearch-3.x]
|
|
||||||
name=OpenSearch 3.x
|
|
||||||
baseurl=https://artifacts.opensearch.org/releases/bundle/opensearch/3.x/yum
|
|
||||||
enabled=0
|
|
||||||
repo_gpgcheck=1
|
|
||||||
gpgcheck=1
|
|
||||||
gpgkey=https://artifacts.opensearch.org/publickeys/opensearch-release.pgp
|
|
||||||
autorefresh=1
|
|
||||||
type=rpm-md
|
|
||||||
|
|
||||||
[opensearch-dashboards-3.x]
|
|
||||||
name=OpenSearch Dashboards 3.x
|
|
||||||
baseurl=https://artifacts.opensearch.org/releases/bundle/opensearch-dashboards/3.x/yum
|
|
||||||
enabled=0
|
|
||||||
repo_gpgcheck=1
|
|
||||||
gpgcheck=1
|
|
||||||
gpgkey=https://artifacts.opensearch.org/publickeys/opensearch-release.pgp
|
|
||||||
autorefresh=1
|
|
||||||
type=rpm-md
|
|
@@ -1,7 +0,0 @@
|
|||||||
[proxysql]
|
|
||||||
name = ProxySQL
|
|
||||||
# NOTE(mnasiadka): No EL10 packages yet
|
|
||||||
baseurl = https://repo.proxysql.com/ProxySQL/proxysql-3.0.x/almalinux/9
|
|
||||||
gpgkey = https://repo.proxysql.com/ProxySQL/proxysql-3.0.x/repo_pub_key
|
|
||||||
gpgcheck = 1
|
|
||||||
enabled = 0
|
|
@@ -1,9 +0,0 @@
|
|||||||
[rabbitmq_rabbitmq-erlang]
|
|
||||||
name=rabbitmq_rabbitmq-erlang
|
|
||||||
# Use a set of mirrors maintained by the RabbitMQ core team.
|
|
||||||
# The mirrors have significantly higher bandwidth quotas.
|
|
||||||
baseurl=https://yum1.rabbitmq.com/erlang/el/9/$basearch
|
|
||||||
https://yum2.rabbitmq.com/erlang/el/9/$basearch
|
|
||||||
gpgcheck=1
|
|
||||||
enabled=0
|
|
||||||
gpgkey=https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-erlang.E495BB49CC4BBE5B.key
|
|
@@ -1,9 +0,0 @@
|
|||||||
[rabbitmq_rabbitmq-server]
|
|
||||||
name=rabbitmq_rabbitmq-server
|
|
||||||
baseurl=https://yum2.rabbitmq.com/rabbitmq/el/9/noarch
|
|
||||||
https://yum1.rabbitmq.com/rabbitmq/el/9/noarch
|
|
||||||
gpgcheck=1
|
|
||||||
enabled=0
|
|
||||||
# Cloudsmith's repository key and RabbitMQ package signing key
|
|
||||||
gpgkey=https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-server.9F4587F226208342.key
|
|
||||||
https://github.com/rabbitmq/signing-keys/releases/download/3.0/rabbitmq-release-signing-key.asc
|
|
@@ -1,7 +0,0 @@
|
|||||||
[fluent-package-lts]
|
|
||||||
name=Fluentd Project
|
|
||||||
# NOTE(mnasiadka): Use EL9 packages for now - 10 are not available yet
|
|
||||||
baseurl=https://packages.treasuredata.com/lts/5/redhat/9/$basearch
|
|
||||||
gpgcheck=1
|
|
||||||
gpgkey=https://packages.treasuredata.com/GPG-KEY-td-agent
|
|
||||||
enabled=0
|
|
@@ -10,6 +10,7 @@
|
|||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
|
from kolla.image.utils import LOG
|
||||||
import os
|
import os
|
||||||
import typing as t
|
import typing as t
|
||||||
|
|
||||||
@@ -17,6 +18,29 @@ import yaml
|
|||||||
|
|
||||||
from jinja2 import pass_context
|
from jinja2 import pass_context
|
||||||
|
|
||||||
|
APT_ARCH = " && echo 'Architectures: {arch}' \
|
||||||
|
>>/etc/apt/sources.list.d/{repo}.sources"
|
||||||
|
APT_REPO = "echo 'Uris: {url}' >/etc/apt/sources.list.d/{repo}.sources && \
|
||||||
|
echo 'Components: {component}' >>/etc/apt/sources.list.d/{repo}.sources && \
|
||||||
|
echo 'Types: deb' >>/etc/apt/sources.list.d/{repo}.sources && \
|
||||||
|
echo 'Suites: {suite}' >>/etc/apt/sources.list.d/{repo}.sources && \
|
||||||
|
echo 'Signed-By: /etc/kolla/apt-keys/{gpg_key}' \
|
||||||
|
>>/etc/apt/sources.list.d/{repo}.sources"
|
||||||
|
DNF_BASEURL = " && echo 'baseurl={baseurl}' >>/etc/yum.repos.d/{repo}.repo"
|
||||||
|
DNF_DISABLE = "dnf config-manager --disable {name} || true"
|
||||||
|
DNF_ENABLE = "dnf config-manager --enable {name} || true"
|
||||||
|
DNF_GPGCHECK = " && echo 'gpgcheck={gpgcheck}' >>/etc/yum.repos.d/{repo}.repo"
|
||||||
|
DNF_GPGKEY = " && echo 'gpgkey={gpgkey}' >>/etc/yum.repos.d/{repo}.repo"
|
||||||
|
DNF_GPGKEY_ADD = " && echo ' {gpgkey}' >>/etc/yum.repos.d/{repo}.repo"
|
||||||
|
DNF_METALINK = " && echo 'metalink={metalink}' >>/etc/yum.repos.d/{repo}.repo"
|
||||||
|
DNF_MIRRORLIST = " && \
|
||||||
|
echo 'mirrorlist={mirrorlist}' >>/etc/yum.repos.d/{repo}.repo"
|
||||||
|
DNF_REPO = "echo '[{name}]' >/etc/yum.repos.d/{repo}.repo && \
|
||||||
|
echo 'name={name}' >>/etc/yum.repos.d/{repo}.repo && \
|
||||||
|
echo 'enabled=1' >>/etc/yum.repos.d/{repo}.repo"
|
||||||
|
DNF_REPO_GPGCHECK = " && echo 'repo_gpgcheck={repo_gpgcheck}' \
|
||||||
|
>>/etc/yum.repos.d/{repo}.repo"
|
||||||
|
|
||||||
|
|
||||||
def debian_package_install(packages, clean_package_cache=True):
|
def debian_package_install(packages, clean_package_cache=True):
|
||||||
"""Jinja utility method for building debian-based package install command.
|
"""Jinja utility method for building debian-based package install command.
|
||||||
@@ -81,13 +105,6 @@ def handle_repos(context, reponames, mode):
|
|||||||
Distro/arch are not required to have all entries - we ignore missing ones.
|
Distro/arch are not required to have all entries - we ignore missing ones.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
if mode == 'enable':
|
|
||||||
rpm_switch = '--enable'
|
|
||||||
elif mode == 'disable':
|
|
||||||
rpm_switch = '--disable'
|
|
||||||
else:
|
|
||||||
raise KeyError
|
|
||||||
|
|
||||||
if not isinstance(reponames, list):
|
if not isinstance(reponames, list):
|
||||||
raise TypeError("First argument should be a list of repositories")
|
raise TypeError("First argument should be a list of repositories")
|
||||||
|
|
||||||
@@ -104,6 +121,7 @@ def handle_repos(context, reponames, mode):
|
|||||||
base_package_type = context.get('base_package_type')
|
base_package_type = context.get('base_package_type')
|
||||||
base_distro = context.get('base_distro')
|
base_distro = context.get('base_distro')
|
||||||
base_arch = context.get('base_arch')
|
base_arch = context.get('base_arch')
|
||||||
|
image_name = context.get('image_name')
|
||||||
|
|
||||||
commands = ''
|
commands = ''
|
||||||
|
|
||||||
@@ -113,40 +131,82 @@ def handle_repos(context, reponames, mode):
|
|||||||
# NOTE(hrw): Fallback to distro list
|
# NOTE(hrw): Fallback to distro list
|
||||||
repo_list = repo_data[base_distro]
|
repo_list = repo_data[base_distro]
|
||||||
|
|
||||||
for repo in reponames:
|
for index, repo in enumerate(reponames):
|
||||||
try:
|
try:
|
||||||
|
_repo = repo_list[repo]
|
||||||
if base_package_type == 'rpm':
|
if base_package_type == 'rpm':
|
||||||
commands += ' %s %s' % (rpm_switch, repo_list[repo])
|
|
||||||
elif base_package_type == 'deb':
|
|
||||||
if mode == 'enable':
|
if mode == 'enable':
|
||||||
commands += f"""echo 'Uris: {repo_list[repo]['url']}' \
|
if not _repo.get('distro'):
|
||||||
>/etc/apt/sources.list.d/{repo}.sources \
|
commands += DNF_REPO.format(
|
||||||
&& echo 'Components: {repo_list[repo]['component']}' \
|
name=_repo['name'],
|
||||||
>>/etc/apt/sources.list.d/{repo}.sources \
|
repo=repo,
|
||||||
&& echo 'Types: deb' >>/etc/apt/sources.list.d/{repo}.sources \
|
)
|
||||||
&& echo 'Suites: {repo_list[repo]['suite']}' \
|
if _repo.get('gpgcheck'):
|
||||||
>>/etc/apt/sources.list.d/{repo}.sources \
|
commands += DNF_GPGCHECK.format(
|
||||||
&& echo 'Signed-By: /etc/kolla/apt-keys/{repo_list[repo]['gpg_key']}' \
|
gpgcheck=_repo['gpgcheck'],
|
||||||
>>/etc/apt/sources.list.d/{repo}.sources \
|
repo=repo)
|
||||||
&& """
|
|
||||||
if repo_list[repo]['arch']:
|
|
||||||
commands += f"""echo 'Architectures: \
|
|
||||||
{repo_list[repo]['arch']}' \
|
|
||||||
>>/etc/apt/sources.list.d/{repo}.sources \
|
|
||||||
&& """
|
|
||||||
except KeyError:
|
|
||||||
# NOTE(hrw): we ignore missing repositories for a given
|
|
||||||
# distro/arch
|
|
||||||
pass
|
|
||||||
|
|
||||||
if base_package_type == 'rpm' and commands:
|
if _repo.get('repo_gpgcheck'):
|
||||||
# NOTE(hrw): if commands is empty then no repos are enabled
|
commands += DNF_REPO_GPGCHECK.format(
|
||||||
# otherwise we need to add command to handle repositories
|
repo_gpgcheck=_repo['repo_gpgcheck'],
|
||||||
# NOTE(hrw) dnf errors out if we enable unknown repo
|
repo=repo)
|
||||||
commands = 'dnf config-manager %s || true' % commands
|
|
||||||
elif base_package_type == 'deb':
|
# NOTE(mnasiadka): Support multiple gpgkeys
|
||||||
# NOTE(hrw): Debian commands end with '&&'
|
gpgkeys = _repo['gpgkey'].splitlines()
|
||||||
commands = commands[0:-4]
|
for _, gpgkey in enumerate(gpgkeys):
|
||||||
|
if _ == 0:
|
||||||
|
commands += DNF_GPGKEY.format(gpgkey=gpgkey,
|
||||||
|
repo=repo)
|
||||||
|
else:
|
||||||
|
commands += DNF_GPGKEY_ADD.format(
|
||||||
|
gpgkey=gpgkey,
|
||||||
|
repo=repo)
|
||||||
|
else:
|
||||||
|
commands += DNF_ENABLE.format(name=_repo['name'])
|
||||||
|
|
||||||
|
if 'baseurl' in _repo:
|
||||||
|
# NOTE(mnasiadka): Support multiple baseurls
|
||||||
|
baseurl = _repo['baseurl'].splitlines()
|
||||||
|
for url in baseurl:
|
||||||
|
commands += DNF_BASEURL.format(baseurl=url,
|
||||||
|
repo=repo)
|
||||||
|
elif 'metalink' in _repo:
|
||||||
|
commands += DNF_METALINK.format(
|
||||||
|
metalink=_repo['metalink'], repo=repo
|
||||||
|
)
|
||||||
|
|
||||||
|
elif 'mirrorlist' in _repo:
|
||||||
|
commands += DNF_MIRRORLIST.format(
|
||||||
|
mirrorlist=_repo['mirrorlist'], repo=repo
|
||||||
|
)
|
||||||
|
|
||||||
|
if index != len(reponames) - 1:
|
||||||
|
commands += " && "
|
||||||
|
|
||||||
|
elif mode == 'disable' and _repo.get('distro'):
|
||||||
|
commands += DNF_DISABLE.format(name=_repo['name'])
|
||||||
|
|
||||||
|
elif base_package_type == "deb":
|
||||||
|
if mode == "enable":
|
||||||
|
commands += APT_REPO.format(
|
||||||
|
component=_repo['component'],
|
||||||
|
gpg_key=_repo['gpg_key'],
|
||||||
|
suite=_repo['suite'],
|
||||||
|
url=_repo['url'],
|
||||||
|
repo=repo,
|
||||||
|
)
|
||||||
|
|
||||||
|
if 'arch' in _repo:
|
||||||
|
commands += APT_ARCH.format(
|
||||||
|
arch=_repo['arch'], repo=repo
|
||||||
|
)
|
||||||
|
|
||||||
|
if index != len(reponames) - 1:
|
||||||
|
commands += ' && '
|
||||||
|
except KeyError as e:
|
||||||
|
LOG.exception("Error enabling repository %s in image %s", e,
|
||||||
|
image_name)
|
||||||
|
raise
|
||||||
|
|
||||||
if commands:
|
if commands:
|
||||||
commands = "RUN %s" % commands
|
commands = "RUN %s" % commands
|
||||||
|
@@ -1,43 +1,157 @@
|
|||||||
---
|
---
|
||||||
centos:
|
centos:
|
||||||
ceph: "centos-ceph-squid"
|
ceph:
|
||||||
crb: "crb"
|
gpgkey: "https://www.centos.org/keys/RPM-GPG-KEY-CentOS-SIG-Storage"
|
||||||
docker-ce: "docker-ce"
|
metalink: "https://mirrors.centos.org/metalink?repo=centos-storage-sig-ceph-squid-9-stream&arch=$basearch"
|
||||||
epel: "epel"
|
name: "centos-ceph-squid"
|
||||||
erlang: "rabbitmq_rabbitmq-erlang"
|
crb:
|
||||||
extras: "extras"
|
distro: True
|
||||||
fluentd: "fluent-package-lts"
|
name: "crb"
|
||||||
grafana: "grafana"
|
docker-ce:
|
||||||
hacluster: "highavailability"
|
gpgkey: "https://download.docker.com/linux/centos/gpg"
|
||||||
influxdb: "influxdb"
|
baseurl: "https://download.docker.com/linux/centos/$releasever/$basearch/stable"
|
||||||
kolla_el10: "kolla_el10"
|
name: "docker-ce"
|
||||||
mariadb: "mariadb"
|
epel:
|
||||||
opensearch: "opensearch-3.x"
|
gpgkey: "https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-$releasever"
|
||||||
opensearch-dashboards: "opensearch-dashboards-3.x"
|
metalink: "https://mirrors.fedoraproject.org/metalink?repo=epel-$releasever&arch=$basearch&infra=$infra&content=$contentdir"
|
||||||
openvswitch: "centos-nfv-openvswitch"
|
name: "epel"
|
||||||
opstools: "centos-opstools"
|
erlang:
|
||||||
proxysql: "proxysql"
|
baseurl: |
|
||||||
rabbitmq: "rabbitmq_rabbitmq-server"
|
https://yum1.rabbitmq.com/erlang/el/9/$basearch
|
||||||
|
https://yum2.rabbitmq.com/erlang/el/9/$basearch
|
||||||
|
gpgkey: "https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-erlang.E495BB49CC4BBE5B.key"
|
||||||
|
name: "rabbitmq_rabbitmq-erlang"
|
||||||
|
extras:
|
||||||
|
distro: True
|
||||||
|
name: "extras"
|
||||||
|
fluentd:
|
||||||
|
baseurl: "https://packages.treasuredata.com/lts/5/redhat/9/$basearch"
|
||||||
|
gpgkey: "https://packages.treasuredata.com/GPG-KEY-td-agent"
|
||||||
|
name: "fluent-package-lts"
|
||||||
|
grafana:
|
||||||
|
baseurl: "https://rpm.grafana.com"
|
||||||
|
gpgkey: "https://rpm.grafana.com/gpg.key"
|
||||||
|
name: "grafana"
|
||||||
|
hacluster:
|
||||||
|
name: "highavailability"
|
||||||
|
distro: true
|
||||||
|
influxdb:
|
||||||
|
baseurl: "https://repos.influxdata.com/rhel/9/$basearch/stable"
|
||||||
|
gpgkey: "https://repos.influxdata.com/influxdata-archive_compat.key"
|
||||||
|
name: "influxdb"
|
||||||
|
kolla_el10:
|
||||||
|
baseurl: "https://download.copr.fedorainfracloud.org/results/@openstack-kolla/el10-missing/epel-10-$basearch/"
|
||||||
|
gpgkey: "https://download.copr.fedorainfracloud.org/results/@openstack-kolla/el10-missing/pubkey.gpg"
|
||||||
|
name: "kolla_el10"
|
||||||
|
mariadb:
|
||||||
|
baseurl: "https://dlm.mariadb.com/repo/mariadb-server/10.11/yum/rhel/$releasever/$basearch"
|
||||||
|
gpgkey: "https://downloads.mariadb.com/MariaDB/RPM-GPG-KEY-MariaDB"
|
||||||
|
name: "mariadb"
|
||||||
|
opensearch:
|
||||||
|
baseurl: "https://artifacts.opensearch.org/releases/bundle/opensearch/3.x/yum"
|
||||||
|
gpgkey: "https://artifacts.opensearch.org/publickeys/opensearch-release.pgp"
|
||||||
|
repo_gpgcheck: 1
|
||||||
|
name: "opensearch32.x"
|
||||||
|
opensearch-dashboards:
|
||||||
|
baseurl: "https://artifacts.opensearch.org/releases/bundle/opensearch-dashboards/3.x/yum"
|
||||||
|
gpgkey: "https://artifacts.opensearch.org/publickeys/opensearch-release.pgp"
|
||||||
|
repo_gpgcheck: 1
|
||||||
|
name: "opensearch-dashboards-3.x"
|
||||||
|
openvswitch:
|
||||||
|
gpgkey: "https://www.centos.org/keys/RPM-GPG-KEY-CentOS-SIG-NFV"
|
||||||
|
metalink: "https://mirrors.centos.org/metalink?repo=centos-nfv-sig-openvswitch-2-$stream&arch=$basearch&protocol=https,http"
|
||||||
|
name: "centos-nfv-openvswitch"
|
||||||
|
opstools:
|
||||||
|
distro: True
|
||||||
|
name: "opstools"
|
||||||
|
proxysql:
|
||||||
|
baseurl: "https://repo.proxysql.com/ProxySQL/proxysql-3.0.x/almalinux/9"
|
||||||
|
gpgkey: "https://repo.proxysql.com/ProxySQL/proxysql-3.0.x/repo_pub_key"
|
||||||
|
name: "proxysql"
|
||||||
|
rabbitmq:
|
||||||
|
baseurl: |
|
||||||
|
https://yum1.rabbitmq.com/rabbitmq/el/9/noarch
|
||||||
|
https://yum2.rabbitmq.com/rabbitmq/el/9/noarch
|
||||||
|
gpgkey: |
|
||||||
|
https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-server.9F4587F226208342.key
|
||||||
|
https://github.com/rabbitmq/signing-keys/releases/download/3.0/rabbitmq-release-signing-key.asc
|
||||||
|
name: "rabbitmq_rabbitmq-server"
|
||||||
|
|
||||||
centos-aarch64:
|
centos-aarch64:
|
||||||
ceph: "centos-ceph-squid"
|
ceph:
|
||||||
crb: "crb"
|
gpgkey: "https://www.centos.org/keys/RPM-GPG-KEY-CentOS-SIG-Storage"
|
||||||
docker-ce: "docker-ce"
|
metalink: "https://mirrors.centos.org/metalink?repo=centos-storage-sig-ceph-squid-9-stream&arch=$basearch"
|
||||||
epel: "epel"
|
name: "centos-ceph-squid"
|
||||||
erlang: "copr-rabbitmq-erlang"
|
crb:
|
||||||
extras: "extras"
|
distro: True
|
||||||
fluentd: "fluent-package-lts"
|
name: "crb"
|
||||||
grafana: "grafana"
|
docker-ce:
|
||||||
hacluster: "highavailability"
|
gpgkey: "https://download.docker.com/linux/centos/gpg"
|
||||||
influxdb: "influxdb"
|
baseurl: "https://download.docker.com/linux/centos/$releasever/$basearch/stable"
|
||||||
kolla_el10: "kolla_el10"
|
name: "docker-ce"
|
||||||
mariadb: "mariadb"
|
epel:
|
||||||
opensearch: "opensearch-3.x"
|
gpgkey: "https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-$releasever"
|
||||||
opensearch-dashboards: "opensearch-dashboards-3.x"
|
metalink: "https://mirrors.fedoraproject.org/metalink?repo=epel-$releasever&arch=$basearch&infra=$infra&content=$contentdir"
|
||||||
openvswitch: "centos-nfv-openvswitch"
|
name: "epel"
|
||||||
opstools: "centos-opstools"
|
erlang:
|
||||||
proxysql: "proxysql"
|
baseurl: "https://download.copr.fedorainfracloud.org/results/@openstack-kolla/rabbitmq-erlang-27/rhel-$releasever-aarch64/"
|
||||||
rabbitmq: "rabbitmq_rabbitmq-server"
|
gpgkey: "https://download.copr.fedorainfracloud.org/results/@openstack-kolla/rabbitmq-erlang-27/pubkey.gpg"
|
||||||
|
name: "copr-rabbitmq-erlang"
|
||||||
|
extras:
|
||||||
|
distro: True
|
||||||
|
name: "extras"
|
||||||
|
fluentd:
|
||||||
|
baseurl: "https://packages.treasuredata.com/lts/5/redhat/9/$basearch"
|
||||||
|
gpgkey: "https://packages.treasuredata.com/GPG-KEY-td-agent"
|
||||||
|
name: "fluent-package-lts"
|
||||||
|
grafana:
|
||||||
|
baseurl: "https://rpm.grafana.com"
|
||||||
|
gpgkey: "https://rpm.grafana.com/gpg.key"
|
||||||
|
name: "grafana"
|
||||||
|
hacluster:
|
||||||
|
name: "highavailability"
|
||||||
|
distro: true
|
||||||
|
influxdb:
|
||||||
|
baseurl: "https://repos.influxdata.com/rhel/9/$basearch/stable"
|
||||||
|
gpgkey: "https://repos.influxdata.com/influxdata-archive_compat.key"
|
||||||
|
name: "influxdb"
|
||||||
|
kolla_el10:
|
||||||
|
baseurl: "https://download.copr.fedorainfracloud.org/results/@openstack-kolla/el10-missing/epel-10-$basearch/"
|
||||||
|
gpgkey: "https://download.copr.fedorainfracloud.org/results/@openstack-kolla/el10-missing/pubkey.gpg"
|
||||||
|
name: "kolla_el10"
|
||||||
|
mariadb:
|
||||||
|
baseurl: "https://dlm.mariadb.com/repo/mariadb-server/10.11/yum/rhel/$releasever/$basearch"
|
||||||
|
gpgkey: "https://downloads.mariadb.com/MariaDB/RPM-GPG-KEY-MariaDB"
|
||||||
|
name: "mariadb"
|
||||||
|
opensearch:
|
||||||
|
baseurl: "https://artifacts.opensearch.org/releases/bundle/opensearch/3.x/yum"
|
||||||
|
gpgkey: "https://artifacts.opensearch.org/publickeys/opensearch-release.pgp"
|
||||||
|
repo_gpgcheck: 1
|
||||||
|
name: "opensearch32.x"
|
||||||
|
opensearch-dashboards:
|
||||||
|
baseurl: "https://artifacts.opensearch.org/releases/bundle/opensearch-dashboards/3.x/yum"
|
||||||
|
gpgkey: "https://artifacts.opensearch.org/publickeys/opensearch-release.pgp"
|
||||||
|
repo_gpgcheck: 1
|
||||||
|
name: "opensearch-dashboards-3.x"
|
||||||
|
openvswitch:
|
||||||
|
gpgkey: "https://www.centos.org/keys/RPM-GPG-KEY-CentOS-SIG-NFV"
|
||||||
|
metalink: "https://mirrors.centos.org/metalink?repo=centos-nfv-sig-openvswitch-2-$stream&arch=$basearch&protocol=https,http"
|
||||||
|
name: "centos-nfv-openvswitch"
|
||||||
|
opstools:
|
||||||
|
distro: True
|
||||||
|
name: "opstools"
|
||||||
|
proxysql:
|
||||||
|
baseurl: "https://repo.proxysql.com/ProxySQL/proxysql-3.0.x/almalinux/9"
|
||||||
|
gpgkey: "https://repo.proxysql.com/ProxySQL/proxysql-3.0.x/repo_pub_key"
|
||||||
|
name: "proxysql"
|
||||||
|
rabbitmq:
|
||||||
|
baseurl: |
|
||||||
|
https://yum1.rabbitmq.com/rabbitmq/el/9/noarch
|
||||||
|
https://yum2.rabbitmq.com/rabbitmq/el/9/noarch
|
||||||
|
gpgkey: |
|
||||||
|
https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-server.9F4587F226208342.key
|
||||||
|
https://github.com/rabbitmq/signing-keys/releases/download/3.0/rabbitmq-release-signing-key.asc
|
||||||
|
name: "rabbitmq_rabbitmq-server"
|
||||||
|
|
||||||
# NOTE(mnasiadka): For RabbitMQ Debuntu suite names is following:
|
# NOTE(mnasiadka): For RabbitMQ Debuntu suite names is following:
|
||||||
# https://www.rabbitmq.com/install-debian.html#apt-cloudsmith
|
# https://www.rabbitmq.com/install-debian.html#apt-cloudsmith
|
||||||
@@ -150,44 +264,158 @@ debian-aarch64:
|
|||||||
gpg_key: "rabbitmq.gpg"
|
gpg_key: "rabbitmq.gpg"
|
||||||
|
|
||||||
rocky:
|
rocky:
|
||||||
ceph: "centos-ceph-squid"
|
ceph:
|
||||||
crb: "crb"
|
gpgkey: "https://www.centos.org/keys/RPM-GPG-KEY-CentOS-SIG-Storage"
|
||||||
docker-ce: "docker-ce"
|
metalink: "https://mirrors.centos.org/metalink?repo=centos-storage-sig-ceph-squid-9-stream&arch=$basearch"
|
||||||
epel: "epel"
|
name: "centos-ceph-squid"
|
||||||
erlang: "rabbitmq_rabbitmq-erlang"
|
crb:
|
||||||
extras: "extras"
|
distro: True
|
||||||
fluentd: "fluent-package-lts"
|
name: "crb"
|
||||||
grafana: "grafana"
|
docker-ce:
|
||||||
hacluster: "highavailability"
|
gpgkey: "https://download.docker.com/linux/centos/gpg"
|
||||||
influxdb: "influxdb"
|
baseurl: "https://download.docker.com/linux/centos/$releasever/$basearch/stable"
|
||||||
kolla_el10: "kolla_el10"
|
name: "docker-ce"
|
||||||
mariadb: "mariadb"
|
epel:
|
||||||
opensearch: "opensearch-3.x"
|
gpgkey: "https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-$releasever"
|
||||||
opensearch-dashboards: "opensearch-dashboards-3.x"
|
metalink: "https://mirrors.fedoraproject.org/metalink?repo=epel-$releasever&arch=$basearch&infra=$infra&content=$contentdir"
|
||||||
openvswitch: "centos-nfv-openvswitch"
|
name: "epel"
|
||||||
opstools: "centos-opstools"
|
erlang:
|
||||||
proxysql: "proxysql"
|
baseurl: |
|
||||||
rabbitmq: "rabbitmq_rabbitmq-server"
|
https://yum1.rabbitmq.com/erlang/el/9/$basearch
|
||||||
|
https://yum2.rabbitmq.com/erlang/el/9/$basearch
|
||||||
|
gpgkey: "https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-erlang.E495BB49CC4BBE5B.key"
|
||||||
|
name: "rabbitmq_rabbitmq-erlang"
|
||||||
|
extras:
|
||||||
|
distro: True
|
||||||
|
name: "extras"
|
||||||
|
fluentd:
|
||||||
|
baseurl: "https://packages.treasuredata.com/lts/5/redhat/9/$basearch"
|
||||||
|
gpgkey: "https://packages.treasuredata.com/GPG-KEY-td-agent"
|
||||||
|
name: "fluent-package-lts"
|
||||||
|
grafana:
|
||||||
|
baseurl: "https://rpm.grafana.com"
|
||||||
|
gpgkey: "https://rpm.grafana.com/gpg.key"
|
||||||
|
name: "grafana"
|
||||||
|
hacluster:
|
||||||
|
name: "highavailability"
|
||||||
|
distro: true
|
||||||
|
influxdb:
|
||||||
|
baseurl: "https://repos.influxdata.com/rhel/9/$basearch/stable"
|
||||||
|
gpgkey: "https://repos.influxdata.com/influxdata-archive_compat.key"
|
||||||
|
name: "influxdb"
|
||||||
|
kolla_el10:
|
||||||
|
baseurl: "https://download.copr.fedorainfracloud.org/results/@openstack-kolla/el10-missing/epel-10-$basearch/"
|
||||||
|
gpgkey: "https://download.copr.fedorainfracloud.org/results/@openstack-kolla/el10-missing/pubkey.gpg"
|
||||||
|
name: "kolla_el10"
|
||||||
|
mariadb:
|
||||||
|
baseurl: "https://dlm.mariadb.com/repo/mariadb-server/10.11/yum/rhel/$releasever/$basearch"
|
||||||
|
gpgkey: "https://downloads.mariadb.com/MariaDB/RPM-GPG-KEY-MariaDB"
|
||||||
|
name: "mariadb"
|
||||||
|
opensearch:
|
||||||
|
baseurl: "https://artifacts.opensearch.org/releases/bundle/opensearch/3.x/yum"
|
||||||
|
gpgkey: "https://artifacts.opensearch.org/publickeys/opensearch-release.pgp"
|
||||||
|
repo_gpgcheck: 1
|
||||||
|
name: "opensearch32.x"
|
||||||
|
opensearch-dashboards:
|
||||||
|
baseurl: "https://artifacts.opensearch.org/releases/bundle/opensearch-dashboards/3.x/yum"
|
||||||
|
gpgkey: "https://artifacts.opensearch.org/publickeys/opensearch-release.pgp"
|
||||||
|
repo_gpgcheck: 1
|
||||||
|
name: "opensearch-dashboards-3.x"
|
||||||
|
openvswitch:
|
||||||
|
gpgkey: "https://www.centos.org/keys/RPM-GPG-KEY-CentOS-SIG-NFV"
|
||||||
|
metalink: "https://mirrors.centos.org/metalink?repo=centos-nfv-sig-openvswitch-2-$stream&arch=$basearch&protocol=https,http"
|
||||||
|
name: "centos-nfv-openvswitch"
|
||||||
|
opstools:
|
||||||
|
distro: True
|
||||||
|
name: "opstools"
|
||||||
|
proxysql:
|
||||||
|
baseurl: "https://repo.proxysql.com/ProxySQL/proxysql-3.0.x/almalinux/9"
|
||||||
|
gpgkey: "https://repo.proxysql.com/ProxySQL/proxysql-3.0.x/repo_pub_key"
|
||||||
|
name: "proxysql"
|
||||||
|
rabbitmq:
|
||||||
|
baseurl: |
|
||||||
|
https://yum1.rabbitmq.com/rabbitmq/el/9/noarch
|
||||||
|
https://yum2.rabbitmq.com/rabbitmq/el/9/noarch
|
||||||
|
gpgkey: |
|
||||||
|
https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-server.9F4587F226208342.key
|
||||||
|
https://github.com/rabbitmq/signing-keys/releases/download/3.0/rabbitmq-release-signing-key.asc
|
||||||
|
name: "rabbitmq_rabbitmq-server"
|
||||||
|
|
||||||
rocky-aarch64:
|
rocky-aarch64:
|
||||||
ceph: "centos-ceph-squid"
|
ceph:
|
||||||
crb: "crb"
|
gpgkey: "https://www.centos.org/keys/RPM-GPG-KEY-CentOS-SIG-Storage"
|
||||||
docker-ce: "docker-ce"
|
metalink: "https://mirrors.centos.org/metalink?repo=centos-storage-sig-ceph-squid-9-stream&arch=$basearch"
|
||||||
epel: "epel"
|
name: "centos-ceph-squid"
|
||||||
erlang: "copr-rabbitmq-erlang"
|
crb:
|
||||||
extras: "extras"
|
distro: True
|
||||||
fluentd: "fluent-package-lts"
|
name: "crb"
|
||||||
grafana: "grafana"
|
docker-ce:
|
||||||
influxdb: "influxdb"
|
gpgkey: "https://download.docker.com/linux/centos/gpg"
|
||||||
kolla_el10: "kolla_el10"
|
baseurl: "https://download.docker.com/linux/centos/$releasever/$basearch/stable"
|
||||||
hacluster: "highavailability"
|
name: "docker-ce"
|
||||||
mariadb: "mariadb"
|
epel:
|
||||||
opensearch: "opensearch-3.x"
|
gpgkey: "https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-$releasever"
|
||||||
opensearch-dashboards: "opensearch-dashboards-3.x"
|
metalink: "https://mirrors.fedoraproject.org/metalink?repo=epel-$releasever&arch=$basearch&infra=$infra&content=$contentdir"
|
||||||
openvswitch: "centos-nfv-openvswitch"
|
name: "epel"
|
||||||
opstools: "centos-opstools"
|
erlang:
|
||||||
proxysql: "proxysql"
|
baseurl: "https://download.copr.fedorainfracloud.org/results/@openstack-kolla/rabbitmq-erlang-27/rhel-$releasever-aarch64/"
|
||||||
rabbitmq: "rabbitmq_rabbitmq-server"
|
gpgkey: "https://download.copr.fedorainfracloud.org/results/@openstack-kolla/rabbitmq-erlang-27/pubkey.gpg"
|
||||||
|
name: "copr-rabbitmq-erlang"
|
||||||
|
extras:
|
||||||
|
distro: True
|
||||||
|
name: "extras"
|
||||||
|
fluentd:
|
||||||
|
baseurl: "https://packages.treasuredata.com/lts/5/redhat/9/$basearch"
|
||||||
|
gpgkey: "https://packages.treasuredata.com/GPG-KEY-td-agent"
|
||||||
|
name: "fluent-package-lts"
|
||||||
|
grafana:
|
||||||
|
baseurl: "https://rpm.grafana.com"
|
||||||
|
gpgkey: "https://rpm.grafana.com/gpg.key"
|
||||||
|
name: "grafana"
|
||||||
|
hacluster:
|
||||||
|
name: "highavailability"
|
||||||
|
distro: true
|
||||||
|
influxdb:
|
||||||
|
baseurl: "https://repos.influxdata.com/rhel/9/$basearch/stable"
|
||||||
|
gpgkey: "https://repos.influxdata.com/influxdata-archive_compat.key"
|
||||||
|
name: "influxdb"
|
||||||
|
kolla_el10:
|
||||||
|
baseurl: "https://download.copr.fedorainfracloud.org/results/@openstack-kolla/el10-missing/epel-10-$basearch/"
|
||||||
|
gpgkey: "https://download.copr.fedorainfracloud.org/results/@openstack-kolla/el10-missing/pubkey.gpg"
|
||||||
|
name: "kolla_el10"
|
||||||
|
mariadb:
|
||||||
|
baseurl: "https://dlm.mariadb.com/repo/mariadb-server/10.11/yum/rhel/$releasever/$basearch"
|
||||||
|
gpgkey: "https://downloads.mariadb.com/MariaDB/RPM-GPG-KEY-MariaDB"
|
||||||
|
name: "mariadb"
|
||||||
|
opensearch:
|
||||||
|
baseurl: "https://artifacts.opensearch.org/releases/bundle/opensearch/3.x/yum"
|
||||||
|
gpgkey: "https://artifacts.opensearch.org/publickeys/opensearch-release.pgp"
|
||||||
|
repo_gpgcheck: 1
|
||||||
|
name: "opensearch32.x"
|
||||||
|
opensearch-dashboards:
|
||||||
|
baseurl: "https://artifacts.opensearch.org/releases/bundle/opensearch-dashboards/3.x/yum"
|
||||||
|
gpgkey: "https://artifacts.opensearch.org/publickeys/opensearch-release.pgp"
|
||||||
|
repo_gpgcheck: 1
|
||||||
|
name: "opensearch-dashboards-3.x"
|
||||||
|
openvswitch:
|
||||||
|
gpgkey: "https://www.centos.org/keys/RPM-GPG-KEY-CentOS-SIG-NFV"
|
||||||
|
metalink: "https://mirrors.centos.org/metalink?repo=centos-nfv-sig-openvswitch-2-$stream&arch=$basearch&protocol=https,http"
|
||||||
|
name: "centos-nfv-openvswitch"
|
||||||
|
opstools:
|
||||||
|
distro: True
|
||||||
|
name: "opstools"
|
||||||
|
proxysql:
|
||||||
|
baseurl: "https://repo.proxysql.com/ProxySQL/proxysql-3.0.x/almalinux/9"
|
||||||
|
gpgkey: "https://repo.proxysql.com/ProxySQL/proxysql-3.0.x/repo_pub_key"
|
||||||
|
name: "proxysql"
|
||||||
|
rabbitmq:
|
||||||
|
baseurl: |
|
||||||
|
https://yum1.rabbitmq.com/rabbitmq/el/9/noarch
|
||||||
|
https://yum2.rabbitmq.com/rabbitmq/el/9/noarch
|
||||||
|
gpgkey: |
|
||||||
|
https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-server.9F4587F226208342.key
|
||||||
|
https://github.com/rabbitmq/signing-keys/releases/download/3.0/rabbitmq-release-signing-key.asc
|
||||||
|
name: "rabbitmq_rabbitmq-server"
|
||||||
|
|
||||||
ubuntu:
|
ubuntu:
|
||||||
docker-ce:
|
docker-ce:
|
||||||
|
@@ -22,50 +22,155 @@ class MethodsTest(base.TestCase):
|
|||||||
expectCmd = 'apt-get -y install --no-install-recommends package2.deb'
|
expectCmd = 'apt-get -y install --no-install-recommends package2.deb'
|
||||||
self.assertEqual(expectCmd, result.split("&&")[1].strip())
|
self.assertEqual(expectCmd, result.split("&&")[1].strip())
|
||||||
|
|
||||||
def test_enable_repos_centos(self):
|
def test_enable_repos_centos_baseurl(self):
|
||||||
template_vars = {
|
template_vars = {
|
||||||
'base_arch': 'x86_64',
|
'base_arch': 'x86_64',
|
||||||
'base_distro': 'centos',
|
'base_distro': 'centos',
|
||||||
'base_package_type': 'rpm',
|
'base_package_type': 'rpm',
|
||||||
}
|
}
|
||||||
|
|
||||||
result = methods.handle_repos(template_vars, ['grafana'], 'enable')
|
result = methods.handle_repos(template_vars, ["grafana"], "enable")
|
||||||
expectCmd = 'RUN dnf config-manager --enable grafana || true'
|
expectCmd = "RUN echo '[grafana]' "
|
||||||
|
expectCmd += ">/etc/yum.repos.d/grafana.repo && "
|
||||||
|
expectCmd += "echo 'name=grafana' "
|
||||||
|
expectCmd += ">>/etc/yum.repos.d/grafana.repo && "
|
||||||
|
expectCmd += "echo 'enabled=1' "
|
||||||
|
expectCmd += ">>/etc/yum.repos.d/grafana.repo && "
|
||||||
|
expectCmd += "echo 'gpgkey=https://rpm.grafana.com/gpg.key' "
|
||||||
|
expectCmd += ">>/etc/yum.repos.d/grafana.repo && "
|
||||||
|
expectCmd += "echo 'baseurl=https://rpm.grafana.com' "
|
||||||
|
expectCmd += ">>/etc/yum.repos.d/grafana.repo"
|
||||||
self.assertEqual(expectCmd, result)
|
self.assertEqual(expectCmd, result)
|
||||||
|
|
||||||
def test_enable_repos_centos_missing_repo(self):
|
def test_enable_repos_centos_metalink(self):
|
||||||
template_vars = {
|
template_vars = {
|
||||||
'base_arch': 'x86_64',
|
'base_arch': 'x86_64',
|
||||||
'base_distro': 'centos',
|
'base_distro': 'centos',
|
||||||
'base_package_type': 'rpm',
|
'base_package_type': 'rpm',
|
||||||
}
|
}
|
||||||
|
|
||||||
result = methods.handle_repos(template_vars, ['missing_repo'],
|
result = methods.handle_repos(template_vars, ["ceph"], "enable")
|
||||||
'enable')
|
expectCmd = "RUN echo '[centos-ceph-squid]' "
|
||||||
expectCmd = ''
|
expectCmd += ">/etc/yum.repos.d/ceph.repo && "
|
||||||
|
expectCmd += "echo 'name=centos-ceph-squid' "
|
||||||
|
expectCmd += ">>/etc/yum.repos.d/ceph.repo && "
|
||||||
|
expectCmd += "echo 'enabled=1' "
|
||||||
|
expectCmd += ">>/etc/yum.repos.d/ceph.repo && "
|
||||||
|
expectCmd += "echo 'gpgkey=https://www.centos.org/keys/RPM-GPG-KEY-CentOS-SIG-Storage' " # noqa: E501
|
||||||
|
expectCmd += ">>/etc/yum.repos.d/ceph.repo && "
|
||||||
|
expectCmd += "echo 'metalink=https://mirrors.centos.org/metalink?repo=centos-storage-sig-ceph-squid-9-stream&arch=$basearch' " # noqa: E501
|
||||||
|
expectCmd += ">>/etc/yum.repos.d/ceph.repo"
|
||||||
|
self.assertEqual(expectCmd, result)
|
||||||
|
|
||||||
|
def test_enable_repos_centos_arch(self):
|
||||||
|
template_vars = {
|
||||||
|
"base_arch": "aarch64",
|
||||||
|
"base_distro": "centos",
|
||||||
|
"base_package_type": "rpm",
|
||||||
|
}
|
||||||
|
|
||||||
|
result = methods.handle_repos(template_vars, ["grafana"], "enable")
|
||||||
|
expectCmd = "RUN echo '[grafana]' "
|
||||||
|
expectCmd += ">/etc/yum.repos.d/grafana.repo && "
|
||||||
|
expectCmd += "echo 'name=grafana' "
|
||||||
|
expectCmd += ">>/etc/yum.repos.d/grafana.repo && "
|
||||||
|
expectCmd += "echo 'enabled=1' "
|
||||||
|
expectCmd += ">>/etc/yum.repos.d/grafana.repo && "
|
||||||
|
expectCmd += "echo 'gpgkey=https://rpm.grafana.com/gpg.key' "
|
||||||
|
expectCmd += ">>/etc/yum.repos.d/grafana.repo && "
|
||||||
|
expectCmd += "echo 'baseurl=https://rpm.grafana.com' "
|
||||||
|
expectCmd += ">>/etc/yum.repos.d/grafana.repo"
|
||||||
self.assertEqual(expectCmd, result)
|
self.assertEqual(expectCmd, result)
|
||||||
|
|
||||||
def test_enable_repos_centos_multiple(self):
|
def test_enable_repos_centos_multiple(self):
|
||||||
template_vars = {
|
template_vars = {
|
||||||
'base_arch': 'x86_64',
|
"base_arch": "x86_64",
|
||||||
'base_distro': 'centos',
|
"base_distro": "centos",
|
||||||
'base_package_type': 'rpm',
|
"base_package_type": "rpm",
|
||||||
}
|
}
|
||||||
|
|
||||||
result = methods.handle_repos(template_vars, ['grafana', 'ceph'],
|
result = methods.handle_repos(template_vars,
|
||||||
'enable')
|
["grafana", "rabbitmq"], "enable")
|
||||||
expectCmd = 'RUN dnf config-manager --enable grafana '
|
expectCmd = "RUN echo '[grafana]' "
|
||||||
expectCmd += '--enable centos-ceph-squid || true'
|
expectCmd += ">/etc/yum.repos.d/grafana.repo && "
|
||||||
|
expectCmd += "echo 'name=grafana' "
|
||||||
|
expectCmd += ">>/etc/yum.repos.d/grafana.repo && "
|
||||||
|
expectCmd += "echo 'enabled=1' "
|
||||||
|
expectCmd += ">>/etc/yum.repos.d/grafana.repo && "
|
||||||
|
expectCmd += "echo 'gpgkey=https://rpm.grafana.com/gpg.key' "
|
||||||
|
expectCmd += ">>/etc/yum.repos.d/grafana.repo && "
|
||||||
|
expectCmd += "echo 'baseurl=https://rpm.grafana.com' "
|
||||||
|
expectCmd += ">>/etc/yum.repos.d/grafana.repo && "
|
||||||
|
|
||||||
|
expectCmd += "echo '[rabbitmq_rabbitmq-server]' "
|
||||||
|
expectCmd += ">/etc/yum.repos.d/rabbitmq.repo && "
|
||||||
|
expectCmd += "echo 'name=rabbitmq_rabbitmq-server' "
|
||||||
|
expectCmd += ">>/etc/yum.repos.d/rabbitmq.repo && "
|
||||||
|
expectCmd += "echo 'enabled=1' "
|
||||||
|
expectCmd += ">>/etc/yum.repos.d/rabbitmq.repo && "
|
||||||
|
expectCmd += "echo 'gpgkey=https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-server.9F4587F226208342.key' " # noqa
|
||||||
|
expectCmd += ">>/etc/yum.repos.d/rabbitmq.repo && "
|
||||||
|
expectCmd += "echo ' https://github.com/rabbitmq/signing-keys/releases/download/3.0/rabbitmq-release-signing-key.asc' " # noqa
|
||||||
|
expectCmd += ">>/etc/yum.repos.d/rabbitmq.repo && "
|
||||||
|
expectCmd += "echo 'baseurl=https://yum1.rabbitmq.com/rabbitmq/el/9/noarch' " # noqa
|
||||||
|
expectCmd += ">>/etc/yum.repos.d/rabbitmq.repo && "
|
||||||
|
expectCmd += "echo 'baseurl=https://yum2.rabbitmq.com/rabbitmq/el/9/noarch' " # noqa
|
||||||
|
expectCmd += ">>/etc/yum.repos.d/rabbitmq.repo"
|
||||||
|
self.assertEqual(expectCmd, result)
|
||||||
|
|
||||||
|
def test_enable_repos_centos_distro_enable(self):
|
||||||
|
template_vars = {
|
||||||
|
"base_arch": "x86_64",
|
||||||
|
"base_distro": "centos",
|
||||||
|
"base_package_type": "rpm",
|
||||||
|
}
|
||||||
|
|
||||||
|
result = methods.handle_repos(template_vars,
|
||||||
|
['crb'], 'enable')
|
||||||
|
expectCmd = "RUN dnf config-manager --enable crb || true"
|
||||||
|
self.assertEqual(expectCmd, result)
|
||||||
|
|
||||||
|
def test_enable_repos_centos_distro_disable(self):
|
||||||
|
template_vars = {
|
||||||
|
"base_arch": "x86_64",
|
||||||
|
"base_distro": "centos",
|
||||||
|
"base_package_type": "rpm",
|
||||||
|
}
|
||||||
|
|
||||||
|
result = methods.handle_repos(template_vars, ['crb'], 'disable')
|
||||||
|
expectCmd = "RUN dnf config-manager --disable crb || true"
|
||||||
|
self.assertEqual(expectCmd, result)
|
||||||
|
|
||||||
|
def test_enable_repos_centos_distro_enable_multiple(self):
|
||||||
|
template_vars = {
|
||||||
|
"base_arch": "x86_64",
|
||||||
|
"base_distro": "centos",
|
||||||
|
"base_package_type": "rpm",
|
||||||
|
}
|
||||||
|
|
||||||
|
result = methods.handle_repos(template_vars,
|
||||||
|
['crb', 'grafana'], 'enable')
|
||||||
|
expectCmd = "RUN dnf config-manager --enable crb || true && "
|
||||||
|
expectCmd += "echo '[grafana]' "
|
||||||
|
expectCmd += ">/etc/yum.repos.d/grafana.repo && "
|
||||||
|
expectCmd += "echo 'name=grafana' "
|
||||||
|
expectCmd += ">>/etc/yum.repos.d/grafana.repo && "
|
||||||
|
expectCmd += "echo 'enabled=1' "
|
||||||
|
expectCmd += ">>/etc/yum.repos.d/grafana.repo && "
|
||||||
|
expectCmd += "echo 'gpgkey=https://rpm.grafana.com/gpg.key' "
|
||||||
|
expectCmd += ">>/etc/yum.repos.d/grafana.repo && "
|
||||||
|
expectCmd += "echo 'baseurl=https://rpm.grafana.com' "
|
||||||
|
expectCmd += ">>/etc/yum.repos.d/grafana.repo"
|
||||||
self.assertEqual(expectCmd, result)
|
self.assertEqual(expectCmd, result)
|
||||||
|
|
||||||
def test_enable_repos_debian(self):
|
def test_enable_repos_debian(self):
|
||||||
template_vars = {
|
template_vars = {
|
||||||
'base_arch': 'x86_64',
|
"base_arch": "x86_64",
|
||||||
'base_distro': 'debian',
|
"base_distro": "debian",
|
||||||
'base_package_type': 'deb'
|
"base_package_type": "deb",
|
||||||
}
|
}
|
||||||
|
|
||||||
result = methods.handle_repos(template_vars, ['grafana'], 'enable')
|
result = methods.handle_repos(template_vars, ["grafana"], "enable")
|
||||||
expectCmd = "RUN echo 'Uris: https://apt.grafana.com' "
|
expectCmd = "RUN echo 'Uris: https://apt.grafana.com' "
|
||||||
expectCmd += ">/etc/apt/sources.list.d/grafana.sources && "
|
expectCmd += ">/etc/apt/sources.list.d/grafana.sources && "
|
||||||
expectCmd += "echo 'Components: main' "
|
expectCmd += "echo 'Components: main' "
|
||||||
@@ -82,10 +187,10 @@ class MethodsTest(base.TestCase):
|
|||||||
template_vars = {
|
template_vars = {
|
||||||
'base_arch': 'aarch64',
|
'base_arch': 'aarch64',
|
||||||
'base_distro': 'debian',
|
'base_distro': 'debian',
|
||||||
'base_package_type': 'deb'
|
'base_package_type': 'deb',
|
||||||
}
|
}
|
||||||
|
|
||||||
result = methods.handle_repos(template_vars, ['rabbitmq'], 'enable')
|
result = methods.handle_repos(template_vars, ["rabbitmq"], "enable")
|
||||||
expectCmd = "RUN echo 'Uris: https://ppa1.rabbitmq.com/rabbitmq/rabbitmq-server/deb/debian' " # noqa: E501
|
expectCmd = "RUN echo 'Uris: https://ppa1.rabbitmq.com/rabbitmq/rabbitmq-server/deb/debian' " # noqa: E501
|
||||||
expectCmd += ">/etc/apt/sources.list.d/rabbitmq.sources && "
|
expectCmd += ">/etc/apt/sources.list.d/rabbitmq.sources && "
|
||||||
expectCmd += "echo 'Components: main' "
|
expectCmd += "echo 'Components: main' "
|
||||||
@@ -104,23 +209,21 @@ class MethodsTest(base.TestCase):
|
|||||||
template_vars = {
|
template_vars = {
|
||||||
'base_arch': 'x86_64',
|
'base_arch': 'x86_64',
|
||||||
'base_distro': 'debian',
|
'base_distro': 'debian',
|
||||||
'base_package_type': 'deb'
|
'base_package_type': 'deb',
|
||||||
}
|
}
|
||||||
|
|
||||||
result = methods.handle_repos(template_vars, ['missing_repo'],
|
self.assertRaises(KeyError, methods.handle_repos, template_vars,
|
||||||
'enable')
|
['missing_repo'], 'enable')
|
||||||
expectCmd = ''
|
|
||||||
self.assertEqual(expectCmd, result)
|
|
||||||
|
|
||||||
def test_enable_repos_debian_multiple(self):
|
def test_enable_repos_debian_multiple(self):
|
||||||
template_vars = {
|
template_vars = {
|
||||||
'base_arch': 'x86_64',
|
'base_arch': 'x86_64',
|
||||||
'base_distro': 'debian',
|
'base_distro': 'debian',
|
||||||
'base_package_type': 'deb'
|
'base_package_type': 'deb',
|
||||||
}
|
}
|
||||||
|
|
||||||
result = methods.handle_repos(template_vars, ['grafana', 'rabbitmq'],
|
result = methods.handle_repos(template_vars,
|
||||||
'enable')
|
['grafana', 'rabbitmq'], 'enable')
|
||||||
expectCmd = "RUN echo 'Uris: https://apt.grafana.com' "
|
expectCmd = "RUN echo 'Uris: https://apt.grafana.com' "
|
||||||
expectCmd += ">/etc/apt/sources.list.d/grafana.sources && "
|
expectCmd += ">/etc/apt/sources.list.d/grafana.sources && "
|
||||||
expectCmd += "echo 'Components: main' "
|
expectCmd += "echo 'Components: main' "
|
||||||
@@ -146,47 +249,23 @@ class MethodsTest(base.TestCase):
|
|||||||
|
|
||||||
self.assertEqual(expectCmd, result)
|
self.assertEqual(expectCmd, result)
|
||||||
|
|
||||||
def test_disable_repos_centos(self):
|
|
||||||
template_vars = {
|
|
||||||
'base_arch': 'x86_64',
|
|
||||||
'base_distro': 'centos',
|
|
||||||
'base_package_type': 'rpm',
|
|
||||||
}
|
|
||||||
|
|
||||||
result = methods.handle_repos(template_vars, ['grafana'], 'disable')
|
|
||||||
expectCmd = 'RUN dnf config-manager --disable grafana || true'
|
|
||||||
self.assertEqual(expectCmd, result)
|
|
||||||
|
|
||||||
def test_disable_repos_centos_multiple(self):
|
|
||||||
template_vars = {
|
|
||||||
'base_arch': 'x86_64',
|
|
||||||
'base_distro': 'centos',
|
|
||||||
'base_package_type': 'rpm',
|
|
||||||
}
|
|
||||||
|
|
||||||
result = methods.handle_repos(template_vars, ['grafana', 'ceph'],
|
|
||||||
'disable')
|
|
||||||
expectCmd = 'RUN dnf config-manager --disable grafana '
|
|
||||||
expectCmd += '--disable centos-ceph-squid || true'
|
|
||||||
self.assertEqual(expectCmd, result)
|
|
||||||
|
|
||||||
# NOTE(hrw): there is no disabling of repos for Debian/Ubuntu
|
# NOTE(hrw): there is no disabling of repos for Debian/Ubuntu
|
||||||
def test_disable_repos_debian(self):
|
def test_disable_repos_debian(self):
|
||||||
template_vars = {
|
template_vars = {
|
||||||
'base_arch': 'x86_64',
|
'base_arch': 'x86_64',
|
||||||
'base_distro': 'debian',
|
'base_distro': 'debian',
|
||||||
'base_package_type': 'deb'
|
'base_package_type': 'deb',
|
||||||
}
|
}
|
||||||
|
|
||||||
result = methods.handle_repos(template_vars, ['grafana'], 'disable')
|
result = methods.handle_repos(template_vars, ["grafana"], "disable")
|
||||||
expectCmd = ''
|
expectCmd = ""
|
||||||
self.assertEqual(expectCmd, result)
|
self.assertEqual(expectCmd, result)
|
||||||
|
|
||||||
def test_handle_repos_string(self):
|
def test_handle_repos_string(self):
|
||||||
template_vars = {
|
template_vars = {
|
||||||
'base_arch': 'x86_64',
|
'base_arch': 'x86_64',
|
||||||
'base_distro': 'debian',
|
'base_distro': 'debian',
|
||||||
'base_package_type': 'deb'
|
'base_package_type': 'deb',
|
||||||
}
|
}
|
||||||
|
|
||||||
self.assertRaisesRegex(TypeError,
|
self.assertRaisesRegex(TypeError,
|
||||||
|
@@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
features:
|
||||||
|
- |
|
||||||
|
Adds support for configuring RPM distributions repositories
|
||||||
|
using ``repos.yaml`` functionality.
|
@@ -65,18 +65,7 @@ RUN if [ -f /usr/etc/npmrc ]; then \
|
|||||||
fi \
|
fi \
|
||||||
&& rm -f /etc/npmrc
|
&& rm -f /etc/npmrc
|
||||||
|
|
||||||
{% if base_distro in ['centos', 'rocky'] %}
|
{% if base_distro == "debian" %}
|
||||||
{# NOTE(hrw): Some images have two footer blocks.
|
|
||||||
For example neutron-infobox-ipam-agent being
|
|
||||||
child of neutron-server.
|
|
||||||
#}
|
|
||||||
RUN if [ -d /etc/yum.repos.d/not-for-ci/ ]; then \
|
|
||||||
cd /etc/yum.repos.d/ && \
|
|
||||||
rm ci-{{ base_distro }}.repo && \
|
|
||||||
mv not-for-ci/*.repo . && \
|
|
||||||
rm -rf not-for-ci; \
|
|
||||||
fi;
|
|
||||||
{% elif base_distro == "debian" %}
|
|
||||||
RUN sed -i -e "s|\[trusted=yes\] http://{{ nodepool_mirror_host }}|http://deb.debian.org|" \
|
RUN sed -i -e "s|\[trusted=yes\] http://{{ nodepool_mirror_host }}|http://deb.debian.org|" \
|
||||||
-e "s|\[trusted=yes\] http://{{ nodepool_mirror_host }}|http://security.debian.org|" \
|
-e "s|\[trusted=yes\] http://{{ nodepool_mirror_host }}|http://security.debian.org|" \
|
||||||
/etc/apt/sources.list
|
/etc/apt/sources.list
|
||||||
|
Reference in New Issue
Block a user