Skip to content

Commit f566c2b

Browse files
authored
Merge pull request #35354 from bart0sh/PR084-dra-pull-fallback-to-latest-release
DRA: propagate version selection logic to presubmit jobs
2 parents abd1c20 + 6ba7203 commit f566c2b

File tree

2 files changed

+34
-6
lines changed

2 files changed

+34
-6
lines changed

config/jobs/kubernetes/sig-node/dra-presubmit.yaml

Lines changed: 34 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -342,7 +342,23 @@ presubmits:
342342
minor=$(echo "$revision" | sed -e 's/^v[0-9]*\.\([0-9]*\).*/\1/')
343343
previous_minor=$((minor - 1))
344344
# Test with the stable release to avoid breaking presubmits because of unrelated issues in a release candidate.
345-
previous=$(curl --silent -L "https://dl.k8s.io/release/stable-$major.$previous_minor.txt" )
345+
# Ask curl to append the HTTP status code after the response body (-w ' %{http_code}').
346+
# Then parse the output using Bash parameter expansion:
347+
# ${response% *} → everything before the last space (the body)
348+
# ${response##* } → everything after the last space (the HTTP code)
349+
response=$(curl --silent -w ' %{http_code}' -L "https://dl.k8s.io/release/stable-$major.$previous_minor.txt" )
350+
previous="${response% *}"
351+
status="${response##* }"
352+
if [ "$status" == 404 ] ; then
353+
# if stable doesn't exist - use latest
354+
response=$(curl --silent -w ' %{http_code}' -L "https://dl.k8s.io/release/latest-$major.$previous_minor.txt" )
355+
previous="${response% *}"
356+
status="${response##* }"
357+
fi
358+
if [ "$status" -ne 200 ] ; then
359+
echo "error: unable to get release $major.$previous_minor info, HTTP status: $status, response: $previous"
360+
exit 1
361+
fi
346362
curl --silent -L "https://dl.k8s.io/release/$previous/kubernetes-server-linux-amd64.tar.gz" | tar zxOf - kubernetes/server/bin/kubelet >/tmp/kubelet
347363
chmod a+rx /tmp/kubelet
348364
/tmp/kubelet --version
@@ -457,7 +473,23 @@ presubmits:
457473
minor=$(echo "$revision" | sed -e 's/^v[0-9]*\.\([0-9]*\).*/\1/')
458474
previous_minor=$((minor - 2))
459475
# Test with the stable release to avoid breaking presubmits because of unrelated issues in a release candidate.
460-
previous=$(curl --silent -L "https://dl.k8s.io/release/stable-$major.$previous_minor.txt" )
476+
# Ask curl to append the HTTP status code after the response body (-w ' %{http_code}').
477+
# Then parse the output using Bash parameter expansion:
478+
# ${response% *} → everything before the last space (the body)
479+
# ${response##* } → everything after the last space (the HTTP code)
480+
response=$(curl --silent -w ' %{http_code}' -L "https://dl.k8s.io/release/stable-$major.$previous_minor.txt" )
481+
previous="${response% *}"
482+
status="${response##* }"
483+
if [ "$status" == 404 ] ; then
484+
# if stable doesn't exist - use latest
485+
response=$(curl --silent -w ' %{http_code}' -L "https://dl.k8s.io/release/latest-$major.$previous_minor.txt" )
486+
previous="${response% *}"
487+
status="${response##* }"
488+
fi
489+
if [ "$status" -ne 200 ] ; then
490+
echo "error: unable to get release $major.$previous_minor info, HTTP status: $status, response: $previous"
491+
exit 1
492+
fi
461493
curl --silent -L "https://dl.k8s.io/release/$previous/kubernetes-server-linux-amd64.tar.gz" | tar zxOf - kubernetes/server/bin/kubelet >/tmp/kubelet
462494
chmod a+rx /tmp/kubelet
463495
/tmp/kubelet --version

config/jobs/kubernetes/sig-node/dra.jinja

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,6 @@ presubmits:
213213
curl --silent -L "https://dl.k8s.io/ci/$previous/kubernetes-server-linux-amd64.tar.gz" | tar zxOf - kubernetes/server/bin/kubelet >/tmp/kubelet
214214
{%- else %}
215215
# Test with the stable release to avoid breaking presubmits because of unrelated issues in a release candidate.
216-
{%- if canary %}
217216
# Ask curl to append the HTTP status code after the response body (-w ' %{http_code}').
218217
# Then parse the output using Bash parameter expansion:
219218
# ${response% *} → everything before the last space (the body)
@@ -231,9 +230,6 @@ presubmits:
231230
echo "error: unable to get release $major.$previous_minor info, HTTP status: $status, response: $previous"
232231
exit 1
233232
fi
234-
{%- else %}
235-
previous=$(curl --silent -L "https://dl.k8s.io/release/stable-$major.$previous_minor.txt" )
236-
{%- endif %}
237233
curl --silent -L "https://dl.k8s.io/release/$previous/kubernetes-server-linux-amd64.tar.gz" | tar zxOf - kubernetes/server/bin/kubelet >/tmp/kubelet
238234
{%- endif %}
239235
chmod a+rx /tmp/kubelet

0 commit comments

Comments
 (0)