delphix / appliance-build

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

Open palash-gandhi opened 2 months ago

palash-gandhi commented 2 months ago

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:

  1. awscli is no longer available via apt & is supplied via snap
  2. 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.
  3. virtualization needs docker.io installed and running and requires the delphix user added to the docker group
  4. The apt package qemu is replaced by qemu-system
  5. 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.
  6. I was also having trouble with ansible-check, so I chose to replace the internal gradle task with a Github action.

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