diff --git a/ci-fix-add-schema-rules-for-baseurl-and-metalink-in-yum.patch b/ci-fix-add-schema-rules-for-baseurl-and-metalink-in-yum.patch new file mode 100644 index 0000000..775f9c6 --- /dev/null +++ b/ci-fix-add-schema-rules-for-baseurl-and-metalink-in-yum.patch @@ -0,0 +1,66 @@ +From ed3c05af60c0d50a4576a63c8638e148e58ebf06 Mon Sep 17 00:00:00 2001 +From: Ani Sinha +Date: Thu, 11 Jul 2024 00:49:58 +0530 +Subject: [PATCH] fix: add schema rules for 'baseurl' and 'metalink' in yum + repo config (#5501) + +RH-Author: Ani Sinha +RH-MergeRequest: 101: fix: add schema rules for 'baseurl' and 'metalink' in yum repo config (#5501) +RH-Jira: RHEL-46873 +RH-Acked-by: Emanuele Giuseppe Esposito +RH-Acked-by: xiachen +RH-Commit: [1/1] df01c93fde517e66ce71a66f80ee54d3ed504906 (anisinha/cloud-init) + +At least one of (or both) 'baseurl' or 'metalink' should be provided for yum +repository specification. Add schema changes to enforce it. Without this, +with just 'metalink' property set, one would get the schema validator error + +\--- +Error: Cloud config schema errors: yum_repos.epel-release: 'baseurl' is a required property +\--- + +Signed-off-by: Ani Sinha +(cherry picked from commit 7d35664ef8b85840f92f18cc48187f7284d227bc) +--- + .../config/schemas/schema-cloud-config-v1.json | 18 ++++++++++++++++-- + 1 file changed, 16 insertions(+), 2 deletions(-) + +diff --git a/cloudinit/config/schemas/schema-cloud-config-v1.json b/cloudinit/config/schemas/schema-cloud-config-v1.json +index 03e723e2..4fb7fd93 100644 +--- a/cloudinit/config/schemas/schema-cloud-config-v1.json ++++ b/cloudinit/config/schemas/schema-cloud-config-v1.json +@@ -3442,6 +3442,11 @@ + "format": "uri", + "description": "URL to the directory where the yum repository's 'repodata' directory lives" + }, ++ "metalink": { ++ "type": "string", ++ "format": "uri", ++ "description": "Specifies a URL to a metalink file for the repomd.xml" ++ }, + "name": { + "type": "string", + "description": "Optional human-readable name of the yum repo." +@@ -3469,8 +3474,17 @@ + "description": "Any supported yum repository configuration options will be written to the yum repo config file. See: man yum.conf" + } + }, +- "required": [ +- "baseurl" ++ "anyOf": [ ++ { ++ "required": [ ++ "baseurl" ++ ] ++ }, ++ { ++ "required": [ ++ "metalink" ++ ] ++ } + ] + } + } +-- +2.39.3 + diff --git a/cloud-init.spec b/cloud-init.spec index 6f9b793..9d93a04 100644 --- a/cloud-init.spec +++ b/cloud-init.spec @@ -1,6 +1,6 @@ Name: cloud-init Version: 23.4 -Release: 15%{?dist} +Release: 16%{?dist} Summary: Cloud instance init scripts License: ASL 2.0 or GPLv3 URL: http://launchpad.net/cloud-init @@ -57,6 +57,8 @@ Patch27: ci-fix-schema-permit-deprecated-hyphenated-keys-under-u.patch Patch28: ci-Support-metalink-in-yum-repository-config-5444.patch # For RHEL-46194 - [RHEL-9] It leaves the ipv6 networking config as blank in NM keyfile when config dhcp ipv6 with customization spec Patch29: ci-fix-vmware-Set-IPv6-to-dhcp-when-there-is-no-IPv6-ad.patch +# For RHEL-46873 - Suggest to update schema to support metalink +Patch30: ci-fix-add-schema-rules-for-baseurl-and-metalink-in-yum.patch BuildArch: noarch @@ -271,6 +273,11 @@ fi %config(noreplace) %{_sysconfdir}/rsyslog.d/21-cloudinit.conf %changelog +* Fri Jul 12 2024 Miroslav Rezanina - 23.4-16 +- ci-fix-add-schema-rules-for-baseurl-and-metalink-in-yum.patch [RHEL-46873] +- Resolves: RHEL-46873 + (Suggest to update schema to support metalink) + * Mon Jul 08 2024 Miroslav Rezanina - 23.4-15 - ci-Support-metalink-in-yum-repository-config-5444.patch [RHEL-44916] - ci-fix-vmware-Set-IPv6-to-dhcp-when-there-is-no-IPv6-ad.patch [RHEL-46194]