Add EL10 support to the role

Depends-On: https://review.opendev.org/c/openstack/openstack-ansible/+/951132
Change-Id: I60df6bda2f30c0d1866640b15089c3fc2ebab75a
This commit is contained in:
Dmitriy Rabotyagov
2025-05-28 15:21:37 +02:00
parent be91ee31e8
commit 3c5f9b223b
8 changed files with 155 additions and 9 deletions
+1
View File
@@ -176,6 +176,7 @@ systemd_networkd_update_initramfs: "{{ _systemd_networkd_update_initramfs | defa
systemd_networkd_distro_packages: "{{ _systemd_networkd_distro_packages | default([]) }}"
systemd_networkd_epel_mirror: "{{ centos_epel_mirror | default('http://download.fedoraproject.org/pub/epel') }}"
systemd_networkd_sig_mirror: "{{ centos_sig_mirror | default('http://mirror.stream.centos.org/SIGs') }}"
# The systemd networkd service can be used to set specific link configuration options.
# For more information on all of the possible configuration see
+29
View File
@@ -0,0 +1,29 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQINBGV4X6kBEAC3eQxgiWuo08uc3mHo4ELux++uqTnYz/tJzEf9Ou3h36WnhumA
Nvs+Ts5h8PBx879Y9/aIX1Z20p1kf6tBCinZnEJu59n+TAAsph0+XQlV1l5YkleK
Z2ff/Fg65k8QcLXWaIGykA/FaKznRiSurGuD6tRGhJw7DawEwBJr8QZSkRUpnH1L
URW97Q/iKrRPiE5VEayE0y8eAL28jIIiFvR+4oJMzvCsRRB/2wYZ2MlJOW91hcYf
mbUoXKOBD5UzsJylu7kj25K/ge8rEJ7KicOOwcdYddxsU3DxGSSfwF8AMagENcm2
XROeXknjm84A8sNlUkFZBJwfuc7eRTiZGJrnQQVYLrkKj8Mxpq9Ts7hU51TqAWNI
uvGDlJdYNE3D2RMqjMEsZ8ej08Thrib6xslu4NzTBkt+6QNnXL4E3hEgYtoyio60
GswSz2ulogKg7X4JrNdJYE8/qNowyF3hoVgj5TG1/wQRq+5HlMMOLjgGu9wzLUix
fnVfEUnzaofbrUf4/GabCaeY8xRe4tFQrvzigQ4g+kgwKKnfAeqBmPov0yljkw9z
BYJWR5zvaw0ffg9Ing00KUSaXBXA5jSlgk1603Y+LefY1SlXsTyqohiRvGH6FI77
HNMo72DwoJfFcYjncZUzKgXWJECR4nhVsdj6pKoOjcQ4aSuyVxtsR86ASQARAQAB
tChGZWRvcmEgKGVwZWwxMCkgPGVwZWxAZmVkb3JhcHJvamVjdC5vcmc+iQJOBBMB
CAA4FiEEfY0Vy/xOYmiFkfsmM9mFF+N+0VgFAmV4X6kCGw8FCwkIBwIGFQoJCAsC
BBYCAwECHgECF4AACgkQM9mFF+N+0Vhv/A/+PlhPLSctGRCUEahE+cN4764Acc3p
l40ZYzXRhqR0/Tc1/cSDjlA3qVTc8SPohi5OJXwCyr9EiMqKoyoDN097euqbYpyp
yN/Pj0lBjsXwcpdDtZ21WGeQU0Khb04N68bMtJbDaxeBciTvDDQravZuPPh0m4Rg
Z6myEoa6Aa6EK0hI1Qwi1qIWeRiuEkVT671IaKVETBW5XiUpNBXDAB/L+6DzUF9u
scBzfsUDiPO6NrpYDtV3jwq22y6gWluIct/Ka8brwPbqK2sBfFzrHboRhfqlTGjs
7F9qUGwIQZn/A8iozXZYQ0+JG1bhQyvjA8eN1GOcRpT+O7H7JXN49o6IG2As4+iK
F04+qjqAu2sVfpD8mzM2VubFNllcKKiyCzRYHhSbObRCPzsudDL9GPiXeGGaCuWg
sDkiA1MESvf2tLETAGBs/TziO4GwmXUtlKbRiq1FYm90mVq9mBxPZ/Idn+yZusNB
0O5SXIbI8lYZw5n4XTK4b+byHRBYsOTHiTsGvjTF2Y7oSwW2CVUmL6RZ23mI4qoY
1p5kzRS+GjT1acnTei/FTsOlIKCsjfeHx7uxCkX6xpAD8P3UtLQqfsgH0CL4vSZt
TGO6L1InQlp4ZG3OYIomTKbD3/R0wod3U3dTqdulQMXL895u6OLTY3spY2m2MO2k
p9Dfd2pKuxK9Mys=
=mhQZ
-----END PGP PUBLIC KEY BLOCK-----
+32
View File
@@ -0,0 +1,32 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v2.0.22 (GNU/Linux)
mQENBGAFPdEBCADhXtzOEQcQnug15GHYeYIA9Nw/x96b4XliZFi2GDT7Jqu6njA8
QJtKm8C4Hoc/DxOXcidxDJ/pu2pYwzxRpuIi0K7PA5lF08HgF7aZsxq0yiFRMCaS
qpp4NCw/Xj0VPohu7jICQhzalnfZjTk0zEneBnpE6jCSIDLdaH8+iC5F2KerEPjq
+SZOH/aVLdFVgPUbz7zwL7XMsmDT0M22J1zO4QmUTsVbkaqtSwtl/qkl3Eo2hF1x
ToiYa6CPn2rNnNUZ1xhW2l/hncE9w/kbmzALFKHEo+XUbKsihfp0UAenxNtm0k6E
FDQTZpJet/nIq+6t3LFmZiFJl8mcIaXm3o95ABEBAAG0ZUNlbnRPUyBIeXBlclNj
YWxlIFNJRyAoaHR0cHM6Ly93aWtpLmNlbnRvcy5vcmcvU3BlY2lhbEludGVyZXN0
R3JvdXAvSHlwZXJzY2FsZSkgPHNlY3VyaXR5QGNlbnRvcy5vcmc+iQE5BBMBCgAj
AhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AFAmIgawoACgkQKgH6Kus9rEDB
5QgAk7U2F8HGcaC3FXdqHzkqsz0gFZ0gpJ+QSVJphiCSTpBLzerFZEDD64igXOLi
qL5OW8fJrKBqKeGCT/VRV3UZWlwfD7gomBHNB7zQRSGtCYxydadBJsbYlNiI8C2t
EnNsoNxBpZRoWuYzGG16yEHDF+HiY1UsFXwet/uMwkUvdsGVuRnvQjkG5P4hSFHK
8i7XjtWwizhD/OHWqot5R+UumzNYPK+DsDfUI1qpUzfKxblLuSZvJO6wHcI/k+NG
55lddWHHFoYfBDVIn6iqN110r8w3vEKeeLWv/5virITg/5iFIxfvuXyPpOQSFz6E
rwSz547blvqMljHkCp9NnumdIbkBDQRgBT3RAQgA4fFLaZ1HsK+K0fdLxdzRUB2S
8FfIuV1n53taP6OYzk5fPRf/vwXt7E0IUONvBd/z7LfkR/eGbdG3i+cQnN8fJjHZ
1DkziTK4Xjq7vgLIOGzONFQwWj5XKoTBpw2+cfEmqiBlFY5erVzgxrZXB0aZeY3w
vWW2haOBuTUynPcVsdoDCsO5SYgFX8tDmZRUIwsLYvS5gI9DLxO6mLQnXqZapWD6
GeVw+eCL/EST3eimrsRGPaBWUTplHaVDT3hV+w7Yx5SfjDJxWUJAwl13+YGB6HvR
T5gJuSgJ5MUQDtBMVGUDsv4Br0YiBSytquAgAAcJ4gzCzqNal623c/soXio+xQAR
AQABiQEfBBgBCgAJAhsMBQJiIGsSAAoJECoB+irrPaxAAWkH/RzJ3ZvJYb2BSeii
sKza+SXUIJl2LPjUJ6q8dfI3ity0jEpWpKFxN4tYcp3B9LZAon3g0P/Gc5kftIb7
7qAnlCkh+dt8RtCeWEvdnZlIiS/k5w3dogBHzr2L980QOdyFZAxv6bugzEPzh3Dm
rBbH9JzSx0c+weeLZdgtDdgIXiPgtrQfdPe4uxjx39zy/k4Lt6M1mKsuy872yn35
EMUeQhb82If+4fQOcYOfjc2I3MBMTd8cz/s6ZKKR1QD7rms2JPx1KJfIxjCSRyOL
dFmDih7j+JmBz7IYFRWMqp8SR0MBkVIykZYomEChhKOD5vSXOVEq/CD0tN63dlhs
fnRBNE0=
=rDM7
-----END PGP PUBLIC KEY BLOCK-----
+11 -9
View File
@@ -67,17 +67,19 @@
when:
- ansible_facts['os_family'] | lower == 'redhat'
# NOTE(jrosser) this repo is configured with the path to the first gpg key provided
- name: Install the EPEL repository
ansible.builtin.yum_repository:
name: epel-networkd
baseurl: "{{ systemd_networkd_epel_mirror ~ '/' ~ ansible_facts['distribution_major_version'] ~ '/Everything/' ~ ansible_facts['architecture'] }}"
description: "Extra Packages for Enterprise Linux $releasever - $basearch"
gpgkey: "file://{{ systemd_networkd_package_repos_keys[0].key }}"
gpgcheck: true
enabled: true
state: present
includepkgs: "systemd-networkd"
name: "{{ item.name }}"
baseurl: "{{ item.baseurl }}"
description: "{{ item.description }}"
gpgkey: "{{ item.gpgkey }}"
gpgcheck: "{{ item.gpgcheck }}"
enabled: "{{ item.enabled }}"
state: "{{ item.state }}"
includepkgs: "{{ item.includepkgs | default([]) }}"
loop: "{{ systemd_networkd_repos | default([]) }}"
loop_control:
label: "{{ item.name }}"
when:
- ansible_facts['os_family'] | lower == 'redhat'
register: install_epel_repo
+1
View File
@@ -29,6 +29,7 @@
- "{{ iproute_package_name[ansible_facts['os_family'] | lower] }}"
- "{{ procps_package_name[ansible_facts['os_family'] | lower] }}"
- "{{ selinux_package_name[ansible_facts['os_family'] | lower] }}"
- gnupg2
tasks:
- name: Install required packages
ansible.builtin.package:
+61
View File
@@ -0,0 +1,61 @@
---
# Copyright 2025, Cleura AB.
#
# 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.
_systemd_networkd_distro_packages:
- dbus # Needed for networkctl
- systemd-networkd
- "{{ systemd_resolved_available | ternary('systemd-resolved', '') }}"
- systemd-udev # Needed for networkd to bring interfaces up
_systemd_resolved_available: false
_systemd_networkd_update_initramfs: "dracut -f"
_systemd_networkd_sig_distribution: >-
{{
(ansible_facts['distribution_release'] | lower == 'stream') | ternary(
, ansible_facts['distribution_major_version'])
}}
systemd_networkd_repos:
- name: epel-networkd
baseurl: "{{ systemd_networkd_epel_mirror ~ '/' ~ ansible_facts['distribution_major_version'] ~ '/Everything/' ~ ansible_facts['architecture'] }}"
description: "Extra Packages for Enterprise Linux $releasever - $basearch"
gpgkey: "file://{{ (systemd_networkd_package_repos_keys | selectattr('name', 'eq', 'epel-10') | first).key }}"
gpgcheck: true
enabled: true
state: present
- name: hyperscale-networkd
baseurl: >-
{{ systemd_networkd_sig_mirror ~ '/' ~ ansible_facts['distribution_major_version'] ~ '-stream/hyperscale/' ~
ansible_facts['architecture'] ~ '/packages-main/' }}
description: "Hyperscale SIG Packages for Enterprise Linux $releasever - $basearch"
includepkgs:
- systemd*
- libsystemd-shared
gpgkey: "file://{{ (systemd_networkd_package_repos_keys | selectattr('name', 'eq', 'hyperscale-sig') | first).key }}"
gpgcheck: true
enabled: true
state: present
systemd_networkd_enablerepo: epel
systemd_networkd_package_repos_keys:
- name: epel-10
key: /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-10
keyfile: gpg/E37ED158
- name: hyperscale-sig
key: /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-HyperScale
keyfile: gpg/EB3DAC40
+10
View File
@@ -21,6 +21,16 @@ _systemd_resolved_available: false
_systemd_networkd_update_initramfs: "dracut -f"
systemd_networkd_repos:
- name: epel-networkd
baseurl: "{{ systemd_networkd_epel_mirror ~ '/' ~ ansible_facts['distribution_major_version'] ~ '/Everything/' ~ ansible_facts['architecture'] }}"
description: "Extra Packages for Enterprise Linux $releasever - $basearch"
gpgkey: "file://{{ systemd_networkd_package_repos_keys[0].key }}"
gpgcheck: true
enabled: true
state: present
includepkgs: "systemd-networkd"
systemd_networkd_enablerepo: epel
systemd_networkd_package_repos_keys:
+10
View File
@@ -23,6 +23,16 @@ _systemd_resolved_available: false
_systemd_networkd_update_initramfs: "dracut -f"
systemd_networkd_repos:
- name: epel-networkd
baseurl: "{{ systemd_networkd_epel_mirror ~ '/' ~ ansible_facts['distribution_major_version'] ~ '/Everything/' ~ ansible_facts['architecture'] }}"
description: "Extra Packages for Enterprise Linux $releasever - $basearch"
gpgkey: "file://{{ systemd_networkd_package_repos_keys[0].key }}"
gpgcheck: true
enabled: true
state: present
includepkgs: "systemd-networkd"
systemd_networkd_enablerepo: epel
systemd_networkd_package_repos_keys: