Bump alma dist and update AlmaLinux and CloudLinux support patch

This commit is contained in:
Andrew Lukoshko 2024-03-28 13:55:01 +00:00
parent 50826ede85
commit 55161ae893
3 changed files with 60 additions and 701 deletions

View File

@ -1,618 +0,0 @@
diff -aruN cloud-init-22.1/cloudinit/config/cc_ca_certs.py cloud-init-22.1.patched/cloudinit/config/cc_ca_certs.py
--- cloud-init-22.1/cloudinit/config/cc_ca_certs.py 2022-02-15 21:02:23
+++ cloud-init-22.1.patched/cloudinit/config/cc_ca_certs.py 2023-08-04 12:53:10
@@ -19,6 +19,20 @@
"ca_cert_update_cmd": ["update-ca-certificates"],
}
DISTRO_OVERRIDES = {
+ "almalinux": {
+ "ca_cert_path": "/usr/share/pki/ca-trust-source/",
+ "ca_cert_filename": "anchors/cloud-init-ca-certs.crt",
+ "ca_cert_config": None,
+ "ca_cert_system_path": "/etc/pki/ca-trust/",
+ "ca_cert_update_cmd": ["update-ca-trust"],
+ },
+ "cloudlinux": {
+ "ca_cert_path": "/usr/share/pki/ca-trust-source/",
+ "ca_cert_filename": "anchors/cloud-init-ca-certs.crt",
+ "ca_cert_config": None,
+ "ca_cert_system_path": "/etc/pki/ca-trust/",
+ "ca_cert_update_cmd": ["update-ca-trust"],
+ },
"rhel": {
"ca_cert_path": "/usr/share/pki/ca-trust-source/",
"ca_cert_filename": "anchors/cloud-init-ca-certs.crt",
@@ -43,7 +57,7 @@
ca-certificates package is installed but not if the
ca-certificates-bundle package is installed.
"""
-distros = ["alpine", "debian", "ubuntu", "rhel"]
+distros = ["almalinux", "alpine", "cloudlinux", "debian", "ubuntu", "rhel"]
meta: MetaSchema = {
"id": "cc_ca_certs",
diff -aruN cloud-init-22.1/cloudinit/config/cc_ntp.py cloud-init-22.1.patched/cloudinit/config/cc_ntp.py
--- cloud-init-22.1/cloudinit/config/cc_ntp.py 2022-02-15 21:02:23
+++ cloud-init-22.1.patched/cloudinit/config/cc_ntp.py 2023-08-04 12:53:57
@@ -80,6 +80,14 @@
# This is Distro-specific configuration overrides of the base config
DISTRO_CLIENT_CONFIG = {
+ "almalinux": {
+ "ntp": {
+ "service_name": "ntpd",
+ },
+ "chrony": {
+ "service_name": "chronyd",
+ },
+ },
"alpine": {
"chrony": {
"confpath": "/etc/chrony/chrony.conf",
@@ -89,6 +97,14 @@
"confpath": "/etc/ntp.conf",
"packages": [],
"service_name": "ntpd",
+ },
+ },
+ "cloudlinux": {
+ "ntp": {
+ "service_name": "ntpd",
+ },
+ "chrony": {
+ "service_name": "chronyd",
},
},
"debian": {
diff -aruN cloud-init-22.1/cloudinit/settings.py cloud-init-22.1.patched/cloudinit/settings.py
--- cloud-init-22.1/cloudinit/settings.py 2023-08-04 12:47:34
+++ cloud-init-22.1.patched/cloudinit/settings.py 2023-08-04 12:46:54
@@ -58,7 +58,7 @@
'cloud_dir': '/var/lib/cloud',
'templates_dir': '/etc/cloud/templates/',
},
- 'distro': 'rhel',
+ 'distro': 'almalinux',
'network': {'renderers': None},
},
"vendor_data": {"enabled": True, "prefix": []},
diff -aruN cloud-init-22.1/cloudinit/sources/DataSourceRbxCloud.py cloud-init-22.1.patched/cloudinit/sources/DataSourceRbxCloud.py
--- cloud-init-22.1/cloudinit/sources/DataSourceRbxCloud.py 2022-02-15 21:02:23
+++ cloud-init-22.1.patched/cloudinit/sources/DataSourceRbxCloud.py 2023-08-04 12:54:44
@@ -55,7 +55,7 @@
def gratuitous_arp(items, distro):
source_param = "-S"
- if distro.name in ["fedora", "centos", "rhel"]:
+ if distro.name in ["almalinux", "fedora", "centos", "cloudlinux", "rhel"]:
source_param = "-s"
for item in items:
try:
diff -aruN cloud-init-22.1/config/cloud.cfg.tmpl cloud-init-22.1.patched/config/cloud.cfg.tmpl
--- cloud-init-22.1/config/cloud.cfg.tmpl 2023-08-04 12:47:34
+++ cloud-init-22.1.patched/config/cloud.cfg.tmpl 2023-08-04 12:56:00
@@ -2,7 +2,7 @@
# The top level settings are used as module
# and system configuration.
{% set is_bsd = variant in ["dragonfly", "freebsd", "netbsd", "openbsd"] %}
-{% set is_rhel = variant in ["rhel", "centos"] %}
+{% set is_rhel = variant in ["rhel", "centos", "almalinux", "cloudlinux"] %}
{% if is_bsd %}
syslog_fix_perms: root:wheel
{% elif variant in ["suse"] %}
diff -aruN cloud-init-22.1/packages/pkg-deps.json cloud-init-22.1.patched/packages/pkg-deps.json
--- cloud-init-22.1/packages/pkg-deps.json 2022-02-15 21:02:23
+++ cloud-init-22.1.patched/packages/pkg-deps.json 2023-08-04 12:55:20
@@ -1,4 +1,18 @@
{
+ "almalinux" : {
+ "build-requires" : [
+ "python3-devel"
+ ],
+ "requires" : [
+ "e2fsprogs",
+ "iproute",
+ "net-tools",
+ "procps",
+ "rsyslog",
+ "shadow-utils",
+ "sudo"
+ ]
+ },
"debian" : {
"build-requires" : [
"debhelper",
@@ -14,6 +28,20 @@
]
},
"centos" : {
+ "build-requires" : [
+ "python3-devel"
+ ],
+ "requires" : [
+ "e2fsprogs",
+ "iproute",
+ "net-tools",
+ "procps",
+ "rsyslog",
+ "shadow-utils",
+ "sudo"
+ ]
+ },
+ "cloudlinux" : {
"build-requires" : [
"python3-devel"
],
diff -aruN cloud-init-22.1/systemd/cloud-config.service.tmpl cloud-init-22.1.patched/systemd/cloud-config.service.tmpl
--- cloud-init-22.1/systemd/cloud-config.service.tmpl 2023-08-04 12:47:34
+++ cloud-init-22.1.patched/systemd/cloud-config.service.tmpl 2023-08-04 12:56:40
@@ -4,7 +4,7 @@
After=network-online.target cloud-config.target
After=snapd.seeded.service
Wants=network-online.target cloud-config.target
-{% if variant == "rhel" %}
+{% if variant in ["almalinux", "cloudlinux", "rhel"] %}
ConditionPathExists=!/etc/cloud/cloud-init.disabled
ConditionKernelCommandLine=!cloud-init=disabled
{% endif %}
diff -aruN cloud-init-22.1/systemd/cloud-final.service.tmpl cloud-init-22.1.patched/systemd/cloud-final.service.tmpl
--- cloud-init-22.1/systemd/cloud-final.service.tmpl 2023-08-04 12:47:34
+++ cloud-init-22.1.patched/systemd/cloud-final.service.tmpl 2023-08-04 12:57:11
@@ -7,7 +7,7 @@
Before=apt-daily.service
{% endif %}
Wants=network-online.target cloud-config.service
-{% if variant == "rhel" %}
+{% if variant in ["almalinux", "cloudlinux", "rhel"] %}
ConditionPathExists=!/etc/cloud/cloud-init.disabled
ConditionKernelCommandLine=!cloud-init=disabled
{% endif %}
@@ -19,7 +19,7 @@
RemainAfterExit=yes
TimeoutSec=0
KillMode=process
-{% if variant == "rhel" %}
+{% if variant in ["almalinux", "cloudlinux", "rhel"] %}
# Restart NetworkManager if it is present and running.
ExecStartPost=/bin/sh -c 'u=NetworkManager.service; \
out=$(systemctl show --property=SubState $u) || exit; \
diff -aruN cloud-init-22.1/systemd/cloud-init-local.service.tmpl cloud-init-22.1.patched/systemd/cloud-init-local.service.tmpl
--- cloud-init-22.1/systemd/cloud-init-local.service.tmpl 2023-08-04 12:47:34
+++ cloud-init-22.1.patched/systemd/cloud-init-local.service.tmpl 2023-08-04 13:00:54
@@ -1,23 +1,23 @@
## template:jinja
[Unit]
Description=Initial cloud-init job (pre-networking)
-{% if variant in ["ubuntu", "unknown", "debian", "rhel" ] %}
+{% if variant in ["almalinux", "cloudlinux", "ubuntu", "unknown", "debian", "rhel" ] %}
DefaultDependencies=no
{% endif %}
Wants=network-pre.target
After=hv_kvp_daemon.service
After=systemd-remount-fs.service
-{% if variant == "rhel" %}
+{% if variant in ["almalinux", "cloudlinux", "rhel"] %}
Requires=dbus.socket
After=dbus.socket
{% endif %}
Before=NetworkManager.service
-{% if variant == "rhel" %}
+{% if variant in ["almalinux", "cloudlinux", "rhel"] %}
Before=network.service
{% endif %}
Before=network-pre.target
Before=shutdown.target
-{% if variant == "rhel" %}
+{% if variant in ["almalinux", "cloudlinux", "rhel"] %}
Before=firewalld.target
Conflicts=shutdown.target
{% endif %}
@@ -26,14 +26,14 @@
Conflicts=shutdown.target
{% endif %}
RequiresMountsFor=/var/lib/cloud
-{% if variant == "rhel" %}
+{% if variant in ["almalinux", "cloudlinux", "rhel"] %}
ConditionPathExists=!/etc/cloud/cloud-init.disabled
ConditionKernelCommandLine=!cloud-init=disabled
{% endif %}
[Service]
Type=oneshot
-{% if variant == "rhel" %}
+{% if variant in ["almalinux", "cloudlinux", "rhel"] %}
ExecStartPre=/bin/mkdir -p /run/cloud-init
ExecStartPre=/sbin/restorecon /run/cloud-init
ExecStartPre=/usr/bin/touch /run/cloud-init/enabled
diff -aruN cloud-init-22.1/systemd/cloud-init.service.tmpl cloud-init-22.1.patched/systemd/cloud-init.service.tmpl
--- cloud-init-22.1/systemd/cloud-init.service.tmpl 2023-08-04 12:47:34
+++ cloud-init-22.1.patched/systemd/cloud-init.service.tmpl 2023-08-04 13:01:39
@@ -1,7 +1,7 @@
## template:jinja
[Unit]
Description=Initial cloud-init job (metadata service crawler)
-{% if variant not in ["photon", "rhel"] %}
+{% if variant not in ["almalinux", "cloudlinux", "photon", "rhel"] %}
DefaultDependencies=no
{% endif %}
Wants=cloud-init-local.service
@@ -37,7 +37,7 @@
Conflicts=shutdown.target
{% endif %}
Before=systemd-user-sessions.service
-{% if variant == "rhel" %}
+{% if variant in ["almalinux", "cloudlinux", "rhel"] %}
ConditionPathExists=!/etc/cloud/cloud-init.disabled
ConditionKernelCommandLine=!cloud-init=disabled
{% endif %}
diff -aruN cloud-init-22.1/templates/chrony.conf.almalinux.tmpl cloud-init-22.1.patched/templates/chrony.conf.almalinux.tmpl
--- cloud-init-22.1/templates/chrony.conf.almalinux.tmpl 1970-01-01 02:00:00
+++ cloud-init-22.1.patched/templates/chrony.conf.almalinux.tmpl 2023-08-04 12:46:54
@@ -0,0 +1,45 @@
+## template:jinja
+# Use public servers from the pool.ntp.org project.
+# Please consider joining the pool (http://www.pool.ntp.org/join.html).
+{% if pools %}# pools
+{% endif %}
+{% for pool in pools -%}
+pool {{pool}} iburst
+{% endfor %}
+{%- if servers %}# servers
+{% endif %}
+{% for server in servers -%}
+server {{server}} iburst
+{% endfor %}
+
+# Record the rate at which the system clock gains/losses time.
+driftfile /var/lib/chrony/drift
+
+# Allow the system clock to be stepped in the first three updates
+# if its offset is larger than 1 second.
+makestep 1.0 3
+
+# Enable kernel synchronization of the real-time clock (RTC).
+rtcsync
+
+# Enable hardware timestamping on all interfaces that support it.
+#hwtimestamp *
+
+# Increase the minimum number of selectable sources required to adjust
+# the system clock.
+#minsources 2
+
+# Allow NTP client access from local network.
+#allow 192.168.0.0/16
+
+# Serve time even if not synchronized to a time source.
+#local stratum 10
+
+# Specify file containing keys for NTP authentication.
+#keyfile /etc/chrony.keys
+
+# Specify directory for log files.
+logdir /var/log/chrony
+
+# Select which information is logged.
+#log measurements statistics tracking
diff -aruN cloud-init-22.1/templates/chrony.conf.cloudlinux.tmpl cloud-init-22.1.patched/templates/chrony.conf.cloudlinux.tmpl
--- cloud-init-22.1/templates/chrony.conf.cloudlinux.tmpl 1970-01-01 02:00:00
+++ cloud-init-22.1.patched/templates/chrony.conf.cloudlinux.tmpl 2023-08-04 13:02:20
@@ -0,0 +1,45 @@
+## template:jinja
+# Use public servers from the pool.ntp.org project.
+# Please consider joining the pool (http://www.pool.ntp.org/join.html).
+{% if pools %}# pools
+{% endif %}
+{% for pool in pools -%}
+pool {{pool}} iburst
+{% endfor %}
+{%- if servers %}# servers
+{% endif %}
+{% for server in servers -%}
+server {{server}} iburst
+{% endfor %}
+
+# Record the rate at which the system clock gains/losses time.
+driftfile /var/lib/chrony/drift
+
+# Allow the system clock to be stepped in the first three updates
+# if its offset is larger than 1 second.
+makestep 1.0 3
+
+# Enable kernel synchronization of the real-time clock (RTC).
+rtcsync
+
+# Enable hardware timestamping on all interfaces that support it.
+#hwtimestamp *
+
+# Increase the minimum number of selectable sources required to adjust
+# the system clock.
+#minsources 2
+
+# Allow NTP client access from local network.
+#allow 192.168.0.0/16
+
+# Serve time even if not synchronized to a time source.
+#local stratum 10
+
+# Specify file containing keys for NTP authentication.
+#keyfile /etc/chrony.keys
+
+# Specify directory for log files.
+logdir /var/log/chrony
+
+# Select which information is logged.
+#log measurements statistics tracking
diff -aruN cloud-init-22.1/templates/ntp.conf.almalinux.tmpl cloud-init-22.1.patched/templates/ntp.conf.almalinux.tmpl
--- cloud-init-22.1/templates/ntp.conf.almalinux.tmpl 1970-01-01 02:00:00
+++ cloud-init-22.1.patched/templates/ntp.conf.almalinux.tmpl 2023-08-04 12:46:54
@@ -0,0 +1,61 @@
+## template:jinja
+
+# For more information about this file, see the man pages
+# ntp.conf(5), ntp_acc(5), ntp_auth(5), ntp_clock(5), ntp_misc(5), ntp_mon(5).
+
+driftfile /var/lib/ntp/drift
+
+# Permit time synchronization with our time source, but do not
+# permit the source to query or modify the service on this system.
+restrict default kod nomodify notrap nopeer noquery
+restrict -6 default kod nomodify notrap nopeer noquery
+
+# Permit all access over the loopback interface. This could
+# be tightened as well, but to do so would effect some of
+# the administrative functions.
+restrict 127.0.0.1
+restrict -6 ::1
+
+# Hosts on local network are less restricted.
+#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
+
+# Use public servers from the pool.ntp.org project.
+# Please consider joining the pool (http://www.pool.ntp.org/join.html).
+{% if pools %}# pools
+{% endif %}
+{% for pool in pools -%}
+pool {{pool}} iburst
+{% endfor %}
+{%- if servers %}# servers
+{% endif %}
+{% for server in servers -%}
+server {{server}} iburst
+{% endfor %}
+
+#broadcast 192.168.1.255 autokey # broadcast server
+#broadcastclient # broadcast client
+#broadcast 224.0.1.1 autokey # multicast server
+#multicastclient 224.0.1.1 # multicast client
+#manycastserver 239.255.254.254 # manycast server
+#manycastclient 239.255.254.254 autokey # manycast client
+
+# Enable public key cryptography.
+#crypto
+
+includefile /etc/ntp/crypto/pw
+
+# Key file containing the keys and key identifiers used when operating
+# with symmetric key cryptography.
+keys /etc/ntp/keys
+
+# Specify the key identifiers which are trusted.
+#trustedkey 4 8 42
+
+# Specify the key identifier to use with the ntpdc utility.
+#requestkey 8
+
+# Specify the key identifier to use with the ntpq utility.
+#controlkey 8
+
+# Enable writing of statistics records.
+#statistics clockstats cryptostats loopstats peerstats
diff -aruN cloud-init-22.1/templates/ntp.conf.cloudlinux.tmpl cloud-init-22.1.patched/templates/ntp.conf.cloudlinux.tmpl
--- cloud-init-22.1/templates/ntp.conf.cloudlinux.tmpl 1970-01-01 02:00:00
+++ cloud-init-22.1.patched/templates/ntp.conf.cloudlinux.tmpl 2023-08-04 13:03:08
@@ -0,0 +1,61 @@
+## template:jinja
+
+# For more information about this file, see the man pages
+# ntp.conf(5), ntp_acc(5), ntp_auth(5), ntp_clock(5), ntp_misc(5), ntp_mon(5).
+
+driftfile /var/lib/ntp/drift
+
+# Permit time synchronization with our time source, but do not
+# permit the source to query or modify the service on this system.
+restrict default kod nomodify notrap nopeer noquery
+restrict -6 default kod nomodify notrap nopeer noquery
+
+# Permit all access over the loopback interface. This could
+# be tightened as well, but to do so would effect some of
+# the administrative functions.
+restrict 127.0.0.1
+restrict -6 ::1
+
+# Hosts on local network are less restricted.
+#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
+
+# Use public servers from the pool.ntp.org project.
+# Please consider joining the pool (http://www.pool.ntp.org/join.html).
+{% if pools %}# pools
+{% endif %}
+{% for pool in pools -%}
+pool {{pool}} iburst
+{% endfor %}
+{%- if servers %}# servers
+{% endif %}
+{% for server in servers -%}
+server {{server}} iburst
+{% endfor %}
+
+#broadcast 192.168.1.255 autokey # broadcast server
+#broadcastclient # broadcast client
+#broadcast 224.0.1.1 autokey # multicast server
+#multicastclient 224.0.1.1 # multicast client
+#manycastserver 239.255.254.254 # manycast server
+#manycastclient 239.255.254.254 autokey # manycast client
+
+# Enable public key cryptography.
+#crypto
+
+includefile /etc/ntp/crypto/pw
+
+# Key file containing the keys and key identifiers used when operating
+# with symmetric key cryptography.
+keys /etc/ntp/keys
+
+# Specify the key identifiers which are trusted.
+#trustedkey 4 8 42
+
+# Specify the key identifier to use with the ntpdc utility.
+#requestkey 8
+
+# Specify the key identifier to use with the ntpq utility.
+#controlkey 8
+
+# Enable writing of statistics records.
+#statistics clockstats cryptostats loopstats peerstats
diff -aruN cloud-init-22.1/tests/unittests/test_net.py cloud-init-22.1.patched/tests/unittests/test_net.py
--- cloud-init-22.1/tests/unittests/test_net.py 2023-08-04 12:47:34
+++ cloud-init-22.1.patched/tests/unittests/test_net.py 2023-08-04 13:04:10
@@ -6254,8 +6254,10 @@
def test_sysconfig_available_uses_variant_mapping(self, m_info, m_avail):
m_avail.return_value = True
variants = [
+ "almalinux",
"suse",
"centos",
+ "cloudlinux",
"eurolinux",
"fedora",
"rhel",
diff -aruN cloud-init-22.1/tests/unittests/test_render_cloudcfg.py cloud-init-22.1.patched/tests/unittests/test_render_cloudcfg.py
--- cloud-init-22.1/tests/unittests/test_render_cloudcfg.py 2023-08-04 12:47:34
+++ cloud-init-22.1.patched/tests/unittests/test_render_cloudcfg.py 2023-08-04 13:04:48
@@ -9,9 +9,11 @@
# TODO(Look to align with tools.render-cloudcfg or cloudinit.distos.OSFAMILIES)
DISTRO_VARIANTS = [
+ "almalinux",
"amazon",
"arch",
"centos",
+ "cloudlinux",
"debian",
"eurolinux",
"fedora",
@@ -66,7 +68,9 @@
system_cfg = util.load_yaml(stream.read())
default_user_exceptions = {
+ "almalinux": "almalinux",
"amazon": "ec2-user",
+ "cloudlinux": "cloudlinux",
"debian": "ubuntu",
"rhel": "cloud-user",
"centos": "cloud-user",
diff -aruN cloud-init-22.1/tools/read-dependencies cloud-init-22.1.patched/tools/read-dependencies
--- cloud-init-22.1/tools/read-dependencies 2022-02-15 21:02:23
+++ cloud-init-22.1.patched/tools/read-dependencies 2023-08-04 13:06:19
@@ -22,7 +22,9 @@
# Map the appropriate package dir needed for each distro choice
DISTRO_PKG_TYPE_MAP = {
+ 'almalinux': 'redhat',
'centos': 'redhat',
+ 'cloudlinux': 'redhat',
'eurolinux': 'redhat',
'miraclelinux': 'redhat',
'rocky': 'redhat',
@@ -68,14 +70,18 @@
'--auto-agree-with-licenses']
DRY_DISTRO_INSTALL_PKG_CMD = {
+ 'almalinux': ['yum', 'install', '--assumeyes'],
'rocky': ['yum', 'install', '--assumeyes'],
'centos': ['yum', 'install', '--assumeyes'],
+ 'cloudlinux': ['yum', 'install', '--assumeyes'],
'eurolinux': ['yum', 'install', '--assumeyes'],
'miraclelinux': ['yum', 'install', '--assumeyes'],
'redhat': ['yum', 'install', '--assumeyes'],
}
DISTRO_INSTALL_PKG_CMD = {
+ 'almalinux': MAYBE_RELIABLE_YUM_INSTALL,
+ 'cloudlinux': MAYBE_RELIABLE_YUM_INSTALL,
'rocky': MAYBE_RELIABLE_YUM_INSTALL,
'eurolinux': MAYBE_RELIABLE_YUM_INSTALL,
'miraclelinux': MAYBE_RELIABLE_YUM_INSTALL,
@@ -90,6 +96,8 @@
# List of base system packages required to enable ci automation
CI_SYSTEM_BASE_PKGS = {
+ 'almalinux': ['python3-tox'],
+ 'cloudlinux': ['python3-tox'],
'common': ['make', 'sudo', 'tar'],
'eurolinux': ['python3-tox'],
'miraclelinux': ['python3-tox'],
@@ -285,10 +293,10 @@
cmd = DRY_DISTRO_INSTALL_PKG_CMD[distro]
install_cmd.extend(cmd)
- if distro in ['centos', 'redhat', 'rocky', 'eurolinux']:
+ if distro in ['almalinux', 'cloudlinux', 'centos', 'redhat', 'rocky', 'eurolinux']:
# CentOS and Redhat need epel-release to access oauthlib and jsonschema
subprocess.check_call(install_cmd + ['epel-release'])
- if distro in ['suse', 'opensuse', 'redhat', 'rocky', 'centos', 'eurolinux']:
+ if distro in ['almalinux', 'cloudlinux', 'suse', 'opensuse', 'redhat', 'rocky', 'centos', 'eurolinux']:
pkg_list.append('rpm-build')
subprocess.check_call(install_cmd + pkg_list)
diff -aruN cloud-init-22.1/tools/run-container cloud-init-22.1.patched/tools/run-container
--- cloud-init-22.1/tools/run-container 2022-02-15 21:02:23
+++ cloud-init-22.1.patched/tools/run-container 2023-08-04 13:07:29
@@ -102,7 +102,7 @@
}
local t=${gitdir%/*}
case "$t" in
- */worktrees)
+ */worktrees)
if [ -f "${t%worktrees}/config" ]; then
gitdir="${t%worktrees}"
fi
@@ -191,7 +191,7 @@
get_os_info() {
# run inside container, set OS_NAME, OS_VERSION
- # example OS_NAME are centos, debian, opensuse, rockylinux
+ # example OS_NAME are almalinux, centos, cloudlinux, debian, opensuse, rockylinux
[ -n "${OS_NAME:-}" -a -n "${OS_VERSION:-}" ] && return 0
if [ -f /etc/os-release ]; then
OS_NAME=$(sh -c '. /etc/os-release; echo $ID')
@@ -247,7 +247,7 @@
install_packages() {
get_os_info || return
case "$OS_NAME" in
- centos|rocky*) yum_install "$@";;
+ almalinux|centos|cloudlinux|rocky*) yum_install "$@";;
opensuse) zypper_install "$@";;
debian|ubuntu) apt_install "$@";;
*) error "Do not know how to install packages on ${OS_NAME}";
@@ -486,16 +486,16 @@
local build_pkg="" build_srcpkg="" pkg_ext="" distflag=""
case "$OS_NAME" in
- centos|rocky) distflag="--distro=redhat";;
+ almalinux|centos|cloudlinux|rocky) distflag="--distro=redhat";;
opensuse) distflag="--distro=suse";;
esac
case "$OS_NAME" in
debian|ubuntu)
- build_pkg="./packages/bddeb -d"
+ build_pkg="./packages/bddeb -d"
build_srcpkg="./packages/bddeb -S -d"
pkg_ext=".deb";;
- centos|opensuse|rocky)
+ almalinux|centos|cloudlinux|opensuse|rocky)
build_pkg="./packages/brpm $distflag"
build_srcpkg="./packages/brpm $distflag --srpm"
pkg_ext=".rpm";;

View File

@ -1,7 +1,7 @@
From a05901c035618d473ae8b2335fc7301a6d577647 Mon Sep 17 00:00:00 2001
From: Elkhan Mammadli <elkhan.mammadli@protonmail.com>
Date: Sat, 7 Oct 2023 00:47:40 +0400
Subject: [PATCH 1/1] Improvements for AlmaLinux OS and CloudLinux OS
From f4f100c0dddf1f11b239374a8dc452739b8e6a81 Mon Sep 17 00:00:00 2001
From: Andrew Lukoshko <alukoshko@almalinux.org>
Date: Thu, 28 Mar 2024 14:24:08 +0000
Subject: [PATCH] Improvements for AlmaLinux OS and CloudLinux OS
Add AlmaLinux OS and CloudLinux OS support to:
@ -14,37 +14,33 @@ Datasources:
- Rbx Cloud Datasource
Systemd services:
- cloud-config.service
- cloud-final.service
- cloud-init-local.service
- cloud-init.service
Signed-off-by: Elkhan Mammadli <elkhan.mammadli@protonmail.com>
---
cloudinit/config/cc_ca_certs.py | 8 ++++
cloudinit/config/cc_ntp.py | 11 ++---
cloudinit/config/cc_resolv_conf.py | 2 +
cloudinit/settings.py | 2 +-
cloudinit/sources/DataSourceRbxCloud.py | 2 +-
systemd/cloud-config.service.tmpl | 2 +-
systemd/cloud-final.service.tmpl | 4 +-
systemd/cloud-init-local.service.tmpl | 12 ++---
systemd/cloud-init.service.tmpl | 4 +-
templates/chrony.conf.almalinux.tmpl | 45 ++++++++++++++++++
templates/chrony.conf.cloudlinux.tmpl | 45 ++++++++++++++++++
templates/ntp.conf.almalinux.tmpl | 61 +++++++++++++++++++++++++
templates/ntp.conf.cloudlinux.tmpl | 61 +++++++++++++++++++++++++
13 files changed, 238 insertions(+), 21 deletions(-)
systemd/cloud-final.service.tmpl | 2 +-
systemd/cloud-init-local.service.tmpl | 10 ++--
systemd/cloud-init.service.tmpl | 2 +-
templates/chrony.conf.almalinux.tmpl | 51 ++++++++++++++++++++
templates/chrony.conf.cloudlinux.tmpl | 51 ++++++++++++++++++++
templates/ntp.conf.almalinux.tmpl | 64 +++++++++++++++++++++++++
templates/ntp.conf.cloudlinux.tmpl | 64 +++++++++++++++++++++++++
12 files changed, 252 insertions(+), 17 deletions(-)
create mode 100644 templates/chrony.conf.almalinux.tmpl
create mode 100644 templates/chrony.conf.cloudlinux.tmpl
create mode 100644 templates/ntp.conf.almalinux.tmpl
create mode 100644 templates/ntp.conf.cloudlinux.tmpl
diff --git a/cloudinit/config/cc_ca_certs.py b/cloudinit/config/cc_ca_certs.py
index 4dc0868..1665d30 100644
index 8d3fd9a..4dd5843 100644
--- a/cloudinit/config/cc_ca_certs.py
+++ b/cloudinit/config/cc_ca_certs.py
@@ -51,6 +51,12 @@ for distro in (
@@ -57,6 +57,12 @@ for distro in (
):
DISTRO_OVERRIDES[distro] = DISTRO_OVERRIDES["opensuse"]
@ -57,7 +53,7 @@ index 4dc0868..1665d30 100644
MODULE_DESCRIPTION = """\
This module adds CA certificates to the system's CA store and updates any
related files using the appropriate OS-specific utility. The default CA
@@ -66,6 +72,8 @@ configuration option ``remove_defaults``.
@@ -72,6 +78,8 @@ configuration option ``remove_defaults``.
order to provide the ``update-ca-certificates`` command.
"""
distros = [
@ -65,12 +61,12 @@ index 4dc0868..1665d30 100644
+ "cloudlinux",
"alpine",
"debian",
"rhel",
"fedora",
diff --git a/cloudinit/config/cc_ntp.py b/cloudinit/config/cc_ntp.py
index b5620f3..eae4099 100644
index 9eef24f..1015d43 100644
--- a/cloudinit/config/cc_ntp.py
+++ b/cloudinit/config/cc_ntp.py
@@ -110,14 +110,6 @@ DISTRO_CLIENT_CONFIG = {
@@ -109,14 +109,6 @@ DISTRO_CLIENT_CONFIG = {
"service_name": "ntpd",
},
},
@ -85,7 +81,7 @@ index b5620f3..eae4099 100644
"cos": {
"chrony": {
"service_name": "chronyd",
@@ -225,6 +217,9 @@ DISTRO_CLIENT_CONFIG = {
@@ -224,6 +216,9 @@ DISTRO_CLIENT_CONFIG = {
for distro in ("opensuse-microos", "opensuse-tumbleweed", "opensuse-leap"):
DISTRO_CLIENT_CONFIG[distro] = DISTRO_CLIENT_CONFIG["opensuse"]
@ -96,10 +92,10 @@ index b5620f3..eae4099 100644
DISTRO_CLIENT_CONFIG[distro] = DISTRO_CLIENT_CONFIG["sles"]
diff --git a/cloudinit/config/cc_resolv_conf.py b/cloudinit/config/cc_resolv_conf.py
index 4629ca7..21057a1 100644
index aa88919..4eb1d76 100644
--- a/cloudinit/config/cc_resolv_conf.py
+++ b/cloudinit/config/cc_resolv_conf.py
@@ -58,7 +58,9 @@ meta: MetaSchema = {
@@ -57,7 +57,9 @@ meta: MetaSchema = {
"title": "Configure resolv.conf",
"description": MODULE_DESCRIPTION,
"distros": [
@ -110,10 +106,10 @@ index 4629ca7..21057a1 100644
"mariner",
"opensuse",
diff --git a/cloudinit/settings.py b/cloudinit/settings.py
index edbb217..660cec3 100644
index 5ced21b..51cb115 100644
--- a/cloudinit/settings.py
+++ b/cloudinit/settings.py
@@ -60,7 +60,7 @@ CFG_BUILTIN = {
@@ -61,7 +61,7 @@ CFG_BUILTIN = {
"cloud_dir": "/var/lib/cloud",
"templates_dir": "/etc/cloud/templates/",
},
@ -123,7 +119,7 @@ index edbb217..660cec3 100644
},
"vendor_data": {"enabled": True, "prefix": []},
diff --git a/cloudinit/sources/DataSourceRbxCloud.py b/cloudinit/sources/DataSourceRbxCloud.py
index 6890562..0b3c80c 100644
index 9214f1b..14880ec 100644
--- a/cloudinit/sources/DataSourceRbxCloud.py
+++ b/cloudinit/sources/DataSourceRbxCloud.py
@@ -60,7 +60,7 @@ def _sub_arp(cmd):
@ -135,33 +131,11 @@ index 6890562..0b3c80c 100644
source_param = "-s"
for item in items:
try:
diff --git a/systemd/cloud-config.service.tmpl b/systemd/cloud-config.service.tmpl
index d5568a6..a4d6038 100644
--- a/systemd/cloud-config.service.tmpl
+++ b/systemd/cloud-config.service.tmpl
@@ -4,7 +4,7 @@ Description=Apply the settings specified in cloud-config
After=network-online.target cloud-config.target
After=snapd.seeded.service
Wants=network-online.target cloud-config.target
-{% if variant == "rhel" %}
+{% if variant in ["almalinux", "cloudlinux", "rhel"] %}
ConditionPathExists=!/etc/cloud/cloud-init.disabled
ConditionKernelCommandLine=!cloud-init=disabled
{% endif %}
diff --git a/systemd/cloud-final.service.tmpl b/systemd/cloud-final.service.tmpl
index 85f423a..578c7f4 100644
index bcf8b00..6d34761 100644
--- a/systemd/cloud-final.service.tmpl
+++ b/systemd/cloud-final.service.tmpl
@@ -7,7 +7,7 @@ After=multi-user.target
Before=apt-daily.service
{% endif %}
Wants=network-online.target cloud-config.service
-{% if variant == "rhel" %}
+{% if variant in ["almalinux", "cloudlinux", "rhel"] %}
ConditionPathExists=!/etc/cloud/cloud-init.disabled
ConditionKernelCommandLine=!cloud-init=disabled
{% endif %}
@@ -19,7 +19,7 @@ ExecStart=/usr/bin/cloud-init modules --mode=final
@@ -18,7 +18,7 @@ ExecStart=/usr/bin/cloud-init modules --mode=final
RemainAfterExit=yes
TimeoutSec=0
KillMode=process
@ -171,7 +145,7 @@ index 85f423a..578c7f4 100644
ExecStartPost=/bin/sh -c 'u=NetworkManager.service; \
out=$(systemctl show --property=SubState $u) || exit; \
diff --git a/systemd/cloud-init-local.service.tmpl b/systemd/cloud-init-local.service.tmpl
index 6f3f9d8..f5521c4 100644
index 3a1ca7f..853ae2c 100644
--- a/systemd/cloud-init-local.service.tmpl
+++ b/systemd/cloud-init-local.service.tmpl
@@ -1,23 +1,23 @@
@ -202,15 +176,7 @@ index 6f3f9d8..f5521c4 100644
Before=firewalld.target
Conflicts=shutdown.target
{% endif %}
@@ -26,14 +26,14 @@ Before=sysinit.target
Conflicts=shutdown.target
{% endif %}
RequiresMountsFor=/var/lib/cloud
-{% if variant == "rhel" %}
+{% if variant in ["almalinux", "cloudlinux", "rhel"] %}
ConditionPathExists=!/etc/cloud/cloud-init.disabled
ConditionKernelCommandLine=!cloud-init=disabled
{% endif %}
@@ -32,7 +32,7 @@ ConditionEnvironment=!KERNEL_CMDLINE=cloud-init=disabled
[Service]
Type=oneshot
@ -220,7 +186,7 @@ index 6f3f9d8..f5521c4 100644
ExecStartPre=/sbin/restorecon /run/cloud-init
ExecStartPre=/usr/bin/touch /run/cloud-init/enabled
diff --git a/systemd/cloud-init.service.tmpl b/systemd/cloud-init.service.tmpl
index 1b1f9a8..875555d 100644
index bf91164..1ae88f7 100644
--- a/systemd/cloud-init.service.tmpl
+++ b/systemd/cloud-init.service.tmpl
@@ -1,7 +1,7 @@
@ -232,21 +198,12 @@ index 1b1f9a8..875555d 100644
DefaultDependencies=no
{% endif %}
Wants=cloud-init-local.service
@@ -39,7 +39,7 @@ Before=shutdown.target
Conflicts=shutdown.target
{% endif %}
Before=systemd-user-sessions.service
-{% if variant == "rhel" %}
+{% if variant in ["almalinux", "cloudlinux", "rhel"] %}
ConditionPathExists=!/etc/cloud/cloud-init.disabled
ConditionKernelCommandLine=!cloud-init=disabled
{% endif %}
diff --git a/templates/chrony.conf.almalinux.tmpl b/templates/chrony.conf.almalinux.tmpl
new file mode 100644
index 0000000..5b3542e
index 0000000..43b1f5d
--- /dev/null
+++ b/templates/chrony.conf.almalinux.tmpl
@@ -0,0 +1,45 @@
@@ -0,0 +1,51 @@
+## template:jinja
+# Use public servers from the pool.ntp.org project.
+# Please consider joining the pool (http://www.pool.ntp.org/join.html).
@ -260,6 +217,12 @@ index 0000000..5b3542e
+{% for server in servers -%}
+server {{server}} iburst
+{% endfor %}
+{% for peer in peers -%}
+peer {{peer}}
+{% endfor %}
+{% for a in allow -%}
+allow {{a}}
+{% endfor %}
+
+# Record the rate at which the system clock gains/losses time.
+driftfile /var/lib/chrony/drift
@ -294,10 +257,10 @@ index 0000000..5b3542e
+#log measurements statistics tracking
diff --git a/templates/chrony.conf.cloudlinux.tmpl b/templates/chrony.conf.cloudlinux.tmpl
new file mode 100644
index 0000000..5b3542e
index 0000000..43b1f5d
--- /dev/null
+++ b/templates/chrony.conf.cloudlinux.tmpl
@@ -0,0 +1,45 @@
@@ -0,0 +1,51 @@
+## template:jinja
+# Use public servers from the pool.ntp.org project.
+# Please consider joining the pool (http://www.pool.ntp.org/join.html).
@ -311,6 +274,12 @@ index 0000000..5b3542e
+{% for server in servers -%}
+server {{server}} iburst
+{% endfor %}
+{% for peer in peers -%}
+peer {{peer}}
+{% endfor %}
+{% for a in allow -%}
+allow {{a}}
+{% endfor %}
+
+# Record the rate at which the system clock gains/losses time.
+driftfile /var/lib/chrony/drift
@ -345,10 +314,10 @@ index 0000000..5b3542e
+#log measurements statistics tracking
diff --git a/templates/ntp.conf.almalinux.tmpl b/templates/ntp.conf.almalinux.tmpl
new file mode 100644
index 0000000..62b4776
index 0000000..9884df5
--- /dev/null
+++ b/templates/ntp.conf.almalinux.tmpl
@@ -0,0 +1,61 @@
@@ -0,0 +1,64 @@
+## template:jinja
+
+# For more information about this file, see the man pages
@ -382,6 +351,9 @@ index 0000000..62b4776
+{% for server in servers -%}
+server {{server}} iburst
+{% endfor %}
+{% for peer in peers -%}
+peer {{peer}}
+{% endfor %}
+
+#broadcast 192.168.1.255 autokey # broadcast server
+#broadcastclient # broadcast client
@ -412,10 +384,10 @@ index 0000000..62b4776
+#statistics clockstats cryptostats loopstats peerstats
diff --git a/templates/ntp.conf.cloudlinux.tmpl b/templates/ntp.conf.cloudlinux.tmpl
new file mode 100644
index 0000000..62b4776
index 0000000..9884df5
--- /dev/null
+++ b/templates/ntp.conf.cloudlinux.tmpl
@@ -0,0 +1,61 @@
@@ -0,0 +1,64 @@
+## template:jinja
+
+# For more information about this file, see the man pages
@ -449,6 +421,9 @@ index 0000000..62b4776
+{% for server in servers -%}
+server {{server}} iburst
+{% endfor %}
+{% for peer in peers -%}
+peer {{peer}}
+{% endfor %}
+
+#broadcast 192.168.1.255 autokey # broadcast server
+#broadcastclient # broadcast client
@ -478,5 +453,5 @@ index 0000000..62b4776
+# Enable writing of statistics records.
+#statistics clockstats cryptostats loopstats peerstats
--
2.41.0
2.27.0

View File

@ -1,6 +1,6 @@
Name: cloud-init
Version: 23.4
Release: 6%{?dist}.alma
Release: 6%{?dist}.alma.1
Summary: Cloud instance init scripts
License: ASL 2.0 or GPLv3
URL: http://launchpad.net/cloud-init
@ -240,13 +240,14 @@ fi
%config(noreplace) %{_sysconfdir}/rsyslog.d/21-cloudinit.conf
%changelog
* Thu Mar 28 2024 Elkhan Mammadli <elkhan@almalinux.org> - 23.4-6.alma
* Thu Mar 28 2024 Elkhan Mammadli <elkhan@almalinux.org> - 23.4-6.alma.1
- 0031-Improvements-for-AlmaLinux-OS-and-CloudLinux-OS.patch
* Mon Feb 26 2024 Miroslav Rezanina <mrezanin@redhat.com> - 23.4-6
- ci-fix-Add-types-to-network-v1-schema-4841.patch [RHEL-21324]
- Resolves: RHEL-21324
([rhel-9] The schema WARNING info for network-config.json is not suitable in cloud-init-23.4)
* Mon Feb 19 2024 Miroslav Rezanina <mrezanin@redhat.com> - 23.4-5
- ci-Revert-Use-grep-for-faster-parsing-of-cloud-config-i.patch [RHEL-22255]
- Resolves: RHEL-22255
@ -335,6 +336,7 @@ fi
- ci-Allow-growpart-to-resize-encrypted-partitions-1316.patch [bz#2166245]
- Resolves: bz#2166245
(Add support for resizing encrypted root volume)
* Fri Jan 27 2023 Camilla Conte <cconte@redhat.com> - 22.1-8
- ci-cc_set_hostname-ignore-var-lib-cloud-data-set-hostna.patch [bz#2140893]
- Resolves: bz#2140893