From ea306d2848490f3c962a2d80b88fc8dbe7c0ef84 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: xiachen RH-MergeRequest: 100: fix: add schema rules for 'baseurl' and 'metalink' in yum repo config (#5501) RH-Jira: RHEL-46874 RH-Acked-by: Ani Sinha RH-Acked-by: Emanuele Giuseppe Esposito RH-Commit: [1/1] 81ae8cf649785c5fb6296ca9d552248e6afb2960 (xiachen/cloud-init-centos) 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) Signed-off-by: Amy Chen --- .../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 3cf7aaf8..5758777a 100644 --- a/cloudinit/config/schemas/schema-cloud-config-v1.json +++ b/cloudinit/config/schemas/schema-cloud-config-v1.json @@ -3434,6 +3434,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." @@ -3461,8 +3466,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