From 9fbda9fb99a26daa8a6f79a251650992f30c9cb7 Mon Sep 17 00:00:00 2001 From: Yi Chen <69284638+yi-portainer@users.noreply.github.com> Date: Thu, 7 Jan 2021 13:38:01 +1300 Subject: [PATCH] Merge in release fixes to develop (#4687) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix(frontend) unable to retrieve config map error when trying to manage newly created resource pool (ce#180) (#4618) * fix(frontend) unable to retrieve config map error when trying to manage newly created resource pool (ce#180) * fix(frontend) rephrase comments (#4629) Co-authored-by: Stéphane Busso Co-authored-by: Simon Meng Co-authored-by: Stéphane Busso * + silently continue when downloading artifacts in windows (#4637) * fix(docker/stack-details): do not display editor tab for external stack (#4650) * Revert "chore(build): bump Kompose version (#4475)" (#4676) This reverts commit 380f106571330e778e2ef8790cc6f2a617643e97. Co-authored-by: Stéphane Busso Co-authored-by: cong meng Co-authored-by: Simon Meng Co-authored-by: Stéphane Busso Co-authored-by: Anthony Lapenna --- app/kubernetes/services/configMapService.js | 15 +++++++++++++-- app/portainer/views/stacks/edit/stack.html | 2 +- build/download_docker_binary.ps1 | 1 + build/download_kompose_binary.ps1 | 1 + build/download_kubectl_binary.ps1 | 1 + 5 files changed, 17 insertions(+), 3 deletions(-) diff --git a/app/kubernetes/services/configMapService.js b/app/kubernetes/services/configMapService.js index be863eaeb..b8ebbe38b 100644 --- a/app/kubernetes/services/configMapService.js +++ b/app/kubernetes/services/configMapService.js @@ -28,8 +28,19 @@ class KubernetesConfigMapService { this.KubernetesConfigMaps(namespace).get(params).$promise, this.KubernetesConfigMaps(namespace).getYaml(params).$promise, ]); - const configMap = KubernetesConfigMapConverter.apiToConfigMap(rawPromise.value, yamlPromise.value); - return configMap; + + if (_.get(rawPromise, 'reason.status') == 404 && _.get(yamlPromise, 'reason.status') == 404) { + return KubernetesConfigMapConverter.defaultConfigMap(namespace, name); + } + + // Saving binary data to 'data' field in configMap Object is not allowed by kubernetes and getYaml() may get + // an error. We should keep binary data to 'binaryData' field instead of 'data'. Before that, we + // use response from get() and ignore 500 error as a workaround. + if (rawPromise.value) { + return KubernetesConfigMapConverter.apiToConfigMap(rawPromise.value, yamlPromise.value); + } + + throw new PortainerError('Unable to retrieve config map ', name); } catch (err) { if (err.status === 404) { return KubernetesConfigMapConverter.defaultConfigMap(namespace, name); diff --git a/app/portainer/views/stacks/edit/stack.html b/app/portainer/views/stacks/edit/stack.html index 47856bb78..bdf3f81f7 100644 --- a/app/portainer/views/stacks/edit/stack.html +++ b/app/portainer/views/stacks/edit/stack.html @@ -89,7 +89,7 @@ - + Editor
diff --git a/build/download_docker_binary.ps1 b/build/download_docker_binary.ps1 index b5d6b6c13..a567ff785 100644 --- a/build/download_docker_binary.ps1 +++ b/build/download_docker_binary.ps1 @@ -3,6 +3,7 @@ param ( ) $ErrorActionPreference = "Stop"; +$ProgressPreference = "SilentlyContinue"; New-Item -Path "docker-binary" -ItemType Directory | Out-Null diff --git a/build/download_kompose_binary.ps1 b/build/download_kompose_binary.ps1 index 4c6246d00..f88b2504e 100644 --- a/build/download_kompose_binary.ps1 +++ b/build/download_kompose_binary.ps1 @@ -3,5 +3,6 @@ param ( ) $ErrorActionPreference = "Stop"; +$ProgressPreference = "SilentlyContinue"; Invoke-WebRequest -O "dist/kompose.exe" "https://github.com/kubernetes/kompose/releases/download/$($kompose_version)/kompose-windows-amd64.exe" diff --git a/build/download_kubectl_binary.ps1 b/build/download_kubectl_binary.ps1 index fe12c8273..d5330762b 100644 --- a/build/download_kubectl_binary.ps1 +++ b/build/download_kubectl_binary.ps1 @@ -3,5 +3,6 @@ param ( ) $ErrorActionPreference = "Stop"; +$ProgressPreference = "SilentlyContinue"; Invoke-WebRequest -O "dist/kubectl.exe" "https://storage.googleapis.com/kubernetes-release/release/$($kubectl_version)/bin/windows/amd64/kubectl.exe"