From 1ad802190df806975f6365dc85b9b3562fb9bf09 Mon Sep 17 00:00:00 2001 From: vela Date: Tue, 4 Mar 2025 12:44:15 -0800 Subject: [PATCH 1/3] add ena driver version in version info file --- templates/al2/template.json | 3 ++- templates/al2023/template.json | 5 ++++- templates/shared/provisioners/generate-version-info.sh | 9 ++++++++- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/templates/al2/template.json b/templates/al2/template.json index ce15efdf1..3ed41f5e5 100644 --- a/templates/al2/template.json +++ b/templates/al2/template.json @@ -242,7 +242,8 @@ "script": "{{template_dir}}/../shared/provisioners/generate-version-info.sh", "execute_command": "chmod +x {{ .Path }}; {{ .Path }} {{user `working_dir`}}/version-info.json", "environment_vars": [ - "CACHE_CONTAINER_IMAGES={{user `cache_container_images`}}" + "CACHE_CONTAINER_IMAGES={{user `cache_container_images`}}", + "VARIANT=al2" ] }, { diff --git a/templates/al2023/template.json b/templates/al2023/template.json index fc050787a..745c4726d 100644 --- a/templates/al2023/template.json +++ b/templates/al2023/template.json @@ -294,7 +294,10 @@ "type": "shell", "remote_folder": "{{ user `remote_folder`}}", "script": "{{template_dir}}/../shared/provisioners/generate-version-info.sh", - "execute_command": "chmod +x {{ .Path }}; {{ .Path }} {{user `working_dir`}}/version-info.json" + "execute_command": "chmod +x {{ .Path }}; {{ .Path }} {{user `working_dir`}}/version-info.json", + "environment_vars": [ + "VARIANT=al2023" + ] }, { "type": "file", diff --git a/templates/shared/provisioners/generate-version-info.sh b/templates/shared/provisioners/generate-version-info.sh index d6b5b3c44..79f2a38a6 100644 --- a/templates/shared/provisioners/generate-version-info.sh +++ b/templates/shared/provisioners/generate-version-info.sh @@ -13,7 +13,14 @@ fi OUTPUT_FILE="$1" # packages -sudo rpm --query --all --queryformat '\{"%{NAME}": "%{VERSION}-%{RELEASE}"\}\n' | jq --slurp --sort-keys 'add | {packages:(.)}' > "$OUTPUT_FILE" +packages=$(sudo rpm --query --all --queryformat '\{"%{NAME}": "%{VERSION}-%{RELEASE}"\}\n' | jq --slurp --sort-keys 'add | {packages:(.)}') +# Get ENA driver version +if [ "${VARIANT:-}" = "al2" ]; then + ena_version=$(sudo ethtool -i eth0 | awk '/version:/ {print $2}') +else + ena_version=$(sudo ethtool -i ens5 | awk '/version:/ {print $2}') +fi +echo "$packages" | jq --arg ena_version "$ena_version" '.packages["ena"] = $ena_version' > $OUTPUT_FILE # binaries KUBELET_VERSION=$(kubelet --version | awk '{print $2}') From f8cbad76311000f331f321794e93174da9337004 Mon Sep 17 00:00:00 2001 From: vela Date: Tue, 4 Mar 2025 13:25:24 -0800 Subject: [PATCH 2/3] fix interface name diff in AL2 and AL2023 --- templates/al2/template.json | 3 +-- templates/al2023/template.json | 5 +---- templates/shared/provisioners/generate-version-info.sh | 7 ++----- 3 files changed, 4 insertions(+), 11 deletions(-) diff --git a/templates/al2/template.json b/templates/al2/template.json index 3ed41f5e5..ce15efdf1 100644 --- a/templates/al2/template.json +++ b/templates/al2/template.json @@ -242,8 +242,7 @@ "script": "{{template_dir}}/../shared/provisioners/generate-version-info.sh", "execute_command": "chmod +x {{ .Path }}; {{ .Path }} {{user `working_dir`}}/version-info.json", "environment_vars": [ - "CACHE_CONTAINER_IMAGES={{user `cache_container_images`}}", - "VARIANT=al2" + "CACHE_CONTAINER_IMAGES={{user `cache_container_images`}}" ] }, { diff --git a/templates/al2023/template.json b/templates/al2023/template.json index 745c4726d..fc050787a 100644 --- a/templates/al2023/template.json +++ b/templates/al2023/template.json @@ -294,10 +294,7 @@ "type": "shell", "remote_folder": "{{ user `remote_folder`}}", "script": "{{template_dir}}/../shared/provisioners/generate-version-info.sh", - "execute_command": "chmod +x {{ .Path }}; {{ .Path }} {{user `working_dir`}}/version-info.json", - "environment_vars": [ - "VARIANT=al2023" - ] + "execute_command": "chmod +x {{ .Path }}; {{ .Path }} {{user `working_dir`}}/version-info.json" }, { "type": "file", diff --git a/templates/shared/provisioners/generate-version-info.sh b/templates/shared/provisioners/generate-version-info.sh index 79f2a38a6..a5d196dc5 100644 --- a/templates/shared/provisioners/generate-version-info.sh +++ b/templates/shared/provisioners/generate-version-info.sh @@ -15,11 +15,8 @@ OUTPUT_FILE="$1" # packages packages=$(sudo rpm --query --all --queryformat '\{"%{NAME}": "%{VERSION}-%{RELEASE}"\}\n' | jq --slurp --sort-keys 'add | {packages:(.)}') # Get ENA driver version -if [ "${VARIANT:-}" = "al2" ]; then - ena_version=$(sudo ethtool -i eth0 | awk '/version:/ {print $2}') -else - ena_version=$(sudo ethtool -i ens5 | awk '/version:/ {print $2}') -fi +network_interface=$(sudo ip link show | awk -F': ' '$2 ~ /^eth|^ens/ {print $2}' | head -n1) +ena_version=$(sudo ethtool -i $network_interface | awk '/version:/ {print $2}') echo "$packages" | jq --arg ena_version "$ena_version" '.packages["ena"] = $ena_version' > $OUTPUT_FILE # binaries From 2487f7e4718e6b27bba4942bc72ae2969b42e39d Mon Sep 17 00:00:00 2001 From: vela Date: Tue, 4 Mar 2025 14:02:30 -0800 Subject: [PATCH 3/3] get ena version using modinfo --- templates/shared/provisioners/generate-version-info.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/templates/shared/provisioners/generate-version-info.sh b/templates/shared/provisioners/generate-version-info.sh index a5d196dc5..41a5fdda6 100644 --- a/templates/shared/provisioners/generate-version-info.sh +++ b/templates/shared/provisioners/generate-version-info.sh @@ -13,11 +13,11 @@ fi OUTPUT_FILE="$1" # packages -packages=$(sudo rpm --query --all --queryformat '\{"%{NAME}": "%{VERSION}-%{RELEASE}"\}\n' | jq --slurp --sort-keys 'add | {packages:(.)}') +sudo rpm --query --all --queryformat '\{"%{NAME}": "%{VERSION}-%{RELEASE}"\}\n' | jq --slurp --sort-keys 'add | {packages:(.)}' > $OUTPUT_FILE + # Get ENA driver version -network_interface=$(sudo ip link show | awk -F': ' '$2 ~ /^eth|^ens/ {print $2}' | head -n1) -ena_version=$(sudo ethtool -i $network_interface | awk '/version:/ {print $2}') -echo "$packages" | jq --arg ena_version "$ena_version" '.packages["ena"] = $ena_version' > $OUTPUT_FILE +ENA_VERSION=$(sudo modinfo ena | grep -i "^version:" | awk '{print $2}') +echo $(jq ".kernel_modules.ena = \"$ENA_VERSION\"" $OUTPUT_FILE) > $OUTPUT_FILE # binaries KUBELET_VERSION=$(kubelet --version | awk '{print $2}')