4
4
5
5
set -e
6
6
7
+ SECONDS=0
7
8
SCRIPT_DIR=" $( cd " $( dirname " ${BASH_SOURCE[0]} " ) " > /dev/null 2>&1 && pwd ) "
8
9
echo " Running AWS Load Balancer Controller e2e tests with the following variables
9
10
KUBE CONFIG: $KUBE_CONFIG_PATH
10
11
CLUSTER_NAME: $CLUSTER_NAME
11
12
REGION: $REGION
12
13
OS_OVERRIDE: $OS_OVERRIDE "
13
14
15
+ function toggle_windows_scheduling(){
16
+ schedule=$1
17
+ nodes=$( kubectl get nodes -l kubernetes.io/os=windows | tail -n +2 | cut -d' ' -f1)
18
+ for n in $nodes
19
+ do
20
+ kubectl $schedule $n
21
+ done
22
+ }
23
+
14
24
if [[ -z " ${OS_OVERRIDE} " ]]; then
15
25
OS_OVERRIDE=linux
16
26
fi
23
33
CLUSTER_INFO=$( $GET_CLUSTER_INFO_CMD --endpoint $ENDPOINT )
24
34
fi
25
35
36
+ echo " Cordon off windows nodes"
37
+ toggle_windows_scheduling " cordon"
38
+
26
39
VPC_ID=$( echo $CLUSTER_INFO | jq -r ' .cluster.resourcesVpcConfig.vpcId' )
27
40
ACCOUNT_ID=$( aws sts get-caller-identity | jq -r ' .Account' )
28
41
@@ -63,15 +76,18 @@ helm upgrade -i aws-load-balancer-controller eks/aws-load-balancer-controller -n
63
76
# Start the test
64
77
echo " Starting the ginkgo test suite"
65
78
66
- (cd $SCRIPT_DIR && CGO_ENABLED=0 GOOS=$OS_OVERRIDE ginkgo -v -r -- --kubeconfig=$KUBE_CONFIG_PATH --cluster-name=$CLUSTER_NAME --aws-region=$REGION --aws-vpc-id=$VPC_ID || true)
79
+ (cd $SCRIPT_DIR && CGO_ENABLED=0 GOOS=$OS_OVERRIDE ginkgo -v -r --timeout 60m --failOnPending -- --kubeconfig=$KUBE_CONFIG_PATH --cluster-name=$CLUSTER_NAME --aws-region=$REGION --aws-vpc-id=$VPC_ID || true)
67
80
68
- echo " Delete aws-load-balacner -controller"
69
- helm delete aws-load-balancer-controller -n kube-system
81
+ echo " Delete aws-load-balancer -controller"
82
+ helm delete aws-load-balancer-controller -n kube-system || true
70
83
71
84
echo " Delete iamserviceaccount"
72
85
eksctl delete iamserviceaccount --name aws-load-balancer-controller --namespace kube-system --cluster $CLUSTER_NAME || true
73
86
74
87
echo " Delete TargetGroupBinding CRDs"
75
- kubectl delete -k " github.com/aws/eks-charts/stable/aws-load-balancer-controller//crds?ref=master"
88
+ kubectl delete -k " github.com/aws/eks-charts/stable/aws-load-balancer-controller//crds?ref=master" || true
89
+
90
+ echo " Uncordon windows nodes"
91
+ toggle_windows_scheduling " uncordon"
76
92
77
- echo " Successfully finished the test suite"
93
+ echo " Successfully finished the test suite $(( $SECONDS / 60 )) minutes and $(( $SECONDS % 60 )) seconds "
0 commit comments