Project

General

Profile

Actions

Feature #21389

closed

Update arvados/jobs Docker image to Debian 12

Added by Brett Smith about 2 years ago. Updated 8 months ago.

Status:
Resolved
Priority:
Normal
Assigned To:
Category:
Docker
Target version:
Story points:
-
Release relationship:
Auto

Description

Update at least the Dockerfile and associated .list apt sources.


Subtasks 1 (0 open1 closed)

Task #23054: Review 21389-update-docker-jobsResolvedBrett Smith07/24/2025Actions

Related issues 3 (0 open3 closed)

Related to Arvados - Idea #20846: Support Ubuntu 22.04 LTSResolvedBrett Smith10/30/2023Actions
Related to Arvados - Bug #21390: Update arvados/dev-jobs Docker image to Debian 12ResolvedBrett SmithActions
Blocked by Arvados - Idea #21230: Remove usage of global "pip install" in package build/test scriptsResolvedBrett Smith01/12/2024Actions
Actions #1

Updated by Brett Smith about 2 years ago

  • Description updated (diff)
Actions #2

Updated by Brett Smith about 2 years ago

  • Blocked by Idea #21230: Remove usage of global "pip install" in package build/test scripts added
Actions #3

Updated by Brett Smith about 2 years ago

  • Related to Idea #20846: Support Ubuntu 22.04 LTS added
Actions #4

Updated by Brett Smith about 2 years ago

  • Description updated (diff)
Actions #5

Updated by Peter Amstutz about 2 years ago

  • Tracker changed from Idea to Feature
Actions #6

Updated by Peter Amstutz about 2 years ago

  • Target version changed from To be scheduled to Future
Actions #7

Updated by Brett Smith 8 months ago

  • Release set to 79
  • Target version deleted (Future)
Actions #8

Updated by Brett Smith 8 months ago

  • Related to Bug #21390: Update arvados/dev-jobs Docker image to Debian 12 added
Actions #9

Updated by Brett Smith 8 months ago

  • Target version set to Development 2025-07-23
  • Assigned To set to Brett Smith
  • Status changed from New to In Progress

21389-update-docker-jobs @ a4864d8ba31ace660e06b06d78afc4b9a83bacad

This branch makes it so that all our Python virtualenv Docker images are built using the same code. By eliminating the dependency on published packages, it makes future development and testing easier. It goes ahead and upgrades to Debian 12 along the way. See the commit message for more details.

  • All agreed upon points are implemented / addressed. Describe changes from pre-implementation design.
    • And then some.
  • Anything not implemented (discovered or discussed during work) has a follow-up story.
    • After this is merged, the corresponding Jenkins jobs will need updating. I expect it to be a very straightforward update.
  • Code is tested and passing, both automated and manual, what manual testing was done is described.
    • I have manually tested building both images, with both upload options, without credentials. Builds are successful. Uploads run the right command, then fail for lack of credentials. developer-run-tests will not exercise this code.
  • New or changed UI/UX and has gotten feedback from stakeholders.
    • Strictly developer-facing. I maybe should've gotten feedback about the new script, but well, it's not like the old scripts got feedback ahead of time. At least this uses a better argument parser and requires fewer options.
  • Documentation has been updated.
    • Yes
  • Behaves appropriately at the intended scale (describe intended scale).
    • Yes. The size of arvados/jobs increases from ~125MB to ~440MB. Most of this comes from the upgrade to Debian 12: I built an image with the old code, just s/bullseye/bookworm/g everywhere, and got a very similar size to the wheel-based image. Therefore I think if we want to optimize size that needs to be a separate ticket.
  • Considered backwards and forwards compatibility issues between client and server.
    • I considered making the existing shell scripts just wrappers around the new script, but given how little they seem to be used it didn't seem worth it. There are no callers in the codebase itself, only Jenkins. The Jenkins builds can just call build_docker_image.py directly to make future maintenance easier.
  • Follows our coding standards and GUI style guidelines.
    • Yes
Actions #10

Updated by Brett Smith 8 months ago

  • Subtask #23054 added
Actions #11

Updated by Brett Smith 8 months ago

  • Target version changed from Development 2025-07-23 to Development 2025-08-06
Actions #12

Updated by Tom Clegg 8 months ago

This LGTM, thanks.

Actions #13

Updated by Brett Smith 8 months ago

Brett Smith wrote in #note-9:

  • Anything not implemented (discovered or discussed during work) has a follow-up story.
    • After this is merged, the corresponding Jenkins jobs will need updating. I expect it to be a very straightforward update.

Updated docker-image-jobs and docker-image-jobs-release.

Actions #14

Updated by Brett Smith 8 months ago

  • Status changed from In Progress to Resolved
Actions

Also available in: Atom PDF