From 00d4f3e1c82fc58dec865e7ec3c2ead5ec19ce23 Mon Sep 17 00:00:00 2001 From: Yaakov Selkowitz Date: Mon, 3 Jun 2024 16:02:54 -0400 Subject: [PATCH] Do not inherit repositories in addons An addon repository does not necessarily want the same repos or exclusions as its base, and vice versa. For example, ELN should really not include Extras, and a lot of unwanted packages that we want to filter from Buildroot or Rawhide may still be eligible for ELN Extras. --- feedback_pipeline.py | 2 +- test_configs/repo-eln-extras.yaml | 105 ++++++++++++++++++++++++++++++ test_configs/repo-eln.yaml | 6 -- test_configs/view-eln-extras.yaml | 5 ++ 4 files changed, 111 insertions(+), 7 deletions(-) create mode 100644 test_configs/repo-eln-extras.yaml diff --git a/feedback_pipeline.py b/feedback_pipeline.py index 8a1a92f..4f46e22 100755 --- a/feedback_pipeline.py +++ b/feedback_pipeline.py @@ -685,6 +685,7 @@ def _load_config_addon_view(document_id, document, settings): # Choose one repository that gets used as a source. config["base_view_id"] = str(document["data"]["base_view_id"]) + config["repository"] = str(document["data"]["repository"]) except KeyError: raise ConfigError("'{file}.yaml' - There's something wrong with the mandatory fields. Sorry I don't have more specific info.".format(file=document_id)) @@ -1131,7 +1132,6 @@ def get_configs(settings): # Ading some extra fields onto the addon view - configs["views"][view_conf_id]["repository"] = configs["views"][base_view_id]["repository"] configs["views"][view_conf_id]["architectures"] = configs["views"][base_view_id]["architectures"] # Adjust view architecture based on repository architectures diff --git a/test_configs/repo-eln-extras.yaml b/test_configs/repo-eln-extras.yaml new file mode 100644 index 0000000..d5cfb45 --- /dev/null +++ b/test_configs/repo-eln-extras.yaml @@ -0,0 +1,105 @@ +--- +document: feedback-pipeline-repository +version: 2 +data: + name: Fedora ELN Extras (backed by rawhide) + description: Fedora ELN Extras, based on ELN with rawhide as a backup for missing packages + maintainer: asamalik + source: + + repos: + + BaseOS: + baseurl: https://odcs.fedoraproject.org/composes/production/latest-Fedora-ELN/compose/BaseOS/$basearch/os/ + koji_api_url: https://koji.fedoraproject.org/kojihub + koji_files_url: https://kojipkgs.fedoraproject.org + exclude: ["exim", "esmtp", "opensmtpd", "esmtp-local-delivery"] + priority: 1 + + AppStream: + baseurl: https://odcs.fedoraproject.org/composes/production/latest-Fedora-ELN/compose/AppStream/$basearch/os/ + koji_api_url: https://koji.fedoraproject.org/kojihub + koji_files_url: https://kojipkgs.fedoraproject.org + exclude: ["exim", "esmtp", "opensmtpd", "esmtp-local-delivery"] + priority: 1 + + CRB: + baseurl: https://odcs.fedoraproject.org/composes/production/latest-Fedora-ELN/compose/CRB/$basearch/os/ + koji_api_url: https://koji.fedoraproject.org/kojihub + koji_files_url: https://kojipkgs.fedoraproject.org + exclude: ["exim", "esmtp", "opensmtpd", "esmtp-local-delivery"] + priority: 1 + + HighAvailability: + baseurl: https://odcs.fedoraproject.org/composes/production/latest-Fedora-ELN/compose/HighAvailability/$basearch/os/ + koji_api_url: https://koji.fedoraproject.org/kojihub + koji_files_url: https://kojipkgs.fedoraproject.org + exclude: ["exim", "esmtp", "opensmtpd", "esmtp-local-delivery"] + limit_arches: ["aarch64", "ppc64le", "s390x", "x86_64"] + priority: 2 + + NFV: + baseurl: https://odcs.fedoraproject.org/composes/production/latest-Fedora-ELN/compose/NFV/$basearch/os/ + koji_api_url: https://koji.fedoraproject.org/kojihub + koji_files_url: https://kojipkgs.fedoraproject.org + exclude: ["exim", "esmtp", "opensmtpd", "esmtp-local-delivery"] + limit_arches: ["x86_64"] + priority: 2 + + RT: + baseurl: https://odcs.fedoraproject.org/composes/production/latest-Fedora-ELN/compose/RT/$basearch/os/ + priority: 50 + koji_api_url: https://koji.fedoraproject.org/kojihub + koji_files_url: https://kojipkgs.fedoraproject.org + exclude: ["exim", "esmtp", "opensmtpd", "esmtp-local-delivery"] + limit_arches: ["x86_64"] + + ResilientStorage: + baseurl: https://odcs.fedoraproject.org/composes/production/latest-Fedora-ELN/compose/ResilientStorage/$basearch/os/ + priority: 50 + koji_api_url: https://koji.fedoraproject.org/kojihub + koji_files_url: https://kojipkgs.fedoraproject.org + exclude: ["exim", "esmtp", "opensmtpd", "esmtp-local-delivery"] + limit_arches: ["ppc64le", "s390x", "x86_64"] + + SAP: + baseurl: https://odcs.fedoraproject.org/composes/production/latest-Fedora-ELN/compose/SAP/$basearch/os/ + koji_api_url: https://koji.fedoraproject.org/kojihub + koji_files_url: https://kojipkgs.fedoraproject.org + exclude: ["exim", "esmtp", "opensmtpd", "esmtp-local-delivery"] + limit_arches: ["ppc64le", "s390x", "x86_64"] + priority: 2 + + SAPHANA: + baseurl: https://odcs.fedoraproject.org/composes/production/latest-Fedora-ELN/compose/SAPHANA/$basearch/os/ + koji_api_url: https://koji.fedoraproject.org/kojihub + koji_files_url: https://kojipkgs.fedoraproject.org + exclude: ["exim", "esmtp", "opensmtpd", "esmtp-local-delivery"] + limit_arches: ["ppc64le", "x86_64"] + priority: 2 + + Extras: + baseurl: https://odcs.fedoraproject.org/composes/production/latest-Fedora-ELN/compose/Extras/$basearch/os/ + koji_api_url: https://koji.fedoraproject.org/kojihub + koji_files_url: https://kojipkgs.fedoraproject.org + exclude: ["exim", "esmtp", "opensmtpd", "esmtp-local-delivery"] + priority: 3 + + Rawhide: + baseurl: https://kojipkgs.fedoraproject.org/compose/rawhide/latest-Fedora-Rawhide/compose/Everything/$basearch/os/ + koji_api_url: https://koji.fedoraproject.org/kojihub + koji_files_url: https://kojipkgs.fedoraproject.org + exclude: ["exim", "esmtp", "opensmtpd", "esmtp-local-delivery"] + priority: 4 + + + releasever: "rawhide" + + architectures: + - aarch64 + - x86_64 + + composeinfo: https://odcs.fedoraproject.org/composes/production/latest-Fedora-ELN/compose/metadata/composeinfo.json + + # These are just packages for local testing + base_buildroot_override: ['bash', 'bzip2', 'coreutils', 'unzip'] diff --git a/test_configs/repo-eln.yaml b/test_configs/repo-eln.yaml index fd542f8..1653c46 100644 --- a/test_configs/repo-eln.yaml +++ b/test_configs/repo-eln.yaml @@ -78,12 +78,6 @@ data: limit_arches: ["ppc64le", "x86_64"] priority: 2 - Extras: - baseurl: https://odcs.fedoraproject.org/composes/production/latest-Fedora-ELN/compose/Extras/$basearch/os/ - koji_api_url: https://koji.fedoraproject.org/kojihub - koji_files_url: https://kojipkgs.fedoraproject.org - exclude: ["exim", "esmtp", "opensmtpd", "esmtp-local-delivery"] - priority: 3 Rawhide: baseurl: https://kojipkgs.fedoraproject.org/compose/rawhide/latest-Fedora-Rawhide/compose/Everything/$basearch/os/ diff --git a/test_configs/view-eln-extras.yaml b/test_configs/view-eln-extras.yaml index 62164dc..d69256f 100644 --- a/test_configs/view-eln-extras.yaml +++ b/test_configs/view-eln-extras.yaml @@ -35,6 +35,11 @@ data: # (mandatory field) base_view_id: view-eln + # ID of the repositories where this addon and its base are shipped. + # + # (mandatory field) + repository: repo-eln-extras + # Labels connect things together. # Workloads get installed in environments with the same label. # They also get included in views with the same label.