[libvirt PATCH v3 5/6] ci: util: Add a registry checker for stale images
Erik Skultety
eskultet at redhat.com
Thu Mar 18 16:00:47 UTC 2021
...
> > +def get_registry_stale_images(registry_uri: str,
> > + supported_distros: List[str]) -> Dict[str, int]:
> > + """
> > + Check the GitLab image registry for images that we no longer support and
> > + which should be deleted.
> > +
> > + :param uri: URI pointing to a GitLab instance's image registry
> > + :param supported_distros: list of hosts supported by lcitool
> > + :return: dictionary formatted as: {<gitlab_image_name>: <gitlab_image_id>}
> > + """
> > +
> > + images = get_registry_images(registry_uri)
> > +
> > + # extract distro names from the list of registry images
> > + registry_distros = [get_image_distro(i["name"]) for i in images]
> > +
> > + # - compare the distros powering the images in GitLab registry with
> > + # the list of host available from lcitool
> > + # - @unsupported is a set containing the distro names which we no longer
> > + # support; we need to map these back to registry image names
> > + unsupported = set(registry_distros) - set(supported_distros)
> > + if unsupported:
> > + stale_images = {}
> > + for distro in unsupported:
> > + for img in images:
> > + # gitlab images are named like "ci-<distro>-<cross_arch>?"
> > + if distro in img["name"]:
> > + stale_images[img["name"]] = img["id"]
> > +
> > + return stale_images
>
> As far as I can tell, this can be achieved in a much more
> straightforward way with
>
> def get_registry_stale_images(registry_uri, supported_distros):
>
> images = get_registry_images(registry_uri)
> stale_images = {}
>
> for img in images:
> if get_image_distro(img["name"]) not in supported_distros:
> stale_images[img["name"]] = img["id"]
>
> return stale_images
>
> At least from a quick test, the results appear to be the same. Am I
> missing something?
No, it works. I'll respin.
Erik
More information about the libvir-list
mailing list