From ddcabcb60c89ab3fda60e5fdf2d56655e4d0694a Mon Sep 17 00:00:00 2001 From: Serhii Leshchenko Date: Thu, 11 Mar 2021 10:13:39 +0200 Subject: [PATCH] Do not fail if imagePuller CRD does not exist (#700) * Fix check if ImagePuller API is installed Signed-off-by: Anatolii Bazko Co-authored-by: Anatolii Bazko --- pkg/deploy/kubernetes_image_puller.go | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/pkg/deploy/kubernetes_image_puller.go b/pkg/deploy/kubernetes_image_puller.go index 32c40da15..285281c6c 100644 --- a/pkg/deploy/kubernetes_image_puller.go +++ b/pkg/deploy/kubernetes_image_puller.go @@ -257,23 +257,27 @@ func SubscriptionsAreEqual(expected *operatorsv1alpha1.Subscription, actual *ope // foundKubernetesImagePullerAPI - true if the server discovers the che.eclipse.org API // error - any error returned by the call to discoveryClient.ServerGroups() func CheckNeededImagePullerApis(ctx *DeployContext) (bool, bool, bool, error) { - groupList, err := ctx.ClusterAPI.DiscoveryClient.ServerGroups() + groupList, resourcesList, err := ctx.ClusterAPI.DiscoveryClient.ServerGroupsAndResources() if err != nil { return false, false, false, err } - groups := groupList.Groups foundPackagesAPI := false foundOperatorsAPI := false foundKubernetesImagePullerAPI := false - for _, group := range groups { + for _, group := range groupList { if group.Name == packagesv1.SchemeGroupVersion.Group { foundPackagesAPI = true } if group.Name == operatorsv1alpha1.SchemeGroupVersion.Group { foundOperatorsAPI = true } - if group.Name == chev1alpha1.SchemeGroupVersion.Group { - foundKubernetesImagePullerAPI = true + } + + for _, l := range resourcesList { + for _, r := range l.APIResources { + if l.GroupVersion == chev1alpha1.SchemeGroupVersion.String() && r.Kind == "KubernetesImagePuller" { + foundKubernetesImagePullerAPI = true + } } } return foundPackagesAPI, foundOperatorsAPI, foundKubernetesImagePullerAPI, nil