Skip to content

Commit 2b53ce8

Browse files
committed
throw retriable error only in case of NotFound errors
1 parent aec332d commit 2b53ce8

File tree

1 file changed

+21
-4
lines changed

1 file changed

+21
-4
lines changed

pkg/component/reference.go

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import (
1212
"strings"
1313

1414
corev1 "k8s.io/api/core/v1"
15+
"k8s.io/apimachinery/pkg/api/errors"
1516
apitypes "k8s.io/apimachinery/pkg/types"
1617
"sigs.k8s.io/controller-runtime/pkg/client"
1718

@@ -31,7 +32,11 @@ type ConfigMapReference struct {
3132
func (r *ConfigMapReference) load(ctx context.Context, client client.Client, namespace string) error {
3233
configMap := &corev1.ConfigMap{}
3334
if err := client.Get(ctx, apitypes.NamespacedName{Namespace: namespace, Name: r.Name}, configMap); err != nil {
34-
return types.NewRetriableError(err, nil)
35+
if errors.IsNotFound(err) {
36+
return types.NewRetriableError(err, nil)
37+
} else {
38+
return err
39+
}
3540
}
3641
r.data = configMap.Data
3742
return nil
@@ -56,7 +61,11 @@ type ConfigMapKeyReference struct {
5661
func (r *ConfigMapKeyReference) load(ctx context.Context, client client.Client, namespace string, fallbackKeys ...string) error {
5762
configMap := &corev1.ConfigMap{}
5863
if err := client.Get(ctx, apitypes.NamespacedName{Namespace: namespace, Name: r.Name}, configMap); err != nil {
59-
return types.NewRetriableError(err, nil)
64+
if errors.IsNotFound(err) {
65+
return types.NewRetriableError(err, nil)
66+
} else {
67+
return err
68+
}
6069
}
6170
if r.Key != "" {
6271
if value, ok := configMap.Data[r.Key]; ok {
@@ -93,7 +102,11 @@ type SecretReference struct {
93102
func (r *SecretReference) load(ctx context.Context, client client.Client, namespace string) error {
94103
secret := &corev1.Secret{}
95104
if err := client.Get(ctx, apitypes.NamespacedName{Namespace: namespace, Name: r.Name}, secret); err != nil {
96-
return types.NewRetriableError(err, nil)
105+
if errors.IsNotFound(err) {
106+
return types.NewRetriableError(err, nil)
107+
} else {
108+
return err
109+
}
97110
}
98111
r.data = secret.Data
99112
return nil
@@ -118,7 +131,11 @@ type SecretKeyReference struct {
118131
func (r *SecretKeyReference) load(ctx context.Context, client client.Client, namespace string, fallbackKeys ...string) error {
119132
secret := &corev1.Secret{}
120133
if err := client.Get(ctx, apitypes.NamespacedName{Namespace: namespace, Name: r.Name}, secret); err != nil {
121-
return types.NewRetriableError(err, nil)
134+
if errors.IsNotFound(err) {
135+
return types.NewRetriableError(err, nil)
136+
} else {
137+
return err
138+
}
122139
}
123140
if r.Key != "" {
124141
if value, ok := secret.Data[r.Key]; ok {

0 commit comments

Comments
 (0)