Merge "Add iscsi-boot element for CentOS images"

This commit is contained in:
Zuul 2018-06-27 09:54:10 +00:00 committed by Gerrit Code Review
commit e796b3bc18
3 changed files with 39 additions and 5 deletions

View File

@ -3,11 +3,18 @@ iscsi-boot
==========
Handles configuration for the disk to be capable of serving as
a remote root filesystem through iSCSI. Currently, this element
only configures Ubuntu/Debian images.
can configure Ubuntu/Debian images and CentOS7 images.
It performs the following actions:
* Installs the ``open-iscsi`` package.
* Creates the ``etc/iscsi/iscsi.initramfs`` configuration file and sets
``ISCSI_AUTO=true`` within it.
* Updates the initramfs to apply the changes.
For Ubuntu/Debian images:
* Installs the ``open-iscsi`` package.
* Creates the ``etc/iscsi/iscsi.initramfs`` configuration file and sets
``ISCSI_AUTO=true`` within it.
* Updates the initramfs to apply the changes.
For CentOS7 images:
* Required ``dracut-regenerate`` element when performs ``disk-image-create``.
* Updates ``network`` and ``iscsi`` into ``dracut-regenerate`` during
pre-installs.
* Updates ``GRUB_CMDLINE_LINUX_DEFAULT`` into ``/etc/default/grub``.

View File

@ -0,0 +1,14 @@
if [[ $DISTRO_NAME = "centos7" ]]; then
eval declare -A image_elements=($(get_image_element_array))
found=0
for i in "${!image_elements[@]}"; do
[ "$i" = "dracut-regenerate" ] && found=1
done
[ "$found" = 0 ] && echo "The dracut-regenerate element is required!" && exit 1
DIB_DRACUT_ENABLED_MODULES+="
- name: network
- name: iscsi
"
export DIB_DRACUT_ENABLED_MODULES
fi

View File

@ -0,0 +1,13 @@
#!/bin/bash
if [ ${DIB_DEBUG_TRACE:-0} -gt 0 ]; then
set -x
fi
set -eu
set -o pipefail
if [[ $DISTRO_NAME = "centos7" ]]; then
sed -i -E 's/(GRUB_CMDLINE_LINUX_DEFAULT=")(.+)(")/\1\2 rd.iscsi.firmware=1"/' /etc/default/grub
grub2-mkconfig -o /boot/grub2/grub.cfg
fi