diff --git a/deploy/kubeconfiggenerator.py b/deploy/kubeconfiggenerator.py index cd701a8a..bc3915a5 100644 --- a/deploy/kubeconfiggenerator.py +++ b/deploy/kubeconfiggenerator.py @@ -658,7 +658,7 @@ def registercrd(): openAPIV3SchemaPropertiesInner['type'] = 'object' openAPIV3SchemaPropertiesInner['properties'] = openAPIV3SchemaPropertiesInnerDetails openAPIV3SchemaProperties['spec'] = openAPIV3SchemaPropertiesInner - openAPIV3SchemaProperties['status'] = {"type": "object", "properties": {"helmrelease": {"type": "string"}}} + openAPIV3SchemaProperties['status'] = {"type": "object", "properties": {"helmrelease": {"type": "string"}, "error": {"type": "string"}}} openAPIV3SchemaObj['type'] = 'object' openAPIV3SchemaObj['properties'] = openAPIV3SchemaProperties attr_types['openAPIV3Schema'] = openAPIV3SchemaObj diff --git a/deploy/versions.txt b/deploy/versions.txt index 50ef3491..2d3ee45f 100644 --- a/deploy/versions.txt +++ b/deploy/versions.txt @@ -32,3 +32,4 @@ 3.0.24 3.0.25 3.0.26 +3.0.27 diff --git a/platform-operator/helm-pod/helm-pod b/platform-operator/helm-pod/helm-pod index 2e3cd5fa..21cffd7a 100755 Binary files a/platform-operator/helm-pod/helm-pod and b/platform-operator/helm-pod/helm-pod differ diff --git a/platform-operator/helm-pod/main.go b/platform-operator/helm-pod/main.go index 8a6f3995..b83556db 100644 --- a/platform-operator/helm-pod/main.go +++ b/platform-operator/helm-pod/main.go @@ -459,8 +459,20 @@ func updateCRDInstances(request *restful.Request, response *restful.Response) { helmreleaseNS, helmrelease := getHelmReleaseName(status) fmt.Printf("Helm release:%s, %s\n", helmreleaseNS, helmrelease) if helmreleaseNS != "" && helmrelease != "" { - go upgradeHelmRelease(helmreleaseNS, helmrelease, chartName) - fmt.Printf("Helm release updated...\n") + _, output := upgradeHelmRelease(helmreleaseNS, helmrelease, chartName) + output = strings.ReplaceAll(output, "\n", "") + fmt.Printf("Helm release updated...%s\n", output) + helmReleaseFQDN := status.(map[string]interface{})["helmrelease"] + helmReleaseFQDN_str := helmReleaseFQDN.(string) + //helmrelease["helmrelease"] = targetNS + ":" + releaseName + //status1 := helmReleaseFQDN_str + "\n" + output + "\n" + "Update complete." + helmreleaseUpdate := make(map[string]string) + helmreleaseUpdate["helmrelease"] = helmReleaseFQDN_str + helmreleaseUpdate["error"] = chartURL + " upgrade output:" + output + objData["status"] = helmreleaseUpdate + fmt.Printf("objData:%v\n",objData) + instanceObj.SetUnstructuredContent(objData) + dynamicClient.Resource(ownerRes).Namespace(namespace).Update(context.Background(), &instanceObj, metav1.UpdateOptions{}) } } } @@ -468,7 +480,7 @@ func updateCRDInstances(request *restful.Request, response *restful.Response) { response.Write([]byte(execOutput)) } -func upgradeHelmRelease(helmreleaseNS, helmrelease, chartName string) bool { +func upgradeHelmRelease(helmreleaseNS, helmrelease, chartName string) (bool, string) { fmt.Printf("Helm release:%s\n", helmrelease) cmd := "helm upgrade " + helmrelease + " /" + chartName + " -n " + helmreleaseNS fmt.Printf("Helm upgrade cmd:%s\n", cmd) @@ -476,7 +488,7 @@ func upgradeHelmRelease(helmreleaseNS, helmrelease, chartName string) bool { cmdRunnerPod := getKubePlusPod() ok, output := executeExecCall(cmdRunnerPod, cmd) fmt.Printf("Helm upgrade o/p:%v\n", output) - return ok + return ok, output } func annotateCRD(request *restful.Request, response *restful.Response) { @@ -1116,6 +1128,7 @@ func updateStatus(kind, group, version, plural, instance, crdObjNS, targetNS, re helmrelease := make(map[string]interface{},0) // Helm release will be done in the target namespace where the customresource instance // is deployed. + releaseName = strings.ReplaceAll(releaseName, "\n", "") helmrelease["helmrelease"] = targetNS + ":" + releaseName objData["status"] = helmrelease //fmt.Printf("objData:%v\n",objData) diff --git a/platform-operator/helm-pod/versions.txt b/platform-operator/helm-pod/versions.txt index c7a0b736..f3979a39 100644 --- a/platform-operator/helm-pod/versions.txt +++ b/platform-operator/helm-pod/versions.txt @@ -30,3 +30,4 @@ 3.0.14 3.0.15 3.0.16 +3.0.17