Platform SIG May 23, 2023

Attending:

Agenda:

  • Open Action Items:
    • Docker Images
      • Container image deprecation for the blue ocean container (jenkinsci:blueocean)
        • https://hub.docker.com/r/jenkins/blueocean - no tags
        • Docker - has
        • Need to announce the deprecation of the image
          • Update the page on Dockerhub
          • Add to a Jenkins LTS changelog or upgrade guide?
          • Add a disclaimer to one or more pages on www.jenkins.io?
        • Find a way to communicate the deprecation to users and admins
          • Jenkins administrative monitor that checks for specific container content?
        • Report it regularly in Platform SIG meetings
        • Create an issue that proposes the deprecation and the needed steps => Mark Waite?
          • 4 approvals on the warning message in Jenkins core
          • We almost have the tooling to do the job now (when it will be merged, we’ll have it for sure)
          • That’s the very first step for all that is about to be deprecated, like Centos7, and so on…
  • Ongoing:
    • Work on code factorization by Damien Duportal
      • Target to have a single repo for all agent images because all agents have a common ground (git package, …). It’s a lot of work when a CVE has to be fixed for example.
        • First phase for JDK versions has already been supplied for agent and inbound-agent, ssh-agent as well. The code has been made smaller 3 times
        • Next step, merging two agents. We’re hoping to have the same release cycle. That shouldn’t change anything for the end users. The only difference is that the repo should be made an archive
    • Work on Alpine images to use updatecli and jlink by Damien Duportal and Bruno Verachten
    • CentOS 7 early end of life
      • Warn users when the operating system approaches the end of life
        • Pull request has 4 approvals, likely in 2.407 May 30, 2023
          • Visible in weekly centos7 container images May 30, 2023
        • First visible in LTS 2.413.1 23 Aug 2023
        • CentOS 7 is no longer supported in Jenkins after Nov 16, 2023
          • Nov 16, 2023, is the likely date for 2.425.1
      • Remaining work
        • Replace centos7 usages in our Jenkins controller containers
          • Complicated one, as we’re using the JDK by Temurin on top of Centos7
          • If we’re using jlink, moving to another Centos derivative should not be a problem (thinking of UBI)
          • We could also use multistage build, but with downloading the binaries from Temurin then jlink => can we open an issue Bruno Verachten
        • Blog post announcing CentOS 7 end of life in Jenkins
    • Other operating system end of life
      • Alpine 3.14 is already end of life
      • Fedora 36 is already end of life
      • Ubuntu 18.04 end of life 31 May 2023
      • Alpine 3.15 end of life 16 Nov 2023
      • Fedora 37 end of life 15 Dec 2023
    • Proposal to switch Alma Linux container from 8 to 9
      • Discussion in the pull request
      • Would be nice to include it in the 2.401.1 LTS release next week
        • Include in the LTS changelog and upgrade guide
      • We could propose a new Alma Linux 9 before removing Alma Linux 8, so it gets merged faster
  • What has been done?
    • Ppc64le: nice progress. Thank you so much for your contribution Kenneth!
      • docker-agent: PR merged
      • docker-ssh-agent : PR merged
      • Inbound-agent: PR merged
      • Controller PR merged
    • Latest updates on the docker images:
      • Ssh-agent release 5.2.0
        • chore(updatecli) fix git-windows tracking as a follow up of #241 (#247) @dduportal
        • chore: factorize JDK specification to docker bakefile / powershell scripts (#241) @dduportal
        • chore(deps): bump debian from bullseye-20230411 to bullseye-20230502 in /11&17/bullseye (#239/#240) @dependabot
      • Docker-agent release 3107.v665000b_51092-15
        • Label Alpine container with correct version number (#416) @MarkEWaite
        • chore: factorize JDK specification to docker bakefile (linux) / compose file (windows) (#409) @dduportal
        • chore(windows) rely on docker-compose for test phase (#414) @dduportal
        • chore: fix Dockerfile location on the last items - fixup of #409 (#420) @dduportal
        • chore(updatecli) fix JDK version tracking - fixup of #409 (#417) @dduportal
        • add ksalerno99 as code owner for the debian Dockerfile (#419) @dduportal
        • hotfix(windows) use proper tagging destination to fix publication (#425) @dduportal
        • fix(alpine) The Alpine Dockerfile does not use the ALPINE_TAG arg (#421) @gounthar
        • chore(windows) cleanup tooling and nanoserver-1809 Dockerfile (#423) @dduportal
        • Bump Alpine Linux Version to 3.18.0 (#427) @github-actions
        • Cleanup: correct unused code (#428) @gounthar
        • chore(alpine): Uses updatecli to stay up to date (#426) @gounthar
      • Docker inbound agent release 3107.v665000b_51092-15
        • Bump the parent image jenkins/agent version to 3107.v665000b_51092-10 then 13 then 14 then 15 (#348,#349,#350,#351) @github-actions
        • chore(linux) factorize JDK specification to docker bakefile (#347) @dduportal
      • One major change on the way we deliver the controller image
        • We don’t have the magic scripts that “did things” anymore
        • Should we give more permissions to maintainers, or should we automate more? The second solution is preferred.
      • jenkinsci/docker-inbound-agents repository. Hosts homemade images with some popular languages (go, ruby, etc…)
        • Not publishing: Push on commit · Issue #36 · jenkinsci/docker-inbound-agents · GitHub
        • Should we deprecate these elements? Unless a maintainer comes out of the blue… What about writing a document in jenkins.io about that? We already have a page about Windows requirements and Linux requirements, what about container requirements says Mark? The ones we’re maintaining, the ones which are not maintained, and so. We could do a docker hub export to get the definitive list of containers.
        • No one is maintaining them anymore, too scary to let them run
      • Should we get a specific branch for weekly and LTS containers?
    • Docker Hub stats
      • Exports are anonymous, so having a shared spreadsheet would be reasonable.
      • Damien proposes to start the document and discuss it later on