From d145736679d43bff7ece666f82a34ed730c85541 Mon Sep 17 00:00:00 2001 From: Matt Fraser Date: Mon, 16 Sep 2024 13:24:52 -0700 Subject: [PATCH] Fix IP issues in AlmaLinux (#381) IP configuration kept getting overridden on Alma by cloud init, causing AzNHC to fail. This was working fine during build, but creating a new VM from the image would revert the configuration. Added config to the SKU Customization service to change it on boot. --- alma/common/disable_cloudinit.sh | 5 ++--- common/setup_sku_customizations.sh | 2 ++ customizations/alma_disable_cloudinit.sh | 12 ++++++++++++ tests/test-definitions.sh | 4 ++++ 4 files changed, 20 insertions(+), 3 deletions(-) create mode 100755 customizations/alma_disable_cloudinit.sh diff --git a/alma/common/disable_cloudinit.sh b/alma/common/disable_cloudinit.sh index 33b5f4d8..f7248239 100755 --- a/alma/common/disable_cloudinit.sh +++ b/alma/common/disable_cloudinit.sh @@ -7,6 +7,5 @@ network: {config: disabled} EOF # Remove Hardware Mac Address and DHCP Name -cp /etc/sysconfig/network-scripts/ifcfg-eth0 tempFile -grep -v -E "HWADDR=|DHCP_HOSTNAME=" /etc/sysconfig/network-scripts/ifcfg-eth0 > tempFile -mv tempFile /etc/sysconfig/network-scripts/ifcfg-eth0 +sed -i '/^HWADDR=.*$/d' /etc/sysconfig/network-scripts/ifcfg-eth0 +sed -i '/^DHCP_HOSTNAME=.*$/d' /etc/sysconfig/network-scripts/ifcfg-eth0 diff --git a/common/setup_sku_customizations.sh b/common/setup_sku_customizations.sh index 7c425b16..2176a2ea 100755 --- a/common/setup_sku_customizations.sh +++ b/common/setup_sku_customizations.sh @@ -14,6 +14,8 @@ if [ "$GPU" = "NVIDIA" ]; then cat </usr/sbin/setup_sku_customizations.sh #!/bin/bash +/opt/azurehpc/customizations/alma_disable_cloudinit.sh + metadata_endpoint="http://169.254.169.254/metadata/instance?api-version=2019-06-04" vmSize=\$(curl -H Metadata:true \$metadata_endpoint | jq -r ".compute.vmSize") diff --git a/customizations/alma_disable_cloudinit.sh b/customizations/alma_disable_cloudinit.sh new file mode 100755 index 00000000..58637a59 --- /dev/null +++ b/customizations/alma_disable_cloudinit.sh @@ -0,0 +1,12 @@ +#!/bin/bash +set -ex + +# TEMP add to fix changed behavior in AlmaLinux 8.7. +# Cloud init keeps reverting the changes /etc/sysconfig/network-scripts/ifcfg-eth0 even though it is disabled +os=$(cat /etc/os-release | awk 'match($0, /^NAME="(.*)"/, result) { print result[1] }') +if [[ $os == "AlmaLinux" ]] +then + # Remove Hardware Mac Address and DHCP Name + sed -i '/^HWADDR=.*$/d' /etc/sysconfig/network-scripts/ifcfg-eth0 + sed -i '/^DHCP_HOSTNAME=.*$/d' /etc/sysconfig/network-scripts/ifcfg-eth0 +fi diff --git a/tests/test-definitions.sh b/tests/test-definitions.sh index 66c480d5..328ea6f0 100755 --- a/tests/test-definitions.sh +++ b/tests/test-definitions.sh @@ -45,6 +45,10 @@ function verify_ib_device_status { # verify ifconfig ifconfig | grep "ib[[:digit:]]:\|ibP" check_exit_code "IB device is configured" "IB device not configured" + + #verify hostname -i returns IP address only + hostname -i | grep -E "^([[:digit:]]{1,3}[\.]){3}[[:digit:]]{1,3}$" + check_exit_code "Hostname -i returns IP address" "Hostname -i does not return IP address" } function verify_hpcx_installation {