Page MenuHomePhabricator

operations/docker-images/production-images contains references to non-existent image python3
Closed, ResolvedPublic

Description

Many images depend on python3, which no longer exists.

Apart from being an issue for the directly affected images, this pops up also when running docker-pkg update: it throws a RuntimeError: Image python3 (dependency of [...]) not found error when scanning images and does not complete.

Event Timeline

The python3 image got removed as part of T335282 by https://gerrit.wikimedia.org/r/c/operations/docker-images/production-images/+/911761 It was based on Debian Stretch.

The replacement images seem to be python3-buster (from Feb 2021) and python3-bullseye (from October 2022).

hashar removed a project: docker-pkg.

Removing docker-pkg tag which is for the building software itself rather than the images.

Reconstructing the dependency tree:

  • python3
    • prometheus-nutcracker-exporter
    • python3-devel
      • python3-build-stretch

It looks like, apart from prometheus-nutcracker-exporter, only deprecated images rely on it.

Proposal to update prometheus-nutcracker-exporter to python3-bullseye, and remove python3-build-stretch, python3-devel and python3 images.

There are some repositories referring to those images base on a search for docker-registry.wikimedia.org/python3(-build-stretch|-devel|)$ ]]:

I can't tell for Gitlab hosted repositories since there is no code search (though some are indexed by our codesearch).

Quickly checked the current status since I'd like to drop the python3 image from the registry. The python3 image runs Debian 9, but mwaddalink deployed on Wikikube runs with Debian 10. I think that this is due to the blubber config: at line 3 python3 is set, but then the build variant uses python3-build-buster, and the final image copies from the build one (this is not great but let's keep this aside for a moment :D).

prometheus-nutcracker-exporter now runs bullseye, so I think we can drop the python3 image and close. @Clement_Goubert, @hashar wdyt?

elukey claimed this task.

Dropped, thanks all!

Quickly checked the current status since I'd like to drop the python3 image from the registry. The python3 image runs Debian 9, but mwaddalink deployed on Wikikube runs with Debian 10. I think that this is due to the blubber config: at line 3 python3 is set, but then the build variant uses python3-build-buster, and the final image copies from the build one (this is not great but let's keep this aside for a moment :D).

@elukey can you send them a patch to drop the line please? That would avoid some mystery to our later selves :-b I'll we archive the open-nsfw via T371035.

@hashar sorry for the gigantic delay but I missed the update. IIRC I went for https://wikitech.wikimedia.org/wiki/Docker-registry#Deleting_images, we still don't have a good process to clean up the Registry so I wouldn't suggest using it (plus it requires sudo etc..).

The reason I have reopened the task was not about the deletion of the image, it is that there are services still referring to it (see above T336682#8922081) and those need to be updated/rebuild etc. There might be other usage on Gitlab as well albeit we don't have a code search there

@hashar as stated in T336682#10014067 plus a look in codesearch there is nothing that really binds to the old Python3 images. If anything comes up it will be an occasion to upgrade, because we cannot really keep old images around for this long (keeping a ton of security issues around). Lemme know if it makes sense, I think this task is completed :)

I think this task is completed :)

Indeed.