Provide a way to differentiate Beta vs RC compose in .composeinfo file #9841

Closed
opened 2020-11-05 16:20:59 +00:00 by mohanboddu · 10 comments
Contributor
  • Describe the issue
    The .composeinfo file generated for the Beta and RC doesn't specify which is Beta and which is RC, for those who consume the content using the .composeinfo file, its harder to differentiate what is what.

It would be helpful to provide a way to identify these composes in .composeinfo file

  • When do you need this? (YYYY/MM/DD)
    F34 Beta

  • If we cannot complete your request, what is the impact?
    Its hard to consume the composes and differentiate between them

* Describe the issue The .composeinfo file generated for the Beta and RC doesn't specify which is Beta and which is RC, for those who consume the content using the .composeinfo file, its harder to differentiate what is what. It would be helpful to provide a way to identify these composes in .composeinfo file * When do you need this? (YYYY/MM/DD) F34 Beta * If we cannot complete your request, what is the impact? Its hard to consume the composes and differentiate between them
Author
Contributor

Metadata Update from @mohanboddu:

  • Issue tagged with: dev, high-trouble, medium-gain
**Metadata Update from @mohanboddu**: - Issue tagged with: dev, high-trouble, medium-gain

When the Beta is released and lands in each of RH Beaker labs it get imported to the pxe menu as 'fedora-33' since it uses .composeinfo for naming. When the GOLD is released it is ignored since it is also identified at 'fedora-33' in the .composeinfo. Someone will request GOLD be imported and that is handled manually. Problem occurs at this point at the pxe is already populated w/ the initrd and kernel from the Beta and is a mismatch w/ GOLD. pxe menu does not get updated as it sees fedora-33 already populated in the menu. The mismatch causes pxe installs / beaker jobs to fail. Clean up is required. This or something similar happens every fedora release. Many hours could be recovered if we only had a distinction in the .composeinfo for the 'name' for Beta and GOLD. Perhaps fedora-33-Beta and Fedora-33.

When the Beta is released and lands in each of RH Beaker labs it get imported to the pxe menu as 'fedora-33' since it uses .composeinfo for naming. When the GOLD is released it is ignored since it is also identified at 'fedora-33' in the .composeinfo. Someone will request GOLD be imported and that is handled manually. Problem occurs at this point at the pxe is already populated w/ the initrd and kernel from the Beta and is a mismatch w/ GOLD. pxe menu does not get updated as it sees fedora-33 already populated in the menu. The mismatch causes pxe installs / beaker jobs to fail. Clean up is required. This or something similar happens every fedora release. Many hours could be recovered if we only had a distinction in the .composeinfo for the 'name' for Beta and GOLD. Perhaps fedora-33-Beta and Fedora-33.

Safe to say this was not ready by F34 Beta. Is this still something that's needed? If not I recommend we close this.

Safe to say this was not ready by F34 Beta. Is this still something that's needed? If not I recommend we close this.
Owner

We are still unable to differentiate the composes based on the .composeinfo file so this is useful feature.

We are still unable to differentiate the composes based on the .composeinfo file so this is useful feature.
jnsamyak added this to the Backlog project 2026-03-19 11:56:33 +00:00
Owner

Looking at and discussing this in the refinement call today, we discussed this that we need to update the composeinfo file to show which release it belong to, can work on the nomenclature. but something like below:

[product]
family = Fedora
name = Fedora-44
version = 44
release_type = Final // Beta ---------------------------------> needs to be added
variants = COSMIC-Atomic,Kinoite,Sericea,Silverblue,Onyx,Everything,Server
Looking at and discussing this in the refinement call today, we discussed this that we need to update the composeinfo file to show which release it belong to, can work on the nomenclature. but something like below: ``` [product] family = Fedora name = Fedora-44 version = 44 release_type = Final // Beta ---------------------------------> needs to be added variants = COSMIC-Atomic,Kinoite,Sericea,Silverblue,Onyx,Everything,Server ```
Member

I think we should try to match the format for RHEL composes here better, there are substantial discrepancies. RHers can access RHEL composes to compare, ping me if you don't know the URL (I'm not sure whether I'm allowed to post it publicly).

I think we should try to match the format for RHEL composes here better, there are substantial discrepancies. RHers can access RHEL composes to compare, ping me if you don't know the URL (I'm not sure whether I'm allowed to post it publicly).
Owner

Sure thing!

Sure thing!
Owner

Okay I did my due dilegence and talked over where were things, finally I come up with the workaround, and the output for filetype look like this

[compose]
date = 20260710
id = Fedora-Rawhide-20260710.n.0
respin = 0
type = nightly

[product]
family = Fedora
name = Fedora-Rawhide-20260710.n.0
short = Fedora
type = ga
variants = BudgieAtomic,COSMICAtomic,Cloud,Container,Everything,KDE,Kinoite,Labs,Server,Silverblue,Spins,SwayAtomic,Workstation
version = Rawhide
release_type = Final

[variant-Budgie-Atomic]
arches = x86_64
id = BudgieAtomic
name = Budgie-Atomic
type = variant
uid = Budgie-Atomic

[variant-Budgie-Atomic.x86_64]
iso_dir = Budgie-Atomic/x86_64/iso
isos = Budgie-Atomic/x86_64/iso

[variant-COSMIC-Atomic]
arches = aarch64,x86_64
id = COSMICAtomic
name = COSMIC-Atomic
type = variant
uid = COSMIC-Atomic

[variant-COSMIC-Atomic.aarch64]
iso_dir = COSMIC-Atomic/aarch64/iso
isos = COSMIC-Atomic/aarch64/iso

[variant-COSMIC-Atomic.x86_64]
iso_dir = COSMIC-Atomic/x86_64/iso
isos = COSMIC-Atomic/x86_64/iso

[variant-Cloud]
arches = aarch64,ppc64le,s390x,x86_64
id = Cloud
name = Cloud
type = variant
uid = Cloud

[variant-Cloud.aarch64]

[variant-Cloud.ppc64le]

[variant-Cloud.s390x]

[variant-Cloud.x86_64]

[variant-Container]
arches = aarch64,ppc64le,s390x,x86_64
id = Container
name = Container
type = variant
uid = Container

[variant-Container.aarch64]

[variant-Container.ppc64le]

[variant-Container.s390x]

[variant-Container.x86_64]

[variant-Everything]
arches = aarch64,ppc64le,s390x,x86_64
id = Everything
name = Everything
type = variant
uid = Everything

[variant-Everything.aarch64]
debug_dir = Everything/aarch64/debug/tree
debug_packages = Everything/aarch64/debug/tree/Packages
debug_repository = Everything/aarch64/debug/tree
debug_tree = Everything/aarch64/debug/tree
debuginfo = Everything/aarch64/debug/tree
iso_dir = Everything/aarch64/iso
isos = Everything/aarch64/iso
os_dir = Everything/aarch64/os
os_tree = Everything/aarch64/os
packages = Everything/aarch64/os/Packages
repository = Everything/aarch64/os
source_dir = Everything/source/tree
source_packages = Everything/source/tree/Packages
source_repository = Everything/source/tree
source_tree = Everything/source/tree

[variant-Everything.ppc64le]
debug_dir = Everything/ppc64le/debug/tree
debug_packages = Everything/ppc64le/debug/tree/Packages
debug_repository = Everything/ppc64le/debug/tree
debug_tree = Everything/ppc64le/debug/tree
debuginfo = Everything/ppc64le/debug/tree
iso_dir = Everything/ppc64le/iso
isos = Everything/ppc64le/iso
os_dir = Everything/ppc64le/os
os_tree = Everything/ppc64le/os
packages = Everything/ppc64le/os/Packages
repository = Everything/ppc64le/os
source_dir = Everything/source/tree
source_packages = Everything/source/tree/Packages
source_repository = Everything/source/tree
source_tree = Everything/source/tree

[variant-Everything.s390x]
debug_dir = Everything/s390x/debug/tree
debug_packages = Everything/s390x/debug/tree/Packages
debug_repository = Everything/s390x/debug/tree
debug_tree = Everything/s390x/debug/tree
debuginfo = Everything/s390x/debug/tree
iso_dir = Everything/s390x/iso
isos = Everything/s390x/iso
os_dir = Everything/s390x/os
os_tree = Everything/s390x/os
packages = Everything/s390x/os/Packages
repository = Everything/s390x/os
source_dir = Everything/source/tree
source_packages = Everything/source/tree/Packages
source_repository = Everything/source/tree
source_tree = Everything/source/tree

[variant-Everything.x86_64]
debug_dir = Everything/x86_64/debug/tree
debug_packages = Everything/x86_64/debug/tree/Packages
debug_repository = Everything/x86_64/debug/tree
debug_tree = Everything/x86_64/debug/tree
debuginfo = Everything/x86_64/debug/tree
iso_dir = Everything/x86_64/iso
isos = Everything/x86_64/iso
os_dir = Everything/x86_64/os
os_tree = Everything/x86_64/os
packages = Everything/x86_64/os/Packages
repository = Everything/x86_64/os
source_dir = Everything/source/tree
source_packages = Everything/source/tree/Packages
source_repository = Everything/source/tree
source_tree = Everything/source/tree

[variant-KDE]
arches = aarch64,ppc64le,x86_64
id = KDE
name = KDE
type = variant
uid = KDE

[variant-KDE.aarch64]
iso_dir = KDE/aarch64/iso
isos = KDE/aarch64/iso

[variant-KDE.ppc64le]
iso_dir = KDE/ppc64le/iso
isos = KDE/ppc64le/iso

[variant-KDE.x86_64]
iso_dir = KDE/x86_64/iso
isos = KDE/x86_64/iso

[variant-Kinoite]
arches = aarch64,x86_64
id = Kinoite
name = Kinoite
type = variant
uid = Kinoite

[variant-Kinoite.aarch64]
iso_dir = Kinoite/aarch64/iso
isos = Kinoite/aarch64/iso

[variant-Kinoite.x86_64]
iso_dir = Kinoite/x86_64/iso
isos = Kinoite/x86_64/iso

[variant-Labs]
arches = aarch64,x86_64
id = Labs
name = Labs
type = variant
uid = Labs

[variant-Labs.aarch64]
iso_dir = Labs/aarch64/iso
isos = Labs/aarch64/iso

[variant-Labs.x86_64]
iso_dir = Labs/x86_64/iso
isos = Labs/x86_64/iso

[variant-Server]
arches = aarch64,ppc64le,s390x,x86_64
id = Server
name = Server
type = variant
uid = Server

[variant-Server.aarch64]
debug_dir = Server/aarch64/debug/tree
debug_packages = Server/aarch64/debug/tree/Packages
debug_repository = Server/aarch64/debug/tree
debug_tree = Server/aarch64/debug/tree
debuginfo = Server/aarch64/debug/tree
iso_dir = Server/aarch64/iso
isos = Server/aarch64/iso
os_dir = Server/aarch64/os
os_tree = Server/aarch64/os
packages = Server/aarch64/os/Packages
repository = Server/aarch64/os
source_dir = Server/source/tree
source_packages = Server/source/tree/Packages
source_repository = Server/source/tree
source_tree = Server/source/tree

[variant-Server.ppc64le]
debug_dir = Server/ppc64le/debug/tree
debug_packages = Server/ppc64le/debug/tree/Packages
debug_repository = Server/ppc64le/debug/tree
debug_tree = Server/ppc64le/debug/tree
debuginfo = Server/ppc64le/debug/tree
iso_dir = Server/ppc64le/iso
isos = Server/ppc64le/iso
os_dir = Server/ppc64le/os
os_tree = Server/ppc64le/os
packages = Server/ppc64le/os/Packages
repository = Server/ppc64le/os
source_dir = Server/source/tree
source_packages = Server/source/tree/Packages
source_repository = Server/source/tree
source_tree = Server/source/tree

[variant-Server.s390x]
debug_dir = Server/s390x/debug/tree
debug_packages = Server/s390x/debug/tree/Packages
debug_repository = Server/s390x/debug/tree
debug_tree = Server/s390x/debug/tree
debuginfo = Server/s390x/debug/tree
iso_dir = Server/s390x/iso
isos = Server/s390x/iso
os_dir = Server/s390x/os
os_tree = Server/s390x/os
packages = Server/s390x/os/Packages
repository = Server/s390x/os
source_dir = Server/source/tree
source_packages = Server/source/tree/Packages
source_repository = Server/source/tree
source_tree = Server/source/tree

[variant-Server.x86_64]
debug_dir = Server/x86_64/debug/tree
debug_packages = Server/x86_64/debug/tree/Packages
debug_repository = Server/x86_64/debug/tree
debug_tree = Server/x86_64/debug/tree
debuginfo = Server/x86_64/debug/tree
iso_dir = Server/x86_64/iso
isos = Server/x86_64/iso
os_dir = Server/x86_64/os
os_tree = Server/x86_64/os
packages = Server/x86_64/os/Packages
repository = Server/x86_64/os
source_dir = Server/source/tree
source_packages = Server/source/tree/Packages
source_repository = Server/source/tree
source_tree = Server/source/tree

[variant-Silverblue]
arches = aarch64,x86_64
id = Silverblue
name = Silverblue
type = variant
uid = Silverblue

[variant-Silverblue.aarch64]
iso_dir = Silverblue/aarch64/iso
isos = Silverblue/aarch64/iso

[variant-Silverblue.x86_64]
iso_dir = Silverblue/x86_64/iso
isos = Silverblue/x86_64/iso

[variant-Spins]
arches = aarch64,x86_64
id = Spins
name = Spins
type = variant
uid = Spins

[variant-Spins.aarch64]
iso_dir = Spins/aarch64/iso
isos = Spins/aarch64/iso

[variant-Spins.x86_64]
iso_dir = Spins/x86_64/iso
isos = Spins/x86_64/iso

[variant-Sway-Atomic]
arches = aarch64,x86_64
id = SwayAtomic
name = Sway-Atomic
type = variant
uid = Sway-Atomic

[variant-Sway-Atomic.aarch64]

[variant-Sway-Atomic.x86_64]
iso_dir = Sway-Atomic/x86_64/iso
isos = Sway-Atomic/x86_64/iso

[variant-Workstation]
arches = aarch64,x86_64
id = Workstation
name = Workstation
type = variant
uid = Workstation

[variant-Workstation.aarch64]
iso_dir = Workstation/aarch64/iso
isos = Workstation/aarch64/iso

[variant-Workstation.x86_64]
iso_dir = Workstation/x86_64/iso
isos = Workstation/x86_64/iso

https://kojipkgs.fedoraproject.org/compose/rawhide/Fedora-Rawhide-20260710.n.0/compose/.composeinfo

Okay I did my due dilegence and talked over where were things, finally I come up with the workaround, and the output for filetype look like this ``` [compose] date = 20260710 id = Fedora-Rawhide-20260710.n.0 respin = 0 type = nightly [product] family = Fedora name = Fedora-Rawhide-20260710.n.0 short = Fedora type = ga variants = BudgieAtomic,COSMICAtomic,Cloud,Container,Everything,KDE,Kinoite,Labs,Server,Silverblue,Spins,SwayAtomic,Workstation version = Rawhide release_type = Final [variant-Budgie-Atomic] arches = x86_64 id = BudgieAtomic name = Budgie-Atomic type = variant uid = Budgie-Atomic [variant-Budgie-Atomic.x86_64] iso_dir = Budgie-Atomic/x86_64/iso isos = Budgie-Atomic/x86_64/iso [variant-COSMIC-Atomic] arches = aarch64,x86_64 id = COSMICAtomic name = COSMIC-Atomic type = variant uid = COSMIC-Atomic [variant-COSMIC-Atomic.aarch64] iso_dir = COSMIC-Atomic/aarch64/iso isos = COSMIC-Atomic/aarch64/iso [variant-COSMIC-Atomic.x86_64] iso_dir = COSMIC-Atomic/x86_64/iso isos = COSMIC-Atomic/x86_64/iso [variant-Cloud] arches = aarch64,ppc64le,s390x,x86_64 id = Cloud name = Cloud type = variant uid = Cloud [variant-Cloud.aarch64] [variant-Cloud.ppc64le] [variant-Cloud.s390x] [variant-Cloud.x86_64] [variant-Container] arches = aarch64,ppc64le,s390x,x86_64 id = Container name = Container type = variant uid = Container [variant-Container.aarch64] [variant-Container.ppc64le] [variant-Container.s390x] [variant-Container.x86_64] [variant-Everything] arches = aarch64,ppc64le,s390x,x86_64 id = Everything name = Everything type = variant uid = Everything [variant-Everything.aarch64] debug_dir = Everything/aarch64/debug/tree debug_packages = Everything/aarch64/debug/tree/Packages debug_repository = Everything/aarch64/debug/tree debug_tree = Everything/aarch64/debug/tree debuginfo = Everything/aarch64/debug/tree iso_dir = Everything/aarch64/iso isos = Everything/aarch64/iso os_dir = Everything/aarch64/os os_tree = Everything/aarch64/os packages = Everything/aarch64/os/Packages repository = Everything/aarch64/os source_dir = Everything/source/tree source_packages = Everything/source/tree/Packages source_repository = Everything/source/tree source_tree = Everything/source/tree [variant-Everything.ppc64le] debug_dir = Everything/ppc64le/debug/tree debug_packages = Everything/ppc64le/debug/tree/Packages debug_repository = Everything/ppc64le/debug/tree debug_tree = Everything/ppc64le/debug/tree debuginfo = Everything/ppc64le/debug/tree iso_dir = Everything/ppc64le/iso isos = Everything/ppc64le/iso os_dir = Everything/ppc64le/os os_tree = Everything/ppc64le/os packages = Everything/ppc64le/os/Packages repository = Everything/ppc64le/os source_dir = Everything/source/tree source_packages = Everything/source/tree/Packages source_repository = Everything/source/tree source_tree = Everything/source/tree [variant-Everything.s390x] debug_dir = Everything/s390x/debug/tree debug_packages = Everything/s390x/debug/tree/Packages debug_repository = Everything/s390x/debug/tree debug_tree = Everything/s390x/debug/tree debuginfo = Everything/s390x/debug/tree iso_dir = Everything/s390x/iso isos = Everything/s390x/iso os_dir = Everything/s390x/os os_tree = Everything/s390x/os packages = Everything/s390x/os/Packages repository = Everything/s390x/os source_dir = Everything/source/tree source_packages = Everything/source/tree/Packages source_repository = Everything/source/tree source_tree = Everything/source/tree [variant-Everything.x86_64] debug_dir = Everything/x86_64/debug/tree debug_packages = Everything/x86_64/debug/tree/Packages debug_repository = Everything/x86_64/debug/tree debug_tree = Everything/x86_64/debug/tree debuginfo = Everything/x86_64/debug/tree iso_dir = Everything/x86_64/iso isos = Everything/x86_64/iso os_dir = Everything/x86_64/os os_tree = Everything/x86_64/os packages = Everything/x86_64/os/Packages repository = Everything/x86_64/os source_dir = Everything/source/tree source_packages = Everything/source/tree/Packages source_repository = Everything/source/tree source_tree = Everything/source/tree [variant-KDE] arches = aarch64,ppc64le,x86_64 id = KDE name = KDE type = variant uid = KDE [variant-KDE.aarch64] iso_dir = KDE/aarch64/iso isos = KDE/aarch64/iso [variant-KDE.ppc64le] iso_dir = KDE/ppc64le/iso isos = KDE/ppc64le/iso [variant-KDE.x86_64] iso_dir = KDE/x86_64/iso isos = KDE/x86_64/iso [variant-Kinoite] arches = aarch64,x86_64 id = Kinoite name = Kinoite type = variant uid = Kinoite [variant-Kinoite.aarch64] iso_dir = Kinoite/aarch64/iso isos = Kinoite/aarch64/iso [variant-Kinoite.x86_64] iso_dir = Kinoite/x86_64/iso isos = Kinoite/x86_64/iso [variant-Labs] arches = aarch64,x86_64 id = Labs name = Labs type = variant uid = Labs [variant-Labs.aarch64] iso_dir = Labs/aarch64/iso isos = Labs/aarch64/iso [variant-Labs.x86_64] iso_dir = Labs/x86_64/iso isos = Labs/x86_64/iso [variant-Server] arches = aarch64,ppc64le,s390x,x86_64 id = Server name = Server type = variant uid = Server [variant-Server.aarch64] debug_dir = Server/aarch64/debug/tree debug_packages = Server/aarch64/debug/tree/Packages debug_repository = Server/aarch64/debug/tree debug_tree = Server/aarch64/debug/tree debuginfo = Server/aarch64/debug/tree iso_dir = Server/aarch64/iso isos = Server/aarch64/iso os_dir = Server/aarch64/os os_tree = Server/aarch64/os packages = Server/aarch64/os/Packages repository = Server/aarch64/os source_dir = Server/source/tree source_packages = Server/source/tree/Packages source_repository = Server/source/tree source_tree = Server/source/tree [variant-Server.ppc64le] debug_dir = Server/ppc64le/debug/tree debug_packages = Server/ppc64le/debug/tree/Packages debug_repository = Server/ppc64le/debug/tree debug_tree = Server/ppc64le/debug/tree debuginfo = Server/ppc64le/debug/tree iso_dir = Server/ppc64le/iso isos = Server/ppc64le/iso os_dir = Server/ppc64le/os os_tree = Server/ppc64le/os packages = Server/ppc64le/os/Packages repository = Server/ppc64le/os source_dir = Server/source/tree source_packages = Server/source/tree/Packages source_repository = Server/source/tree source_tree = Server/source/tree [variant-Server.s390x] debug_dir = Server/s390x/debug/tree debug_packages = Server/s390x/debug/tree/Packages debug_repository = Server/s390x/debug/tree debug_tree = Server/s390x/debug/tree debuginfo = Server/s390x/debug/tree iso_dir = Server/s390x/iso isos = Server/s390x/iso os_dir = Server/s390x/os os_tree = Server/s390x/os packages = Server/s390x/os/Packages repository = Server/s390x/os source_dir = Server/source/tree source_packages = Server/source/tree/Packages source_repository = Server/source/tree source_tree = Server/source/tree [variant-Server.x86_64] debug_dir = Server/x86_64/debug/tree debug_packages = Server/x86_64/debug/tree/Packages debug_repository = Server/x86_64/debug/tree debug_tree = Server/x86_64/debug/tree debuginfo = Server/x86_64/debug/tree iso_dir = Server/x86_64/iso isos = Server/x86_64/iso os_dir = Server/x86_64/os os_tree = Server/x86_64/os packages = Server/x86_64/os/Packages repository = Server/x86_64/os source_dir = Server/source/tree source_packages = Server/source/tree/Packages source_repository = Server/source/tree source_tree = Server/source/tree [variant-Silverblue] arches = aarch64,x86_64 id = Silverblue name = Silverblue type = variant uid = Silverblue [variant-Silverblue.aarch64] iso_dir = Silverblue/aarch64/iso isos = Silverblue/aarch64/iso [variant-Silverblue.x86_64] iso_dir = Silverblue/x86_64/iso isos = Silverblue/x86_64/iso [variant-Spins] arches = aarch64,x86_64 id = Spins name = Spins type = variant uid = Spins [variant-Spins.aarch64] iso_dir = Spins/aarch64/iso isos = Spins/aarch64/iso [variant-Spins.x86_64] iso_dir = Spins/x86_64/iso isos = Spins/x86_64/iso [variant-Sway-Atomic] arches = aarch64,x86_64 id = SwayAtomic name = Sway-Atomic type = variant uid = Sway-Atomic [variant-Sway-Atomic.aarch64] [variant-Sway-Atomic.x86_64] iso_dir = Sway-Atomic/x86_64/iso isos = Sway-Atomic/x86_64/iso [variant-Workstation] arches = aarch64,x86_64 id = Workstation name = Workstation type = variant uid = Workstation [variant-Workstation.aarch64] iso_dir = Workstation/aarch64/iso isos = Workstation/aarch64/iso [variant-Workstation.x86_64] iso_dir = Workstation/x86_64/iso isos = Workstation/x86_64/iso ``` https://kojipkgs.fedoraproject.org/compose/rawhide/Fedora-Rawhide-20260710.n.0/compose/.composeinfo
Owner

CC: @lsedlar^

CC: @lsedlar^
Owner

The corresponding pr has been merged, closing this. The actua test in prod will be tested at the time of beta release!

The corresponding pr has been merged, closing this. The actua test in prod will be tested at the time of beta release!
Sign in to join this conversation.
No milestone
No assignees
6 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
releng/tickets#9841
No description provided.