From 9b5d65b9019b7fb3abe178f56d351fb6da402363 Mon Sep 17 00:00:00 2001 From: Matt Boersma Date: Wed, 16 Nov 2022 10:27:59 -0700 Subject: [PATCH] HACK: use dev build of cloud-provider in e2e and Tiltfile --- Tiltfile | 6 ++++-- test/e2e/cloud-provider-azure.go | 11 ++++++++++- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/Tiltfile b/Tiltfile index dafd1ca2d7f1..ceaf4d798e54 100644 --- a/Tiltfile +++ b/Tiltfile @@ -350,8 +350,10 @@ def deploy_worker_templates(template, substitutions): yaml = yaml.replace('"', '\\"') # add escape character to double quotes in yaml flavor_name = os.path.basename(flavor) flavor_cmd = "RANDOM=$(bash -c 'echo $RANDOM'); CLUSTER_NAME=" + flavor.replace("windows", "win") + "-$RANDOM; make generate-flavors; echo \"" + yaml + "\" > ./.tiltbuild/" + flavor + "; cat ./.tiltbuild/" + flavor + " | " + envsubst_cmd + " | " + kubectl_cmd + " apply -f - && echo \"Cluster \'$CLUSTER_NAME\' created, don't forget to delete\"" - if "external-cloud-provider" in flavor_name: - flavor_cmd += "; until " + kubectl_cmd + " get secret ${CLUSTER_NAME}-kubeconfig > /dev/null 2>&1; do sleep 5; done; " + kubectl_cmd + " get secret ${CLUSTER_NAME}-kubeconfig -o jsonpath={.data.value} | base64 --decode > ./${CLUSTER_NAME}.kubeconfig; chmod 600 ./${CLUSTER_NAME}.kubeconfig; until " + kubectl_cmd + " --kubeconfig=./${CLUSTER_NAME}.kubeconfig get nodes > /dev/null 2>&1; do sleep 5; done; " + helm_cmd + " --kubeconfig ./${CLUSTER_NAME}.kubeconfig install --repo https://raw.githubusercontent.com/kubernetes-sigs/cloud-provider-azure/master/helm/repo cloud-provider-azure --generate-name --set infra.clusterName=${CLUSTER_NAME}" + if "external-cloud-provider" in flavor_name or "flex" in flavor_name: + flavor_cmd += "; until " + kubectl_cmd + " get secret ${CLUSTER_NAME}-kubeconfig > /dev/null 2>&1; do sleep 5; done; " + kubectl_cmd + " get secret ${CLUSTER_NAME}-kubeconfig -o jsonpath={.data.value} | base64 --decode > ./${CLUSTER_NAME}.kubeconfig; chmod 600 ./${CLUSTER_NAME}.kubeconfig; until " + kubectl_cmd + " --kubeconfig=./${CLUSTER_NAME}.kubeconfig get nodes > /dev/null 2>&1; do sleep 5; done; " + helm_cmd + " --kubeconfig ./${CLUSTER_NAME}.kubeconfig install --repo https://raw.githubusercontent.com/kubernetes-sigs/cloud-provider-azure/master/helm/repo cloud-provider-azure --generate-name --set infra.clusterName=${CLUSTER_NAME}" + \ + " --set cloudControllerManager.imageRepository=mbdevregistry.azurecr.io --set cloudControllerManager.imageName=azure-cloud-controller-manager --set cloudControllerManager.imageTag=latest" + \ + " --set cloudNodeManager.imageRepository=mbdevregistry.azurecr.io --set cloudNodeManager.imageName=azure-cloud-node-manager --set cloudNodeManager.imageTag=latest" local_resource( name = flavor_name, cmd = flavor_cmd, diff --git a/test/e2e/cloud-provider-azure.go b/test/e2e/cloud-provider-azure.go index eead405324ef..bb6c378d3ae9 100644 --- a/test/e2e/cloud-provider-azure.go +++ b/test/e2e/cloud-provider-azure.go @@ -41,7 +41,16 @@ const ( func InstallCloudProviderAzureHelmChart(ctx context.Context, input clusterctl.ApplyClusterTemplateAndWaitInput) { specName := "cloud-provider-azure-install" By("Installing the correct version of cloud-provider-azure components via helm") - values := []string{fmt.Sprintf("infra.clusterName=%s", input.ConfigCluster.ClusterName)} + values := []string{ + fmt.Sprintf("infra.clusterName=%s", input.ConfigCluster.ClusterName), + // HACK: use dev build of cloud-provider-azure for VMSS Flex support + "cloudControllerManager.imageRepository=mbdevregistry.azurecr.io", + "cloudControllerManager.imageName=azure-cloud-controller-manager", + "cloudControllerManager.imageTag=latest", + "cloudNodeManager.imageRepository=mbdevregistry.azurecr.io", + "cloudNodeManager.imageName=azure-cloud-node-manager", + "cloudNodeManager.imageTag=latest", + } InstallHelmChart(ctx, input, cloudProviderAzureHelmRepoURL, cloudProviderAzureChartName, cloudProviderAzureHelmReleaseName, values) clusterProxy := input.ClusterProxy.GetWorkloadCluster(ctx, input.ConfigCluster.Namespace, input.ConfigCluster.ClusterName) workloadClusterClient := clusterProxy.GetClient()