Add fedora-containerfile element

This builds Fedora from the containerfile element.

Depends-On: https://review.opendev.org/c/zuul/nodepool/+/790531
Depends-On: https://review.opendev.org/c/opendev/glean/+/790368

Change-Id: I5cf9b0505f2d542b3611ebbf9494f9be11e61f34
This commit is contained in:
Ian Wienand 2021-05-10 12:13:10 +10:00
parent 4d16ccdbef
commit 80ff74ca4d
11 changed files with 72 additions and 6 deletions

View File

@ -30,6 +30,7 @@
- ubuntu-minimal/bionic-build-succeeds - ubuntu-minimal/bionic-build-succeeds
- ubuntu-minimal/focal-build-succeeds - ubuntu-minimal/focal-build-succeeds
- containerfile/focal-build-succeeds - containerfile/focal-build-succeeds
- fedora-container/build-succeeds
- job: - job:
name: dib-functests-image name: dib-functests-image
@ -180,14 +181,18 @@
# mirror: "http://{{ zuul_site_mirror_fqdn }}/centos" # mirror: "http://{{ zuul_site_mirror_fqdn }}/centos"
- job: - job:
name: dib-nodepool-functional-openstack-fedora-32-src name: dib-nodepool-functional-openstack-fedora-34-containerfile-src
description: | description: |
Test building and booting a Fedora 32 image with Nodepool and OpenStack Test building and booting an Fedora image from a
containerfile with Nodepool and OpenStack (using released
libraries)
parent: dib-nodepool-functional-src-base parent: dib-nodepool-functional-src-base
pre-run: playbooks/dib-nodepool/debootstrap.yaml
vars: vars:
nodepool_debug: true
nodepool_diskimage: nodepool_diskimage:
base_element: fedora-minimal base_element: fedora-container
release: '32' release: '34'
- job: - job:
name: dib-nodepool-functional-openstack-ubuntu-xenial-src name: dib-nodepool-functional-openstack-ubuntu-xenial-src

View File

@ -17,7 +17,7 @@
- dib-nodepool-functional-openstack-centos-7-src - dib-nodepool-functional-openstack-centos-7-src
- dib-nodepool-functional-openstack-centos-8-src - dib-nodepool-functional-openstack-centos-8-src
- dib-nodepool-functional-openstack-centos-8-stream-src - dib-nodepool-functional-openstack-centos-8-stream-src
- dib-nodepool-functional-openstack-fedora-32-src - dib-nodepool-functional-openstack-fedora-34-containerfile-src
- dib-nodepool-functional-openstack-ubuntu-xenial-src - dib-nodepool-functional-openstack-ubuntu-xenial-src
- dib-nodepool-functional-openstack-ubuntu-bionic-src - dib-nodepool-functional-openstack-ubuntu-bionic-src
- dib-nodepool-functional-openstack-ubuntu-focal-src - dib-nodepool-functional-openstack-ubuntu-focal-src
@ -46,7 +46,7 @@
- dib-nodepool-functional-openstack-centos-7-src - dib-nodepool-functional-openstack-centos-7-src
- dib-nodepool-functional-openstack-centos-8-src - dib-nodepool-functional-openstack-centos-8-src
- dib-nodepool-functional-openstack-centos-8-stream-src - dib-nodepool-functional-openstack-centos-8-stream-src
- dib-nodepool-functional-openstack-fedora-32-src - dib-nodepool-functional-openstack-fedora-34-containerfile-src
- dib-nodepool-functional-openstack-ubuntu-xenial-src - dib-nodepool-functional-openstack-ubuntu-xenial-src
- dib-nodepool-functional-openstack-ubuntu-bionic-src - dib-nodepool-functional-openstack-ubuntu-bionic-src
- dib-nodepool-functional-openstack-ubuntu-focal-src - dib-nodepool-functional-openstack-ubuntu-focal-src

View File

@ -0,0 +1,9 @@
================
fedora-container
================
Create a minimal image based on Fedora container image
This element sets the ``DIB_RELEASE`` var to 'fedora'. The release of
fedora to be installed can be controlled through the ``DIB_RELEASE``
variable, which defaults the latest supported release.

View File

@ -0,0 +1,3 @@
FROM docker.io/library/fedora:34
RUN dnf install -y findutils

View File

@ -0,0 +1,6 @@
containerfile
package-installs
redhat-common
rpm-distro
vm
yum

View File

@ -0,0 +1,2 @@
export DISTRO_NAME=fedora
export DIB_RELEASE=${DIB_RELEASE:-34}

View File

@ -0,0 +1 @@
export YUM=dnf

View File

@ -0,0 +1,20 @@
audit:
dracut:
dracut-config-generic:
grubby:
kernel:
initscripts:
man-pages:
lsb_release:
redhat-rpm-config:
linux-firmware:
uninstall: true
linux-firmware-whence:
uninstall: true
# NOTE(ianw) pkg-map restricts this to !rhel/centos 7; in 7
# the "initscripts" package handles basic networking, in
# 8+ it's the role of NetworkManager and dhcp-client. This
# mirrors the default packages installed in upstream cloud images
# to facilitate a basic network.
NetworkManager:
dhcp-client:

View File

@ -0,0 +1,16 @@
{
"release": {
"centos": {
"7": {
"NetworkManager": "",
"dhcp-client": ""
}
}
},
"family": {
"redhat": {
"lsb_release": "redhat-lsb-core"
}
}
}

View File

@ -0,0 +1 @@
Verify we can build a fedora-container image.

View File

@ -0,0 +1,3 @@
block-device-gpt
openstack-ci-mirrors
vm