Merge "Add iscsi-boot element for CentOS images"
This commit is contained in:
commit
e796b3bc18
@ -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``.
|
||||
|
@ -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
|
13
diskimage_builder/elements/iscsi-boot/finalise.d/51-open-iscsi-config
Executable file
13
diskimage_builder/elements/iscsi-boot/finalise.d/51-open-iscsi-config
Executable 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
|
Loading…
Reference in New Issue
Block a user