Skip to content

Commit 92431a5

Browse files
committed
[tests][improvement] Standardize bash error handling in e2e chainsaw tests by using 'set -euo pipefail'
Replace 'set -e' with 'set -euo pipefail' across all e2e chainsaw test scripts to enable stricter error handling. Add 'set -euo pipefail' to catch blocks that were missing it. This ensures scripts fail on undefined variables and pipeline errors in addition to command failures.
1 parent c80c5ec commit 92431a5

47 files changed

Lines changed: 150 additions & 103 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

e2e/bgp-test/lb-cilium-bgp/chainsaw-test.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ spec:
1010
catch:
1111
- script:
1212
content: |
13+
set -euo pipefail
1314
echo "Test failed. Fetching CCM logs..."
1415
kubectl logs -n kube-system daemonsets/ccm-linode | grep "cilium-bgp-test" | tail -100
1516
steps:
@@ -66,7 +67,7 @@ spec:
6667
try:
6768
- script:
6869
content: |
69-
set -e
70+
set -euo pipefail
7071
7172
delete_nanode() {
7273
local NANODE_RESPONSE=$(curl -s -H "Authorization: Bearer $LINODE_TOKEN" \

e2e/subnet-test/chainsaw-test.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,15 @@ spec:
1313
catch:
1414
- script:
1515
content: |
16+
set -euo pipefail
1617
echo "Test failed. Fetching CCM logs..."
1718
kubectl logs -n kube-system daemonsets/ccm-linode | grep "subnet-filtering-test" | tail -100
1819
steps:
1920
- name: Check if the CCM for each cluster focus on their individual subnets
2021
try:
2122
- script:
2223
content: |
23-
set -e
24+
set -euo pipefail
2425
2526
if [ -z "$FIRST_CONFIG" ] || [ -z "$SECOND_CONFIG" ] || [ -z "$LINODE_TOKEN" ]; then
2627
echo "Error: FIRST_CONFIG, SECOND_CONFIG, and LINODE_TOKEN environment variables must be set"

e2e/test/fw-use-specified-nb/chainsaw-test.yaml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ spec:
1414
catch:
1515
- script:
1616
content: |
17+
set -euo pipefail
1718
echo "Test failed. Fetching CCM logs..."
1819
kubectl logs -n kube-system daemonsets/ccm-linode | grep "fw-use-specified-nb" | tail -100
1920
steps:
@@ -24,7 +25,7 @@ spec:
2425
- name: FWLABEL
2526
value: ($fwname)
2627
content: |
27-
set -e
28+
set -euo pipefail
2829
2930
create_fw=$(curl -s --write-out "%{http_code}\n" --output /dev/null --request POST \
3031
-H "Authorization: Bearer $LINODE_TOKEN" \
@@ -84,7 +85,7 @@ spec:
8485
- name: FWLABEL
8586
value: ($fwname)
8687
content: |
87-
set -e
88+
set -euo pipefail
8889
re='^[0-9]+$'
8990
9091
fwid=$(curl -s \

e2e/test/lb-created-with-invalid-ip/chainsaw-test.yaml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,15 @@ spec:
1111
catch:
1212
- script:
1313
content: |
14+
set -euo pipefail
1415
echo "Test failed. Fetching CCM logs..."
1516
kubectl logs -n kube-system daemonsets/ccm-linode | grep "lb-created-with-invalid-ip" | tail -100
1617
steps:
1718
- name: create reserved ip and nodebalancer resources
1819
try:
1920
- script:
2021
content: |
21-
set -e
22+
set -euo pipefail
2223
2324
invalid_ip="100.1000.1000.1000"
2425
@@ -46,7 +47,7 @@ spec:
4647
cleanup:
4748
- script:
4849
content: |
49-
set -e
50+
set -euo pipefail
5051
5152
delete_cm=$(kubectl delete configmap invalid-ip-config -n $NAMESPACE)
5253
if [[ "$delete_cm" == "configmap \"invalid-ip-config\" deleted" ]]; then
@@ -71,7 +72,7 @@ spec:
7172
try:
7273
- script:
7374
content: |
74-
set -e
75+
set -euo pipefail
7576
sleep 30
7677
invalid_ip=$(kubectl get configmap invalid-ip-config -o=jsonpath='{.data.InvalidIP}' -n $NAMESPACE)
7778
if [[ -z "$invalid_ip" ]]; then

e2e/test/lb-created-with-new-nb-id/chainsaw-test.yaml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ spec:
1111
catch:
1212
- script:
1313
content: |
14+
set -euo pipefail
1415
echo "Test failed. Fetching CCM logs..."
1516
kubectl logs -n kube-system daemonsets/ccm-linode | grep "lb-created-with-new-nb-id" | tail -100
1617
steps:
@@ -39,7 +40,7 @@ spec:
3940
- name: nbconf
4041
value: (json_parse($stdout))
4142
content: |
42-
set -e
43+
set -euo pipefail
4344
4445
re='^[0-9]+$'
4546
LABEL="ccm-$(head /dev/urandom | tr -dc 'a-z0-9' | head -c 5)"
@@ -85,7 +86,7 @@ spec:
8586
try:
8687
- script:
8788
content: |
88-
set -e
89+
set -euo pipefail
8990
9091
expectedId=$(kubectl get svc svc-test -n $NAMESPACE -o json | jq -r .metadata.annotations[])
9192
nbid=$(KUBECONFIG=$KUBECONFIG NAMESPACE=$NAMESPACE LINODE_TOKEN=$LINODE_TOKEN ../scripts/get-nb-id.sh)
@@ -100,7 +101,7 @@ spec:
100101
try:
101102
- script:
102103
content: |
103-
set -e
104+
set -euo pipefail
104105
105106
re='^[0-9]+$'
106107

e2e/test/lb-created-with-reserved-ip-and-nb-id-annotations/chainsaw-test.yaml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ spec:
1111
catch:
1212
- script:
1313
content: |
14+
set -euo pipefail
1415
echo "Test failed. Fetching CCM logs..."
1516
kubectl logs -n kube-system daemonsets/ccm-linode | grep "lb-created-with-reserved-and-nb-id-annotations" | tail -100
1617
steps:
@@ -36,7 +37,7 @@ spec:
3637
try:
3738
- script:
3839
content: |
39-
set -e
40+
set -euo pipefail
4041
4142
re='^((25[0-5]|2[0-4][0-9]|1?[0-9]{1,2})\.){3}(25[0-5]|2[0-4][0-9]|1?[0-9]{1,2})$'
4243
@@ -93,7 +94,7 @@ spec:
9394
cleanup:
9495
- script:
9596
content: |
96-
set -e
97+
set -euo pipefail
9798
9899
reserved_ip=$(kubectl get configmap nb-config -o=jsonpath='{.data.Reserved_IP}' -n $NAMESPACE)
99100
if [ -z "$reserved_ip" ]; then
@@ -137,7 +138,7 @@ spec:
137138
try:
138139
- script:
139140
content: |
140-
set -e
141+
set -euo pipefail
141142
142143
reserved_ip=$(kubectl get configmap nb-config -o=jsonpath='{.data.Reserved_IP}' -n $NAMESPACE)
143144
if [ -z "$reserved_ip" ]; then
@@ -171,4 +172,4 @@ spec:
171172
(contains($stdout, 'No service ip found for service svc-test')): false
172173
(contains($stdout, 'IPs do not match')): false
173174
(contains($stdout, 'NB IDs do not match')): false
174-
175+

e2e/test/lb-created-with-reserved-ip-attached-to-nb/chainsaw-test.yaml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ spec:
1111
catch:
1212
- script:
1313
content: |
14+
set -euo pipefail
1415
echo "Test failed. Fetching CCM logs..."
1516
kubectl logs -n kube-system daemonsets/ccm-linode | grep "lb-created-with-reserved-ip-attached-to-nb" | tail -100
1617
steps:
@@ -37,7 +38,7 @@ spec:
3738
try:
3839
- script:
3940
content: |
40-
set -e
41+
set -euo pipefail
4142
4243
re='^((25[0-5]|2[0-4][0-9]|1?[0-9]{1,2})\.){3}(25[0-5]|2[0-4][0-9]|1?[0-9]{1,2})$'
4344
@@ -94,7 +95,7 @@ spec:
9495
cleanup:
9596
- script:
9697
content: |
97-
set -e
98+
set -euo pipefail
9899
99100
reserved_ip=$(kubectl get configmap nb-config -o=jsonpath='{.data.Reserved_IP}' -n $NAMESPACE)
100101
if [ -z "$reserved_ip" ]; then
@@ -155,7 +156,7 @@ spec:
155156
try:
156157
- script:
157158
content: |
158-
set -e
159+
set -euo pipefail
159160
160161
reserved_ip=$(kubectl get configmap nb-config -o=jsonpath='{.data.Reserved_IP}' -n $NAMESPACE)
161162
if [ -z "$reserved_ip" ]; then
@@ -184,4 +185,4 @@ spec:
184185
(contains($stdout, 'No reserved ip found in configmap')): false
185186
(contains($stdout, 'Service ip found for service svc-test. Expected to be empty')): false
186187
(contains($stdout, 'IPs do not match')): true
187-
188+

e2e/test/lb-created-with-reserved-ip-change-ip-concurrently/chainsaw-test.yaml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,16 @@ spec:
1111
catch:
1212
- script:
1313
content: |
14+
set -euo pipefail
1415
echo "Test failed. Fetching CCM logs..."
1516
kubectl logs -n kube-system daemonsets/ccm-linode | grep "lb-created-with-reserved-ip-change-ip-concurrently" | tail -100
1617
steps:
1718
- name: create reserved ip and nodebalancer resources
1819
try:
1920
- script:
2021
content: |
22+
set -euo pipefail
2123
#!/bin/bash
22-
set -e
2324
2425
re='^((25[0-5]|2[0-4][0-9]|1?[0-9]{1,2})\.){3}(25[0-5]|2[0-4][0-9]|1?[0-9]{1,2})$'
2526
@@ -77,7 +78,7 @@ spec:
7778
cleanup:
7879
- script:
7980
content: |
80-
set -e
81+
set -euo pipefail
8182
8283
reserved_ip=$(kubectl get configmap reserved-ip-config -o=jsonpath='{.data.ReservedIP}' -n $NAMESPACE)
8384
if [ -z "$reserved_ip" ]; then
@@ -138,8 +139,8 @@ spec:
138139
try:
139140
- script:
140141
content: |
142+
set -euo pipefail
141143
#!/bin/bash
142-
set -e
143144
144145
patch_annotation() {
145146
VALUE=$1
@@ -193,7 +194,7 @@ spec:
193194
try:
194195
- script:
195196
content: |
196-
set -e
197+
set -euo pipefail
197198
198199
reserved_ip=$(kubectl get configmap reserved-ip-config -o=jsonpath='{.data.ReservedIP}' -n $NAMESPACE)
199200
if [ -z "$reserved_ip" ]; then

e2e/test/lb-created-with-reserved-ip-change-ip-unreserved/chainsaw-test.yaml

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,16 @@ spec:
1111
catch:
1212
- script:
1313
content: |
14+
set -euo pipefail
1415
echo "Test failed. Fetching CCM logs..."
1516
kubectl logs -n kube-system daemonsets/ccm-linode | grep "lb-created-with-reserved-ip-change-ip-unreserved" | tail -100
1617
steps:
1718
- name: create reserved ip and nodebalancer resources
1819
try:
1920
- script:
2021
content: |
22+
set -euo pipefail
2123
#!/bin/bash
22-
set -e
2324
2425
re='^((25[0-5]|2[0-4][0-9]|1?[0-9]{1,2})\.){3}(25[0-5]|2[0-4][0-9]|1?[0-9]{1,2})$'
2526
@@ -62,7 +63,7 @@ spec:
6263
cleanup:
6364
- script:
6465
content: |
65-
set -e
66+
set -euo pipefail
6667
6768
reserved_ip=$(kubectl get configmap reserved-ip-config -o=jsonpath='{.data.ReservedIP}' -n $NAMESPACE)
6869
if [ -z "$reserved_ip" ]; then
@@ -105,8 +106,8 @@ spec:
105106
try:
106107
- script:
107108
content: |
109+
set -euo pipefail
108110
#!/bin/bash
109-
set -e
110111
111112
reserved_ip=$(kubectl get configmap reserved-ip-config -o=jsonpath='{.data.ReservedIP}' -n $NAMESPACE)
112113
if [ -z "$reserved_ip" ]; then
@@ -150,7 +151,7 @@ spec:
150151
try:
151152
- script:
152153
content: |
153-
set -e
154+
set -euo pipefail
154155
155156
reserved_ip=$(kubectl get configmap reserved-ip-config -o=jsonpath='{.data.ReservedIP}' -n $NAMESPACE)
156157
if [ -z "$reserved_ip" ]; then
@@ -175,4 +176,4 @@ spec:
175176
(contains($stdout, 'No reserved ip found in configmap')): false
176177
(contains($stdout, 'No service ip found for service svc-test')): false
177178
(contains($stdout, 'IPs do not match')): false
178-
179+

e2e/test/lb-created-with-reserved-ip-change-ip/chainsaw-test.yaml

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,16 @@ spec:
1111
catch:
1212
- script:
1313
content: |
14+
set -euo pipefail
1415
echo "Test failed. Fetching CCM logs..."
1516
kubectl logs -n kube-system daemonsets/ccm-linode | grep "lb-created-with-reserved-ip-change-ip" | tail -100
1617
steps:
1718
- name: create reserved ip and nodebalancer resources
1819
try:
1920
- script:
2021
content: |
22+
set -euo pipefail
2123
#!/bin/bash
22-
set -e
2324
2425
re='^((25[0-5]|2[0-4][0-9]|1?[0-9]{1,2})\.){3}(25[0-5]|2[0-4][0-9]|1?[0-9]{1,2})$'
2526
@@ -76,7 +77,7 @@ spec:
7677
cleanup:
7778
- script:
7879
content: |
79-
set -e
80+
set -euo pipefail
8081
8182
reserved_ip=$(kubectl get configmap reserved-ip-config -o=jsonpath='{.data.ReservedIP}' -n $NAMESPACE)
8283
if [ -z "$reserved_ip" ]; then
@@ -133,8 +134,8 @@ spec:
133134
try:
134135
- script:
135136
content: |
137+
set -euo pipefail
136138
#!/bin/bash
137-
set -e
138139
139140
reserved_ip=$(kubectl get configmap reserved-ip-config -o=jsonpath='{.data.ReservedIP}' -n $NAMESPACE)
140141
if [ -z "$reserved_ip" ]; then
@@ -178,7 +179,7 @@ spec:
178179
try:
179180
- script:
180181
content: |
181-
set -e
182+
set -euo pipefail
182183
183184
reserved_ip=$(kubectl get configmap reserved-ip-config -o=jsonpath='{.data.ReservedIP}' -n $NAMESPACE)
184185
if [ -z "$reserved_ip" ]; then
@@ -203,4 +204,4 @@ spec:
203204
(contains($stdout, 'No reserved ip found in configmap')): false
204205
(contains($stdout, 'No service ip found for service svc-test')): false
205206
(contains($stdout, 'IPs do not match')): false
206-
207+

0 commit comments

Comments
 (0)