Fix Status API resolution 97/123297/1
authorMichal Chabiera <michal.chabiera@orange.com>
Tue, 17 Aug 2021 09:43:31 +0000 (11:43 +0200)
committerMichal Chabiera <michal.chabiera@orange.com>
Tue, 17 Aug 2021 09:43:31 +0000 (11:43 +0200)
Fix Status API resolution

Issue-ID: MULTICLOUD-1372
Signed-off-by: Michal Chabiera <michal.chabiera@orange.com>
Change-Id: I4cc2c95dfe0e8be718e2083fcc328b1e2951f27d

src/k8splugin/internal/app/instance.go

index 1c9c81a..5aa6088 100644 (file)
@@ -545,24 +545,6 @@ func (v *InstanceClient) checkRssStatus(rss helm.KubernetesResource, k8sClient K
 
        apiVersion, kind := rss.GVK.ToAPIVersionAndKind()
        log.Printf("apiVersion: %s, Kind: %s", apiVersion, kind)
-       restClient, err := k8sClient.getRestApi(apiVersion)
-       if err != nil {
-               return false, err
-       }
-       mapper := k8sClient.GetMapper()
-       mapping, err := mapper.RESTMapping(schema.GroupKind{
-               Group: rss.GVK.Group,
-               Kind:  rss.GVK.Kind,
-       }, rss.GVK.Version)
-       resourceInfo := resource.Info{
-               Client:          restClient,
-               Mapping:         mapping,
-               Namespace:       namespace,
-               Name:            rss.Name,
-               Source:          "",
-               Object:          nil,
-               ResourceVersion: "",
-       }
 
        var parsedRes runtime.Object
        //TODO: Should we care about different api version for a same kind?
@@ -591,6 +573,26 @@ func (v *InstanceClient) checkRssStatus(rss helm.KubernetesResource, k8sClient K
                //For not listed resource, consider ready
                return true, nil
        }
+
+       restClient, err := k8sClient.getRestApi(apiVersion)
+       if err != nil {
+               return false, err
+       }
+       mapper := k8sClient.GetMapper()
+       mapping, err := mapper.RESTMapping(schema.GroupKind{
+               Group: rss.GVK.Group,
+               Kind:  rss.GVK.Kind,
+       }, rss.GVK.Version)
+       resourceInfo := resource.Info{
+               Client:          restClient,
+               Mapping:         mapping,
+               Namespace:       namespace,
+               Name:            rss.Name,
+               Source:          "",
+               Object:          nil,
+               ResourceVersion: "",
+       }
+
        err = runtime.DefaultUnstructuredConverter.FromUnstructured(status.Status.Object, parsedRes)
        if err != nil {
                return false, err