Skip to content

Commit 74881ec

Browse files
Merge pull request #2181 from awgreene/bz-1967621
Registry ensure methods error out if resource is not found
2 parents b374b24 + 1b5afdc commit 74881ec

File tree

2 files changed

+9
-9
lines changed

2 files changed

+9
-9
lines changed

pkg/controller/registry/reconciler/configmap.go

+6-5
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99
"github.com/sirupsen/logrus"
1010
v1 "k8s.io/api/core/v1"
1111
rbacv1 "k8s.io/api/rbac/v1"
12+
k8serrors "k8s.io/apimachinery/pkg/api/errors"
1213
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1314
"k8s.io/apimachinery/pkg/labels"
1415
"k8s.io/apimachinery/pkg/util/intstr"
@@ -315,7 +316,7 @@ func (c *ConfigMapRegistryReconciler) ensureServiceAccount(source configMapCatal
315316
if !overwrite {
316317
return nil
317318
}
318-
if err := c.OpClient.DeleteServiceAccount(serviceAccount.GetNamespace(), serviceAccount.GetName(), metav1.NewDeleteOptions(0)); err != nil {
319+
if err := c.OpClient.DeleteServiceAccount(serviceAccount.GetNamespace(), serviceAccount.GetName(), metav1.NewDeleteOptions(0)); err != nil && !k8serrors.IsNotFound(err) {
319320
return err
320321
}
321322
}
@@ -329,7 +330,7 @@ func (c *ConfigMapRegistryReconciler) ensureRole(source configMapCatalogSourceDe
329330
if !overwrite {
330331
return nil
331332
}
332-
if err := c.OpClient.DeleteRole(role.GetNamespace(), role.GetName(), metav1.NewDeleteOptions(0)); err != nil {
333+
if err := c.OpClient.DeleteRole(role.GetNamespace(), role.GetName(), metav1.NewDeleteOptions(0)); err != nil && !k8serrors.IsNotFound(err) {
333334
return err
334335
}
335336
}
@@ -343,7 +344,7 @@ func (c *ConfigMapRegistryReconciler) ensureRoleBinding(source configMapCatalogS
343344
if !overwrite {
344345
return nil
345346
}
346-
if err := c.OpClient.DeleteRoleBinding(roleBinding.GetNamespace(), roleBinding.GetName(), metav1.NewDeleteOptions(0)); err != nil {
347+
if err := c.OpClient.DeleteRoleBinding(roleBinding.GetNamespace(), roleBinding.GetName(), metav1.NewDeleteOptions(0)); err != nil && !k8serrors.IsNotFound(err) {
347348
return err
348349
}
349350
}
@@ -359,7 +360,7 @@ func (c *ConfigMapRegistryReconciler) ensurePod(source configMapCatalogSourceDec
359360
return nil
360361
}
361362
for _, p := range currentPods {
362-
if err := c.OpClient.KubernetesInterface().CoreV1().Pods(pod.GetNamespace()).Delete(context.TODO(), p.GetName(), *metav1.NewDeleteOptions(1)); err != nil {
363+
if err := c.OpClient.KubernetesInterface().CoreV1().Pods(pod.GetNamespace()).Delete(context.TODO(), p.GetName(), *metav1.NewDeleteOptions(1)); err != nil && !k8serrors.IsNotFound(err) {
363364
return errors.Wrapf(err, "error deleting old pod: %s", p.GetName())
364365
}
365366
}
@@ -378,7 +379,7 @@ func (c *ConfigMapRegistryReconciler) ensureService(source configMapCatalogSourc
378379
if !overwrite && ServiceHashMatch(svc, service) {
379380
return nil
380381
}
381-
if err := c.OpClient.DeleteService(service.GetNamespace(), service.GetName(), metav1.NewDeleteOptions(0)); err != nil {
382+
if err := c.OpClient.DeleteService(service.GetNamespace(), service.GetName(), metav1.NewDeleteOptions(0)); err != nil && !k8serrors.IsNotFound(err) {
382383
return err
383384
}
384385
}

pkg/controller/registry/reconciler/grpc.go

+3-4
Original file line numberDiff line numberDiff line change
@@ -234,7 +234,7 @@ func (c *GrpcRegistryReconciler) ensurePod(source grpcCatalogSourceDecorator, sa
234234
return nil
235235
}
236236
for _, p := range currentLivePods {
237-
if err := c.OpClient.KubernetesInterface().CoreV1().Pods(source.GetNamespace()).Delete(context.TODO(), p.GetName(), *metav1.NewDeleteOptions(1)); err != nil {
237+
if err := c.OpClient.KubernetesInterface().CoreV1().Pods(source.GetNamespace()).Delete(context.TODO(), p.GetName(), *metav1.NewDeleteOptions(1)); err != nil && !k8serror.IsNotFound(err) {
238238
return errors.Wrapf(err, "error deleting old pod: %s", p.GetName())
239239
}
240240
}
@@ -316,7 +316,7 @@ func (c *GrpcRegistryReconciler) ensureService(source grpcCatalogSourceDecorator
316316
return nil
317317
}
318318
// TODO(tflannag): Do we care about force deleting services?
319-
if err := c.OpClient.DeleteService(service.GetNamespace(), service.GetName(), metav1.NewDeleteOptions(0)); err != nil {
319+
if err := c.OpClient.DeleteService(service.GetNamespace(), service.GetName(), metav1.NewDeleteOptions(0)); err != nil && !k8serror.IsNotFound(err) {
320320
return err
321321
}
322322
}
@@ -411,8 +411,7 @@ func imageID(pod *corev1.Pod) string {
411411

412412
func (c *GrpcRegistryReconciler) removePods(pods []*corev1.Pod, namespace string) error {
413413
for _, p := range pods {
414-
err := c.OpClient.KubernetesInterface().CoreV1().Pods(namespace).Delete(context.TODO(), p.GetName(), *metav1.NewDeleteOptions(1))
415-
if err != nil {
414+
if err := c.OpClient.KubernetesInterface().CoreV1().Pods(namespace).Delete(context.TODO(), p.GetName(), *metav1.NewDeleteOptions(1)); err != nil && !k8serror.IsNotFound(err) {
416415
return errors.Wrapf(err, "error deleting pod: %s", p.GetName())
417416
}
418417
}

0 commit comments

Comments
 (0)