Improve the ability to enable swap

This change will imporve the ability to enable a swap partition should
one be present. The updated script will now use the label when defined
and found, it then will look for a partition in the /etc/fstab file prior
to writing the file system entry. This resolves an issue where if this
template was executed more than once, a given partition would be written
to the /etc/fstab file repeatedly. If a given label is undefined the
script will look for swap filesystem types and use the UUID of the given
swap filesystem to enable swap functionality. This improvement will
ensure hosts that have swap partition already created, but potentially
unlabled, are able to be handled correctly. This will work with LVM,
Logical, Primary partition types.

Change-Id: I60a1f427d4f58ae559c797f37f8230d6eb694e1d
Signed-off-by: Kevin Carter <kecarter@redhat.com>
This commit is contained in:
Kevin Carter 2020-02-20 17:41:04 -06:00
parent e86b3e9b33
commit 5e3719d21e
No known key found for this signature in database
GPG Key ID: CE94BD890A47B20A
1 changed files with 11 additions and 6 deletions

View File

@ -18,14 +18,19 @@ resources:
config: | config: |
#!/bin/bash #!/bin/bash
set -eux set -eux
swap_partition=$(realpath /dev/disk/by-label/$swap_partition_label) if [ -e "/dev/disk/by-label/${swap_partition_label}" ]; then
if [ -f "$swap_partition" ]; then swap_partition=$(realpath /dev/disk/by-label/${swap_partition_label})
swapon $swap_partition if ! grep -qe "${swap_partition}" /etc/fstab; then
echo "$swap_partition swap swap defaults 0 0" >> /etc/fstab echo "$swap_partition swap swap defaults 0 0" | tee -a /etc/fstab
fi
else else
echo "$swap_partition needs to be a valid path" for item in $(lsblk -f --output FSTYPE,UUID | awk '/swap/ {print $2}'); do
echo "Check that $swap_partition_label is a valid partition label" if ! grep -qe "${item}" /etc/fstab; then
echo -e "UUID=${item} swap swap defaults 0 0" | tee -a /etc/fstab
fi
done
fi fi
swapon -a
inputs: inputs:
- name: swap_partition_label - name: swap_partition_label
description: Swap partition label description: Swap partition label