This repository contains the code used to build the Ubuntu-based Delphix Appliance, leveraging open-source tools such as Debian's live-build, Docker, Ansible, OpenZFS, and others.
Apache License 2.0
19
stars
41
forks
source link
DLPX-92522 appliance-build changes for LTS upgrade to 24.04 #769
These are changes required to build a 24.04 based bootstrap VM that can
be used to build packages for the 24.04 LTS upgrade project. Here are the
changes:
awscli is no longer available via apt & is supplied via snap
https://github.com/delphix/linux-pkg/pull/325 removes our reliance on an internal version of adoptopenjdk. appliance-build should install openjdk-8-jdk. Note that appliance-build needs to install it because building packages other than virtualization (like make-jpkg, delphix-sso-app etc) also require a JDK installed. If it was only virtualization that needed it, it would have been appropriate to make the JDK a dependency of virtualization.
virtualization needs docker.io installed and running and requires the delphix user added to the docker group
The apt package qemu is replaced by qemu-system
I occasionally ran into build issues like this where dpkg couldn't acquire a lock that was held by unattended-upgrades so I am adding logic to remove that package and disable that service on the buildserver.
I was also having trouble with ansible-check, so I chose to replace the internal gradle task with a Github action.
These are changes required to build a 24.04 based bootstrap VM that can be used to build packages for the 24.04 LTS upgrade project. Here are the changes:
openjdk-8-jdk
. Note that appliance-build needs to install it because building packages other than virtualization (like make-jpkg, delphix-sso-app etc) also require a JDK installed. If it was onlyvirtualization
that needed it, it would have been appropriate to make the JDK a dependency ofvirtualization
.virtualization
needsdocker.io
installed and running and requires thedelphix
user added to thedocker
groupqemu
is replaced byqemu-system
unattended-upgrades
so I am adding logic to remove that package and disable that service on the buildserver.Testing done
I created a bootstrap image and was able to build all packages: https://ops-jenkins.eng-tools-prd.aws.delphixcloud.com/job/linux-pkg/job/os-upgrade/job/build-packages/job/pre-push/14/console