Add debian-bullseye image
This adds an initial debian bullseye dib build job. Depends-On: https://review.opendev.org/929147 Change-Id: I63f4077305981b7fbce850ae642923cc117a7810
This commit is contained in:
parent
0f30e60e96
commit
421e59f7bc
34
playbooks/opendev-build-diskimage-base/pre.yaml
Normal file
34
playbooks/opendev-build-diskimage-base/pre.yaml
Normal file
@ -0,0 +1,34 @@
|
||||
- hosts: all
|
||||
pre_tasks:
|
||||
- name: Install custom element requirements
|
||||
become: true
|
||||
package:
|
||||
state: present
|
||||
name:
|
||||
- python3-yaml
|
||||
- name: Setup dib directories
|
||||
become: true
|
||||
shell: |
|
||||
set -x
|
||||
|
||||
mkdir -p /opt/dib_cache
|
||||
chown {{ ansible_user }} /opt/dib_cache
|
||||
chgrp {{ ansible_user }} /opt/dib_cache
|
||||
|
||||
mkdir -p /opt/dib_tmp
|
||||
|
||||
if [ -b /dev/vdb ]; then
|
||||
DEV='/dev/vdb'
|
||||
elif [ -b /dev/xvde ]; then
|
||||
DEV='/dev/xvde'
|
||||
fi
|
||||
|
||||
if [ -n "$DEV" ]; then
|
||||
mkfs.ext4 $DEV
|
||||
mount $DEV /opt/dib_tmp
|
||||
fi
|
||||
|
||||
chown {{ ansible_user }} /opt/dib_tmp
|
||||
chgrp {{ ansible_user }} /opt/dib_tmp
|
||||
roles:
|
||||
- make-source-repositories-cache
|
12
roles/make-source-repositories-cache/README.rst
Normal file
12
roles/make-source-repositories-cache/README.rst
Normal file
@ -0,0 +1,12 @@
|
||||
Reformat the git repo cache for source-respositories
|
||||
|
||||
This reverses the process of creating the /opt/git cache on worker
|
||||
nodes. It turns that cache into the format used by the
|
||||
source-repositories diskimage builder element.
|
||||
|
||||
**Role Variables**
|
||||
|
||||
.. zuul:rolevar:: cached_repos_root
|
||||
:default: /opt/git
|
||||
|
||||
The root of the cached repos.
|
2
roles/make-source-repositories-cache/defaults/main.yaml
Normal file
2
roles/make-source-repositories-cache/defaults/main.yaml
Normal file
@ -0,0 +1,2 @@
|
||||
# Matches prepare_workspace_root
|
||||
cached_repos_root: /opt/git
|
27
roles/make-source-repositories-cache/tasks/main.yaml
Normal file
27
roles/make-source-repositories-cache/tasks/main.yaml
Normal file
@ -0,0 +1,27 @@
|
||||
- name: Reformat the git repo cache for source-repositories
|
||||
environment: "{{ build_diskimage_environment }}"
|
||||
args:
|
||||
executable: /bin/bash
|
||||
shell: |
|
||||
GIT_CACHE_ROOT="{{ cached_repos_root }}"
|
||||
|
||||
REPOTYPE=git
|
||||
CACHE_BASE=${DIB_IMAGE_CACHE}/source-repositories
|
||||
mkdir -p ${CACHE_BASE}
|
||||
|
||||
# Note: maxdepth 4 is based on the current opendev practice of
|
||||
# not having repos deeper than two directory levels. This is
|
||||
# fragile and should probably be replaced with something better,
|
||||
# but as written it saves considerable time.
|
||||
for NODE_CACHE_PATH in $(find $GIT_CACHE_ROOT -maxdepth 4 -type d -name .git); do
|
||||
REPOPATH=$(dirname $NODE_CACHE_PATH)
|
||||
REPONAME=$(basename $REPOPATH)
|
||||
REPOLOCATION="$(echo $REPOPATH | sed "s,$GIT_CACHE_ROOT/,https://,").git"
|
||||
|
||||
# From diskimage-builder element source-repositories
|
||||
CACHE_NAME=$(echo "${REPOTYPE}_${REPOLOCATION}" | sha1sum | awk '{ print $1 }' )
|
||||
CACHE_NAME=${REPONAME//[^A-Za-z0-9]/_}_${CACHE_NAME}
|
||||
CACHE_PATH=${CACHE_BASE}/${CACHE_NAME}
|
||||
|
||||
mv ${REPOPATH} ${CACHE_PATH}
|
||||
done
|
87
zuul.d/jobs.yaml
Normal file
87
zuul.d/jobs.yaml
Normal file
@ -0,0 +1,87 @@
|
||||
- job:
|
||||
name: opendev-build-diskimage-base
|
||||
description: |
|
||||
The abstract base job for building VM images used in OpenDev's Zuul
|
||||
parent: build-diskimage
|
||||
timeout: 7200
|
||||
abstract: true
|
||||
pre-run:
|
||||
- playbooks/opendev-build-diskimage-base/pre.yaml
|
||||
vars:
|
||||
# TODO(corvus): This will eventually be supplied by Zuul
|
||||
build_diskimage_formats:
|
||||
- qcow2
|
||||
build_diskimage_elements: &base_elements
|
||||
- vm
|
||||
- simple-init
|
||||
- openstack-repos
|
||||
- nodepool-base
|
||||
- growroot
|
||||
- infra-package-needs
|
||||
build_diskimage_environment:
|
||||
TMPDIR: /opt/dib_tmp
|
||||
ELEMENTS_PATH: "{{ ansible_user_dir }}/{{ zuul.projects['opendev.org/opendev/zuul-jobs'].src_dir }}/dib-elements"
|
||||
# TODO: Do we want streaming logs?
|
||||
DIB_QUIET: '0'
|
||||
DIB_NO_TMPFS: '1'
|
||||
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+DBa38
|
||||
fOvdyaz/nibrsxiOWZxQVLgjYciUeDy1xvXADaWlqvxmLy+90LHbJFbGxK4AN0mWfwBiUMVyxZjkun39pjTNl2k09OhOq+R52UqnehMc4eBdZCddnCUq4/efbFCJkqe5wY+SE8fYybJjauUL64zyr
|
||||
wf6yfWkXvPVHWa9Y+NCmvH8PCBUcsQnwO7l/Yb4N+8+u6zkODyuc9wLAY+DpnptE3plXtvUs5negC4fvJSnOHpWXuoi9yzp7IlPf6fSjMMDQo0JjCYJwazdzqrIH2VSCcfHAqWF0ECR8IgwZV1bp0
|
||||
xFe0UN0Gjsgkozqf8rvs1AYyTSeD19Wg9j+crTke8E1sfoI/qFzHwzBQFKJ+2l0cs7pZWJBARlhbt1j1IouS2aH+74xwsavRhBz4IsFTPqWiP6JTrgk5cgKRnTqInzNfdaLeUw== zuul-worker@
|
||||
openstack.org
|
||||
|
||||
- job:
|
||||
name: opendev-build-diskimage-base-debuntu
|
||||
description: |
|
||||
An abstract base job for building Debian or Ubuntu based VM images
|
||||
parent: opendev-build-diskimage-base
|
||||
abstract: true
|
||||
vars:
|
||||
build_diskimage_environment:
|
||||
DIB_APT_LOCAL_CACHE: '0'
|
||||
DIB_DISABLE_APT_CLEANUP: '1'
|
||||
DIB_DEBOOTSTRAP_EXTRA_ARGS: '--no-check-gpg'
|
||||
|
||||
- job:
|
||||
name: opendev-build-diskimage-debian-bullseye
|
||||
description: |
|
||||
Build the OpenDev Debian bullseye VM image
|
||||
parent: opendev-build-diskimage-base-debuntu
|
||||
vars:
|
||||
build_diskimage_image_name: debian-bullseye
|
||||
build_diskimage_elements:
|
||||
- *base_elements
|
||||
- debian-minimal
|
||||
- cache-devstack
|
||||
build_diskimage_environment:
|
||||
DIB_RELEASE: 'bullseye'
|
||||
DIB_DISTRIBUTION_MIRROR: 'https://{{ zuul_site_mirror_fqdn }}/debian'
|
||||
DIB_DEBIAN_SECURITY_MIRROR:
|
||||
'https://{{ zuul_site_mirror_fqdn }}/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
|
@ -1,7 +1,7 @@
|
||||
- project:
|
||||
check:
|
||||
jobs:
|
||||
- noop
|
||||
- opendev-build-diskimage-debian-bullseye
|
||||
gate:
|
||||
jobs:
|
||||
- noop
|
||||
- opendev-build-diskimage-debian-bullseye
|
||||
|
Loading…
Reference in New Issue
Block a user