From 52d9435528f4201e26762821db2b63ff6eddfeca Mon Sep 17 00:00:00 2001 From: Ta-Ching Chen Date: Wed, 9 Oct 2019 01:14:56 +0800 Subject: [PATCH] Fix the namespace mismatch problem when deploying with a single YAML file (#1344) If a user deploys fission in the namespace which is different from the one in the single YAML file generated by helm, fission components won't be able to talk to each other due to the wrong namespace appends after the service address. This PR adds --namespace when generating the YAML file to prevent the mismatch problem. --- charts/fission-all/templates/deployment.yaml | 2 +- charts/fission-core/templates/deployment.yaml | 2 +- cmd/fission-bundle/main.go | 7 +++---- hack/release-build.sh | 4 ++-- pkg/executor/executor.go | 2 +- pkg/executor/executor_test.go | 2 +- 6 files changed, 9 insertions(+), 10 deletions(-) diff --git a/charts/fission-all/templates/deployment.yaml b/charts/fission-all/templates/deployment.yaml index a4890b428..0c0cded21 100644 --- a/charts/fission-all/templates/deployment.yaml +++ b/charts/fission-all/templates/deployment.yaml @@ -205,7 +205,7 @@ spec: image: {{ include "fission-bundleImage" . | quote }} imagePullPolicy: {{ .Values.pullPolicy }} command: ["/fission-bundle"] - args: ["--executorPort", "8888", "--namespace", "{{ .Values.functionNamespace }}", "--fission-namespace", "{{ .Release.Namespace }}", "--collectorEndpoint", "{{ .Values.traceCollectorEndpoint }}"] + args: ["--executorPort", "8888", "--namespace", "{{ .Values.functionNamespace }}", "--collectorEndpoint", "{{ .Values.traceCollectorEndpoint }}"] env: - name: FETCHER_IMAGE value: "{{ .Values.fetcherImage }}:{{ .Values.fetcherImageTag }}" diff --git a/charts/fission-core/templates/deployment.yaml b/charts/fission-core/templates/deployment.yaml index 1dbd49285..eb9826582 100644 --- a/charts/fission-core/templates/deployment.yaml +++ b/charts/fission-core/templates/deployment.yaml @@ -205,7 +205,7 @@ spec: image: {{ include "fission-bundleImage" . | quote }} imagePullPolicy: {{ .Values.pullPolicy }} command: ["/fission-bundle"] - args: ["--executorPort", "8888", "--namespace", "{{ .Values.functionNamespace }}", "--fission-namespace", "{{ .Release.Namespace }}", "--collectorEndpoint", "{{ .Values.traceCollectorEndpoint }}"] + args: ["--executorPort", "8888", "--namespace", "{{ .Values.functionNamespace }}", "--collectorEndpoint", "{{ .Values.traceCollectorEndpoint }}"] env: - name: FETCHER_IMAGE value: "{{ .Values.fetcherImage }}:{{ .Values.fetcherImageTag }}" diff --git a/cmd/fission-bundle/main.go b/cmd/fission-bundle/main.go index e0b2f06f9..766956962 100644 --- a/cmd/fission-bundle/main.go +++ b/cmd/fission-bundle/main.go @@ -50,8 +50,8 @@ func runRouter(logger *zap.Logger, port int, executorUrl string) { logger.Fatal("router exited") } -func runExecutor(logger *zap.Logger, port int, fissionNamespace, functionNamespace, envBuilderNamespace string) { - err := executor.StartExecutor(logger, fissionNamespace, functionNamespace, envBuilderNamespace, port) +func runExecutor(logger *zap.Logger, port int, functionNamespace, envBuilderNamespace string) { + err := executor.StartExecutor(logger, functionNamespace, envBuilderNamespace, port) if err != nil { logger.Fatal("error starting executor", zap.Error(err)) } @@ -253,7 +253,6 @@ Options: } functionNs := getStringArgWithDefault(arguments["--namespace"], "fission-function") - fissionNs := getStringArgWithDefault(arguments["--fission-namespace"], "fission") envBuilderNs := getStringArgWithDefault(arguments["--envbuilder-namespace"], "fission-builder") executorUrl := getStringArgWithDefault(arguments["--executorUrl"], "http://executor.fission") @@ -272,7 +271,7 @@ Options: if arguments["--executorPort"] != nil { port := getPort(logger, arguments["--executorPort"]) - runExecutor(logger, port, fissionNs, functionNs, envBuilderNs) + runExecutor(logger, port, functionNs, envBuilderNs) } if arguments["--kubewatcher"] == true { diff --git a/hack/release-build.sh b/hack/release-build.sh index 17cca7790..773bc38ef 100755 --- a/hack/release-build.sh +++ b/hack/release-build.sh @@ -223,9 +223,9 @@ build_yamls() { popd # for minikube and other environments that don't support LoadBalancer - helm template ${c} -n ${releaseName} --set analytics=false,analyticsNonHelmInstall=true,serviceType=NodePort,routerServiceType=NodePort > ${c}-${version}-minikube.yaml + helm template ${c} -n ${releaseName} --namespace fission --set analytics=false,analyticsNonHelmInstall=true,serviceType=NodePort,routerServiceType=NodePort > ${c}-${version}-minikube.yaml # for environments that support LoadBalancer - helm template ${c} -n ${releaseName} --set analytics=false,analyticsNonHelmInstall=true > ${c}-${version}.yaml + helm template ${c} -n ${releaseName} --namespace fission --set analytics=false,analyticsNonHelmInstall=true > ${c}-${version}.yaml # copy yaml files to build directory mv *.yaml ${BUILDDIR}/yamls/ diff --git a/pkg/executor/executor.go b/pkg/executor/executor.go index 815297ec5..5d247136a 100644 --- a/pkg/executor/executor.go +++ b/pkg/executor/executor.go @@ -205,7 +205,7 @@ func serveMetric(logger *zap.Logger) { // StartExecutor Starts executor and the executor components such as Poolmgr, // deploymgr and potential future executor types -func StartExecutor(logger *zap.Logger, fissionNamespace string, functionNamespace string, envBuilderNamespace string, port int) error { +func StartExecutor(logger *zap.Logger, functionNamespace string, envBuilderNamespace string, port int) error { fissionClient, kubernetesClient, _, err := crd.MakeFissionClient() err = fissionClient.WaitForCRDs() diff --git a/pkg/executor/executor_test.go b/pkg/executor/executor_test.go index 0f32e48db..e80350a52 100644 --- a/pkg/executor/executor_test.go +++ b/pkg/executor/executor_test.go @@ -175,7 +175,7 @@ func TestExecutor(t *testing.T) { // create poolmgr port := 9999 - err = StartExecutor(logger, fissionNs, functionNs, "fission-builder", port) + err = StartExecutor(logger, functionNs, "fission-builder", port) if err != nil { log.Panicf("failed to start poolmgr: %v", err) }