Add Noble packages to Docker mirror

Each Ubuntu and Debian release get a separate independent repository
(though served from the same AFS volume) which means we need to
explicitly add each release to reprepro when they occur. Now that we've
switched to Noble as our default nodeset it has become apparent we did
not do this for Noble's Docker packages.

Go ahead and add a debian docker noble mirror. Note that reprepro has a
*.log logrotate rule for all logs produced by reprepro so we don't need
to explicitly add a rule for the new log file. We also don't need a new
volume in AFS as a single deb-docker volume is used for all of these
repo mirrors.

We pin the tox-linters and buildset-registry jobs to jammy because they
don't currently run on Noble. Linters faile because we need to use newer
hacking whcih we'll do in a followup that cleans up new errors and the
registry fails due to the issue we are trying to fix in this very change
(need docker packages for noble).

Change-Id: I289f19a11539b490c3b7327d01d517948b95e072
This commit is contained in:
Clark Boylan 2024-08-21 15:40:35 -07:00
parent 394251ebdb
commit 279cb28e34
5 changed files with 35 additions and 3 deletions

View File

@ -0,0 +1,10 @@
Origin: Docker
Codename: noble
Description: Docker Noble mirror
Architectures: amd64 arm64
Components: stable
UDebComponents:
Contents: .gz
Update: debian-docker
Log: /var/log/reprepro/debian-docker-noble.log

View File

@ -0,0 +1,6 @@
basedir /afs/.openstack.org/mirror/deb-docker/noble
keepunreferencedfiles
noskipold
export changed
spacecheck none
verbose

View File

@ -0,0 +1,7 @@
Name: debian-docker
Method: https://download.docker.com/linux/ubuntu/
Components: stable
UDebComponents: stable
Architectures: amd64 arm64
GetInRelease: no
VerifyRelease: F273FCD8

View File

@ -28,11 +28,16 @@
vars: vars:
_dir: 'debian-docker-jammy' _dir: 'debian-docker-jammy'
- name: Copy Debian Docker Noble config
include_tasks: utils/copy-config.yaml
vars:
_dir: 'debian-docker-noble'
# Beacuse they all live on the same volume, run in order # Beacuse they all live on the same volume, run in order
- name: Install update cron jobs - name: Install update cron jobs
cron: cron:
name: 'Debian Docker reprepro mirror sync' name: 'Debian Docker reprepro mirror sync'
job: 'flock -n /var/run/reprepro/debian-docker.lock bash -c "for DISTRO in xenial bionic focal jammy; do reprepro-mirror-update /etc/reprepro/debian-docker-\$DISTRO mirror.deb-docker >>/var/log/reprepro/debian-docker-\$DISTRO-mirror.log 2>&1; done"' job: 'flock -n /var/run/reprepro/debian-docker.lock bash -c "for DISTRO in xenial bionic focal jammy noble; do reprepro-mirror-update /etc/reprepro/debian-docker-\$DISTRO mirror.deb-docker >>/var/log/reprepro/debian-docker-\$DISTRO-mirror.log 2>&1; done"'
state: present state: present
hour: '*/2' hour: '*/2'
minute: '{{ 45 | random(seed=inventory_hostname) }}' minute: '{{ 45 | random(seed=inventory_hostname) }}'

View File

@ -5,9 +5,11 @@
check: check:
jobs: jobs:
- opendev-tox-docs - opendev-tox-docs
- opendev-buildset-registry - opendev-buildset-registry:
nodeset: ubuntu-jammy
- tox-linters: - tox-linters:
timeout: 3600 timeout: 3600
nodeset: ubuntu-jammy
- system-config-run-base - system-config-run-base
- system-config-run-base-ansible-devel: - system-config-run-base-ansible-devel:
voting: false voting: false
@ -168,9 +170,11 @@
gate: gate:
jobs: jobs:
- opendev-tox-docs - opendev-tox-docs
- opendev-buildset-registry - opendev-buildset-registry:
nodeset: ubuntu-jammy
- tox-linters: - tox-linters:
timeout: 3600 timeout: 3600
nodeset: ubuntu-jammy
- system-config-run-base - system-config-run-base
- system-config-run-borg-backup - system-config-run-borg-backup
- system-config-run-dns - system-config-run-dns