project-config/nodepool/nodepool.yaml
Clark Boylan 8c088d17f1 Enable nodepool delete after upload option
This enables the nodepool delete-after-upload option with keep-formats
set to qcow2 on x86 image builders. This should clear out vhd and raw
files after uploads for those formats are completed keeping only qcow2
longer term. This should reduce disk space overhead while still enabling
us to convert from qcow2 to the other formats if that becomes necessary.

Note that we do not enable this for arm64 before arm64 builders
currently build raw images only and we still want at least one copy of
the image to be kept even if it is raw (and not qcow2).

Change-Id: I6cf481e0f9a5eaff35b5d961a084ae34a49ea6c6
2024-03-26 15:10:36 -07:00

396 lines
10 KiB
YAML

elements-dir: /etc/nodepool/elements
images-dir: /opt/nodepool_dib
# This portion of the config is updated by ansible to use the actual
# zookeeper servers.
zookeeper-servers:
- host: zk01.example.org
port: 2281
- host: zk02.example.org
port: 2281
- host: zk03.example.org
port: 2281
providers:
- name: ovh-bhs1
region-name: 'BHS1'
cloud: ovh
rate: 0.1
# 6 hours
image-upload-timeout: 21600
diskimages: &provider_diskimages
- name: centos-8-stream
config-drive: true
- name: centos-9-stream
config-drive: true
- name: debian-bookworm
config-drive: true
- name: debian-bullseye
config-drive: true
- name: gentoo-17-0-systemd
config-drive: true
- name: rockylinux-8
config-drive: true
- name: rockylinux-9
config-drive: true
- name: ubuntu-bionic
config-drive: true
- name: ubuntu-focal
config-drive: true
- name: ubuntu-jammy
config-drive: true
- name: ubuntu-xenial
config-drive: true
- name: openEuler-22-03-LTS
config-drive: true
- name: ovh-gra1
region-name: 'GRA1'
cloud: ovh
rate: 0.1
# 6 hours
image-upload-timeout: 21600
diskimages: *provider_diskimages
- name: rax-dfw
region-name: 'DFW'
cloud: rax
rate: 0.001
# 6 hours
image-upload-timeout: 21600
diskimages: *provider_diskimages
- name: rax-iad
region-name: 'IAD'
cloud: rax
rate: 0.001
# 6 hours
image-upload-timeout: 21600
diskimages:
- name: centos-8-stream
config-drive: true
- name: centos-9-stream
config-drive: true
- name: debian-bookworm
config-drive: true
- name: debian-bullseye
config-drive: true
- name: gentoo-17-0-systemd
config-drive: true
- name: rockylinux-8
config-drive: true
- name: rockylinux-9
config-drive: true
- name: ubuntu-bionic
config-drive: true
- name: ubuntu-focal
config-drive: true
- name: ubuntu-jammy
config-drive: true
- name: ubuntu-xenial
config-drive: true
- name: openEuler-22-03-LTS
config-drive: true
- name: rax-ord
region-name: 'ORD'
cloud: rax
rate: 0.001
# 6 hours
image-upload-timeout: 21600
diskimages: *provider_diskimages
- name: vexxhost-ca-ymq-1
region-name: 'ca-ymq-1'
cloud: vexxhost
rate: 0.001
# 6 hours
image-upload-timeout: 21600
diskimages: *provider_diskimages
- name: vexxhost-sjc1
region-name: 'sjc1'
cloud: vexxhost
rate: 0.001
# 6 hours
image-upload-timeout: 21600
diskimages: *provider_diskimages
- name: inmotion-iad3
region-name: 'iad3'
cloud: inmotion
rate: 0.25
# 6 hours
image-upload-timeout: 21600
diskimages: *provider_diskimages
diskimages:
- name: base
abstract: True
rebuild-age: 604800 # 7 days
delete-after-upload: true
keep-formats:
- qcow2
elements:
- vm
- simple-init
- openstack-repos
- nodepool-base
- growroot
- infra-package-needs
env-vars:
TMPDIR: /opt/dib_tmp
DIB_CHECKSUM: '1'
DIB_IMAGE_CACHE: /opt/dib_cache
DIB_JOURNAL_SIZE: '512'
DIB_GRUB_TIMEOUT: '0'
GIT_HTTP_LOW_SPEED_TIME: '300'
GIT_HTTP_LOW_SPEED_LIMIT: '1000'
DIB_SHOW_IMAGE_USAGE: '1'
ZUUL_USER_SSH_PUBLIC_KEY: |
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDh5u0DWNi0d3uqI82izAxVTUTrGl36L3szEqV9WrilGmxaTtp9X7HrktJ5J+rvxQqz39llTf1v7iYA4CNKto/48RBAB0mKEEI4x4iw+fu/BLU7nu7ewSfXLUxHahxaTgIk2KcbegknD5NzMjalyfNfgTPDGv8BjwHeeNdZmJMBvPFGu6fO48M4yK1tiQn0kAkaH4oII/M4pyF8vy9tPTODAD7RvnMvQAb08LZZvE/IPzJAHNXFRb1v+DBa38fOvdyaz/nibrsxiOWZxQVLgjYciUeDy1xvXADaWlqvxmLy+90LHbJFbGxK4AN0mWfwBiUMVyxZjkun39pjTNl2k09OhOq+R52UqnehMc4eBdZCddnCUq4/efbFCJkqe5wY+SE8fYybJjauUL64zyrwf6yfWkXvPVHWa9Y+NCmvH8PCBUcsQnwO7l/Yb4N+8+u6zkODyuc9wLAY+DpnptE3plXtvUs5negC4fvJSnOHpWXuoi9yzp7IlPf6fSjMMDQo0JjCYJwazdzqrIH2VSCcfHAqWF0ECR8IgwZV1bp0xFe0UN0Gjsgkozqf8rvs1AYyTSeD19Wg9j+crTke8E1sfoI/qFzHwzBQFKJ+2l0cs7pZWJBARlhbt1j1IouS2aH+74xwsavRhBz4IsFTPqWiP6JTrgk5cgKRnTqInzNfdaLeUw== zuul-worker@openstack.org
- name: base-debuntu
abstract: True
parent: base
env-vars:
DIB_APT_LOCAL_CACHE: '0'
DIB_DISABLE_APT_CLEANUP: '1'
DIB_DEBOOTSTRAP_EXTRA_ARGS: '--no-check-gpg'
############ CentOS and Fedora (and derivatives) #############
- name: centos-8-stream
parent: base
pause: false
python-path: /usr/bin/python3
release: '8-stream'
elements:
- cache-devstack
- centos-minimal
- epel
env-vars:
DIB_EPEL_DISABLED: '1'
- name: centos-9-stream
parent: base
pause: false
python-path: /usr/bin/python3
release: '9-stream'
rebuild-age: 172800 # 2 days
elements:
- cache-devstack
- centos-minimal
- epel
env-vars:
DIB_EPEL_DISABLED: '1'
- name: rockylinux-8
parent: base
pause: false
python-path: /usr/bin/python3
release: '8'
elements:
- cache-devstack
- rocky-container
- epel
env-vars:
DIB_EPEL_DISABLED: '1'
- name: rockylinux-9
parent: base
pause: false
python-path: /usr/bin/python3
release: '9'
rebuild-age: 172800 # 2 days
elements:
- cache-devstack
- rocky-container
- epel
env-vars:
DIB_EPEL_DISABLED: '1'
############ Debian #############
- name: debian-bookworm
parent: base-debuntu
pause: false
elements:
- debian-minimal
- cache-devstack
release: bookworm
rebuild-age: 172800 # 2 days
env-vars:
DIB_DISTRIBUTION_MIRROR: 'https://mirror.dfw.rax.opendev.org/debian'
DIB_DEBIAN_SECURITY_MIRROR:
'https://mirror.dfw.rax.opendev.org/debian-security'
DIB_BLOCK_DEVICE_CONFIG: |
# Default single partition loopback
- local_loop:
name: image0
- partitioning:
base: image0
label: mbr
partitions:
- name: root
flags: [ boot, primary ]
size: 100%
mkfs:
mount:
mount_point: /
fstab:
options: "defaults,nobarrier,noatime"
fsck-passno: 1
- name: debian-bullseye
parent: base-debuntu
pause: false
elements:
- debian-minimal
- cache-devstack
release: bullseye
python-path: /usr/bin/python3
env-vars:
DIB_DISTRIBUTION_MIRROR: 'https://mirror.dfw.rax.opendev.org/debian'
DIB_DEBIAN_SECURITY_MIRROR:
'https://mirror.dfw.rax.opendev.org/debian-security'
DIB_DEBIAN_SECURITY_SUBPATH: ''
DIB_BLOCK_DEVICE_CONFIG: |
# Default single partition loopback
- local_loop:
name: image0
- partitioning:
base: image0
label: mbr
partitions:
- name: root
flags: [ boot, primary ]
size: 100%
mkfs:
mount:
mount_point: /
fstab:
options: "defaults,nobarrier,noatime"
fsck-passno: 1
############ Gentoo #############
- name: gentoo-17-0-systemd
parent: base
elements:
- gentoo
env-vars:
GENTOO_PYTHON_TARGETS: 'python3_9'
GENTOO_PYTHON_ACTIVE_VERSION: python3.9
GENTOO_PROFILE: 'default/linux/amd64/17.1/systemd'
############ Ubuntu #############
- name: ubuntu-bionic
parent: base-debuntu
pause: false
elements:
- ubuntu-minimal
- cache-devstack
release: bionic
env-vars:
DIB_DISTRIBUTION_MIRROR: 'http://mirror.dfw.rax.opendev.org/ubuntu'
DIB_DEBIAN_COMPONENTS: 'main,universe'
- name: ubuntu-focal
parent: base-debuntu
pause: false
elements:
- ubuntu-minimal
- cache-devstack
release: focal
env-vars:
DIB_DISTRIBUTION_MIRROR: 'http://mirror.dfw.rax.opendev.org/ubuntu'
DIB_DEBIAN_COMPONENTS: 'main,universe'
- name: ubuntu-jammy
parent: base-debuntu
pause: false
elements:
- ubuntu-minimal
- cache-devstack
release: jammy
rebuild-age: 86400 # 1 days
env-vars:
DIB_DISTRIBUTION_MIRROR: 'https://mirror.dfw.rax.opendev.org/ubuntu'
DIB_DEBIAN_COMPONENTS: 'main,universe'
# NOTE(ianw) 2022-05-20 : we have found a problem on some cloud
# providers (OVH at least) where setting SSBD mitigation flags
# seems to be disabled and this causes endless kernel tracebacks
# from writing invalid flags into MSR registers, flooding the
# logs. By default spec_store_bypass_disable is set to
# "seccomp" which means the kernel forces every seccomp() call
# into this. Setting it to prctl means userspace has to opt-in
# with an explicit call. This is actually the default on more
# recent kernels; the reasons are many but the bug [1] goes
# through it with links to relevant changes.
#
# While we try and sort out either backporting this to upstream
# kernels or some other upstream workaround, we set
# spec_store_bypass_disable=prctl here to avoid this problem in
# our providers. The other bits are just the dib defaults which
# need to be replicated when overriding this.
#
# [1] https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1973839
DIB_BOOTLOADER_DEFAULT_CMDLINE: 'nofb nomodeset gfxpayload=text spec_store_bypass_disable=prctl'
- name: ubuntu-xenial
parent: base-debuntu
pause: false
elements:
- ubuntu-minimal
- cache-devstack
release: xenial
env-vars:
DIB_DISTRIBUTION_MIRROR: 'http://mirror.dfw.rax.opendev.org/ubuntu'
DIB_DEBIAN_COMPONENTS: 'main,universe'
############ openEuler #############
- name: openEuler-22-03-LTS
parent: base
python-path: /usr/bin/python3
elements:
- openeuler-minimal
- cache-devstack
release: 22.03-LTS
env-vars:
DIB_DISTRIBUTION_MIRROR: 'http://mirror.dfw.rax.opendev.org/openeuler'
############ arm64 #############
- name: ubuntu-bionic-arm64
elements: []
- name: ubuntu-focal-arm64
elements: []
- name: ubuntu-jammy-arm64
elements: []
- name: debian-bullseye-arm64
elements: []
- name: centos-8-stream-arm64
elements: []
- name: centos-9-stream-arm64
elements: []
- name: openEuler-22-03-LTS-arm64
elements: []
- name: rockylinux-9-arm64
elements: []