From 22490460d71261c351ee288e6bf2274f1825e82b Mon Sep 17 00:00:00 2001 From: Adam Williamson Date: Tue, 26 Apr 2022 09:59:23 -0700 Subject: [PATCH] Use release number in name of Rawhide images, not 'rawhide' After looking at the openQA side, I think I prefer this way of doing things overall. If we use 'rawhide' in the filenames, we have to use 'Rawhide' as the VERSION on openQA side, and that involves quite a lot of surgery. If we can use the release number as the VERSION on openQA side for Rawhide updates, that seems to work better, and tie in better with Bodhi. Signed-off-by: Adam Williamson --- createhdds.py | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/createhdds.py b/createhdds.py index fbf79e4..aef0fca 100755 --- a/createhdds.py +++ b/createhdds.py @@ -206,9 +206,12 @@ class VirtInstallImage(object): maximum age of the image file (in days) - if the image is older than this, 'check' will report it as 'outdated' and 'all' will rebuild it. 'bootopts' are used to pass boot options to the - virtual image to provide better control of the VM. + virtual image to provide better control of the VM. 'branched' + and 'rawhide' are flags for whether this is a branched or Rawhide + release (which affects the paths). """ - def __init__(self, name, release, arch, size, variant=None, imgver='', maxage=14, bootopts=None): + def __init__(self, name, release, arch, size, variant=None, imgver='', maxage=14, + bootopts=None, branched=False, rawhide=False): self.name = name self.size = size self.filename = "disk_f{0}_{1}".format(str(release), name) @@ -227,6 +230,8 @@ class VirtInstallImage(object): else: self.variant = "Everything" self.bootopts = bootopts + self.rawhide = rawhide + self.branched = branched @property def kickstart_file(self): @@ -306,10 +311,9 @@ class VirtInstallImage(object): # this is almost complex enough to need fedfind but not # quite, I think. also fedfind can't find the 'transient' # rawhide and branched locations at present - if str(self.release).lower() == 'rawhide': + if self.rawhide: loctmp = "https://dl.fedoraproject.org/pub/{0}/development/rawhide/{2}/{3}/os" - elif int(self.release) > fedfind.helpers.get_current_release(branched=False): - # branched + elif self.branched: loctmp = "https://dl.fedoraproject.org/pub/{0}/development/{1}/{2}/{3}/os/" else: loctmp = "https://download.fedoraproject.org/pub/{0}/releases/{1}/{2}/{3}/os/" @@ -497,7 +501,9 @@ def get_virtinstall_images(imggrp, nextrel=None, releases=None): bootopts = imggrp.get('bootopts') # add an image for each release/arch combination for (release, arches) in releases.items(): - if release.lower() == 'branched': + branched = release.lower() == 'branched' + rawhide = release.lower() == 'rawhide' + if branched: # find Branched, if it exists curr = fedfind.helpers.get_current_release(branched=False) branch = fedfind.helpers.get_current_release(branched=True) @@ -506,6 +512,10 @@ def get_virtinstall_images(imggrp, nextrel=None, releases=None): else: logger.info("Branched image requested, but Branched does not currently exist") continue + elif rawhide: + # find Rawhide release number + rawrel = fedfind.helpers.get_current_release(branched=True) + 1 + rels = [rawrel] elif release.lower() == 'stable': # this means "all current stable releases" rels = fedfind.helpers.get_current_stables() @@ -516,14 +526,15 @@ def get_virtinstall_images(imggrp, nextrel=None, releases=None): nextrel = fedfind.helpers.get_current_release() + 1 rels = [int(nextrel) + int(release)] else: - # assume a single integer release number, or 'rawhide' + # assume a single integer release number rels = [release] for arch in arches: for rel in rels: key = "{0}-{1}".format(rel, arch) # using a dict here avoids dupes imgs[key] = VirtInstallImage(name, rel, arch, variant=variant, size=size, - imgver=imgver, maxage=maxage, bootopts=bootopts) + imgver=imgver, maxage=maxage, bootopts=bootopts, + branched=branched, rawhide=rawhide) return list(imgs.values()) def get_all_images(hdds, nextrel=None):