-# Install required packages
-[ -n "$(command -v apt-get)" ] && sudo apt-get install -y \
- git make rsync mkisofs curl virtinst cpu-checker qemu-kvm uuid-runtime \
- libvirt-bin
-[ -n "$(command -v yum)" ] && sudo yum install -y --skip-broken \
- git make rsync genisoimage curl virt-install qemu-kvm util-linux \
- libvirt
-
-# For baremetal, python is indirectly required for PDF parsing
-if [ "${DEPLOY_TYPE}" = 'baremetal' ]; then
- [ -n "$(command -v apt-get)" ] && sudo apt-get install -y \
- python python-ipaddress python-jinja2
- [ -n "$(command -v yum)" ] && sudo yum install -y --skip-broken \
- python python-ipaddress python-jinja2
-fi
-
-# AArch64 VMs use AAVMF (guest UEFI)
-if [ "$(uname -m)" = 'aarch64' ]; then
- [ -n "$(command -v apt-get)" ] && sudo apt-get install -y qemu-efi
- [ -n "$(command -v yum)" ] && sudo yum install -y --skip-broken AAVMF
+# Install required packages on jump server
+if [ ${USE_EXISTING_PKGS} -eq 1 ]; then
+ notify "[NOTE] Skipping distro pkg installation\n" 2 1>&2
+else
+ notify "[NOTE] Installing required distro pkgs\n" 2 1>&2
+ if [ -n "$(command -v apt-get)" ]; then
+ pkg_type='deb'; pkg_cmd='sudo apt-get install -y'
+ else
+ pkg_type='rpm'; pkg_cmd='sudo yum install -y --skip-broken'
+ fi
+ eval "$(parse_yaml "./requirements_${pkg_type}.yaml")"
+ for section in 'common' "${DEPLOY_TYPE}" "$(uname -m)"; do
+ section_var="requirements_pkg_${section}[*]"
+ pkg_list+=" ${!section_var}"
+ done
+ # shellcheck disable=SC2086
+ ${pkg_cmd} ${pkg_list}