Files
project-config/nodepool/nodepool.yaml
Dan Smith 5d8760a39a Add viommu support to vexxhost ubuntu-noble
Since we have other labels for weird configurations (like nested virt)
here, it makes sense to also add viommu support to the noble instances
on vexxhost so we can test things like PCI passthrough.

Change-Id: I8a82c035f3d5fffb9e233cac2b66faaa5c295518
2025-03-27 10:22:52 -07:00

488 lines
13 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-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-noble
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: vexxhost-ca-ymq-1
region-name: 'ca-ymq-1'
cloud: vexxhost
rate: 0.001
# 6 hours
image-upload-timeout: 21600
diskimages:
- 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-noble
config-drive: true
meta:
hw_viommu_model: auto
- name: ubuntu-xenial
config-drive: true
- name: openEuler-22-03-LTS
config-drive: true
- name: vexxhost-sjc1
region-name: 'sjc1'
cloud: vexxhost
rate: 0.001
# 6 hours
image-upload-timeout: 21600
diskimages: *provider_diskimages
- name: openmetal-iad3
region-name: 'IAD3'
cloud: openmetal
rate: 0.25
# 6 hours
image-upload-timeout: 21600
# TODO(frickler): Use the global list again once the old images
# have been dropped there
diskimages:
- name: centos-9-stream
config-drive: true
- name: debian-bookworm
config-drive: true
- name: debian-bullseye
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-noble
config-drive: true
- name: ubuntu-xenial
config-drive: true
- name: openEuler-22-03-LTS
config-drive: true
- name: rax-iad
region-name: 'IAD'
cloud: rax
rate: 0.001
# 6 hours
image-upload-timeout: 21600
diskimages: *provider_diskimages
- name: rax-ord
region-name: 'ORD'
cloud: rax
rate: 0.001
# 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: raxflex-dfw3
region-name: 'DFW3'
cloud: raxflex
rate: 0.001
# 6 hours
image-upload-timeout: 21600
# TODO(fungi): Use the global list again once the old images
# have been dropped there
diskimages:
- name: centos-9-stream
config-drive: true
- name: debian-bookworm
config-drive: true
- name: debian-bullseye
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-noble
config-drive: true
- name: ubuntu-xenial
config-drive: true
- name: openEuler-22-03-LTS
config-drive: true
- name: raxflex-sjc3
region-name: 'SJC3'
cloud: raxflex
rate: 0.001
# 6 hours
image-upload-timeout: 21600
# TODO(fungi): Use the global list again once the old images
# have been dropped there
diskimages:
- name: centos-9-stream
config-drive: true
- name: debian-bookworm
config-drive: true
- name: debian-bullseye
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-noble
config-drive: true
- name: ubuntu-xenial
config-drive: true
- name: openEuler-22-03-LTS
config-drive: true
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-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
pause: true
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-noble
parent: base-debuntu
pause: false
elements:
- ubuntu-minimal
- cache-devstack
release: noble
rebuild-age: 86400 # 1 days
env-vars:
DIB_DISTRIBUTION_MIRROR: 'https://mirror.dfw.rax.opendev.org/ubuntu'
DIB_DEBIAN_COMPONENTS: 'main,universe'
- 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
pause: true
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: ubuntu-noble-arm64
elements: []
- name: debian-bullseye-arm64
elements: []
- name: centos-9-stream-arm64
elements: []
- name: openEuler-22-03-LTS-arm64
elements: []
- name: rockylinux-9-arm64
elements: []