Skip to content

Commit 75452ce

Browse files
castelblanqueJesús Miguel Benito Calzada
and
Jesús Miguel Benito Calzada
authoredOct 5, 2022
Fix for GKE CI pipeline (#5428)
* Fix for ChartMuseum in GKE Signed-off-by: Rafa Castelblanque <rcastelblanq@vmware.com> * Add wait for LB ip Signed-off-by: Rafa Castelblanque <rcastelblanq@vmware.com> * Added check for missing chart museum IP Signed-off-by: Rafa Castelblanque <rcastelblanq@vmware.com> * Set branch back to prerelease Signed-off-by: Rafa Castelblanque <rcastelblanq@vmware.com> * Update script/install-nginx.sh Co-authored-by: Jesús Miguel Benito Calzada <bjesus@vmware.com> Signed-off-by: Rafa Castelblanque <67455978+castelblanque@users.noreply.github.com> Signed-off-by: Rafa Castelblanque <rcastelblanq@vmware.com> Signed-off-by: Rafa Castelblanque <67455978+castelblanque@users.noreply.github.com> Co-authored-by: Jesús Miguel Benito Calzada <bjesus@vmware.com>
1 parent 8bc70c5 commit 75452ce

File tree

4 files changed

+35
-1
lines changed

4 files changed

+35
-1
lines changed
 

‎.circleci/config.yml

+1
Original file line numberDiff line numberDiff line change
@@ -591,6 +591,7 @@ gke_test: &gke_test
591591
name: Apply customizations to GKE cluster
592592
command: |
593593
kubectl create namespace kubeapps-user-namespace
594+
./script/install-nginx.sh
594595
- <<: *run_e2e_tests
595596
- store_artifacts:
596597
path: integration/reports

‎script/chart-museum.sh

+6-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ CHARTMUSEUM_PWD=${CHARTMUSEUM_PWD:-"password"}
88
CHARTMUSEUM_NS=${CHARTMUSEUM_NS:-"chart-museum"}
99
CHARTMUSEUM_VERSION=${CHARTMUSEUM_VERSION:-"3.9.0"}
1010
CHARTMUSEUM_HOSTNAME=${CHARTMUSEUM_HOSTNAME:-"chart-museum"}
11-
CHARTMUSEUM_IP=${DEX_IP}
11+
CHARTMUSEUM_IP=${LOAD_BALANCER_IP}
1212

1313
# Pull a Bitnami chart to a local TGZ file
1414
# Arguments:
@@ -58,6 +58,11 @@ pushChartToChartMuseum() {
5858
local CHART_VERSION=$2
5959
local CHART_FILE=$3
6060

61+
if [[ -z "${CHARTMUSEUM_IP}" ]]; then
62+
echo "ChartMuseum ingress IP has not been defined in variable CHARTMUSEUM_IP"
63+
exit 1
64+
fi
65+
6166
echo ">> Pushing chart '${CHART_FILE}' (${CHART_NAME} v${CHART_VERSION}) to chart museum at ${CHARTMUSEUM_HOSTNAME} and IP ${CHARTMUSEUM_IP}"
6267
CHART_EXISTS=$(curl -Lk -u "${CHARTMUSEUM_USER}:${CHARTMUSEUM_PWD}" -H "Host: ${CHARTMUSEUM_HOSTNAME}" http://${CHARTMUSEUM_IP}/api/charts/${CHART_NAME}/${CHART_VERSION} | jq -r 'any([ .error] ; . > 0)')
6368
if [ "$CHART_EXISTS" == "true" ]; then

‎script/e2e-test.sh

+8
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,13 @@ fi
3434
# shellcheck disable=SC1090
3535
. "${ROOT_DIR}/script/lib/libutil.sh"
3636

37+
# Get the load balancer IP
38+
if [[ -z "${GKE_BRANCH-}" ]]; then
39+
LOAD_BALANCER_IP=$DEX_IP
40+
else
41+
LOAD_BALANCER_IP=$(kubectl -n nginx-ingress get service nginx-ingress-ingress-nginx-controller -o jsonpath="{.status.loadBalancer.ingress[].ip}")
42+
fi
43+
3744
# Functions for local Docker registry mgmt
3845
. "${ROOT_DIR}/script/local-docker-registry.sh"
3946

@@ -49,6 +56,7 @@ info "Image modifier: ${IMG_MODIFIER}"
4956
info "Image prefix: ${IMG_PREFIX}"
5057
info "Dex IP: ${DEX_IP}"
5158
info "Additional cluster IP : ${ADDITIONAL_CLUSTER_IP}"
59+
info "Load balancer IP : ${LOAD_BALANCER_IP}"
5260
info "Test timeout minutes: ${TEST_TIMEOUT_MINUTES}"
5361
info "Kapp Controller version: ${KAPP_CONTROLLER_VERSION}"
5462
info "Cluster Version: $(kubectl version -o json | jq -r '.serverVersion.gitVersion')"

‎script/install-nginx.sh

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
#!/usr/bin/env bash
2+
3+
# Copyright 2018-2022 the Kubeapps contributors.
4+
# SPDX-License-Identifier: Apache-2.0
5+
6+
set -euo pipefail
7+
8+
echo "Instaling Nginx"
9+
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
10+
helm repo update
11+
helm install -n nginx-ingress --create-namespace nginx-ingress ingress-nginx/ingress-nginx
12+
13+
# Wait for load balancer to get the IP
14+
LB_IP=""
15+
while [ -z $LB_IP ]; do
16+
echo "Waiting for external IP"
17+
LB_IP=$(kubectl -n nginx-ingress get service nginx-ingress-ingress-nginx-controller --template="{{range .status.loadBalancer.ingress}}{{.ip}}{{end}}")
18+
[ -z "$LB_IP" ] && sleep 10
19+
done
20+
echo 'Load balancer got IP assigned: '$LB_IP

0 commit comments

Comments
 (0)
Please sign in to comment.