Skip to content

Commit 067686f

Browse files
ffix
1 parent 4aefffe commit 067686f

1 file changed

Lines changed: 14 additions & 11 deletions

File tree

cloudprofilesync/source.go

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import (
77
"context"
88
"encoding/json"
99
"errors"
10+
"fmt"
1011
"strings"
1112

1213
gardencorev1beta1 "github.com/gardener/gardener/pkg/apis/core/v1beta1"
@@ -136,8 +137,7 @@ func (o *OCI) GetVersions(ctx context.Context) ([]SourceImage, error) {
136137
defer o.sema.Release(1)
137138
_, reader, err := o.repo.FetchReference(ctx, tag)
138139
if err != nil {
139-
o.log.V(1).Info("skipping tag: failed to fetch manifest", "tag", tag, "error", err)
140-
out <- Result[SourceImage]{}
140+
out <- Result[SourceImage]{err: fmt.Errorf("tag %s: failed to fetch manifest: %w", tag, err)}
141141
return
142142
}
143143
defer reader.Close()
@@ -146,14 +146,12 @@ func (o *OCI) GetVersions(ctx context.Context) ([]SourceImage, error) {
146146
}{}
147147
err = json.NewDecoder(reader).Decode(&manifest)
148148
if err != nil {
149-
o.log.V(1).Info("skipping tag: failed to decode manifest", "tag", tag, "error", err)
150-
out <- Result[SourceImage]{}
149+
out <- Result[SourceImage]{err: fmt.Errorf("tag %s: failed to decode manifest: %w", tag, err)}
151150
return
152151
}
153152
arch, ok := manifest.Annotations["architecture"]
154153
if !ok {
155-
o.log.V(1).Info("skipping tag: architecture annotation not found", "tag", tag)
156-
out <- Result[SourceImage]{}
154+
out <- Result[SourceImage]{err: fmt.Errorf("tag %s: architecture annotation not found", tag)}
157155
return
158156
}
159157
var capabilities gardencorev1beta1.Capabilities
@@ -182,18 +180,23 @@ func (o *OCI) GetVersions(ctx context.Context) ([]SourceImage, error) {
182180
}
183181

184182
images := []SourceImage{}
185-
errs := []error{}
183+
var skipped []error
184+
var errs []error
186185
for range tags {
187186
result := <-out
188187
if result.err != nil {
189-
errs = append(errs, result.err)
190-
continue
191-
}
192-
if result.value.Version == "" {
188+
if ctx.Err() != nil {
189+
errs = append(errs, result.err)
190+
} else {
191+
skipped = append(skipped, result.err)
192+
}
193193
continue
194194
}
195195
images = append(images, result.value)
196196
}
197+
if len(skipped) > 0 {
198+
o.log.V(1).Info("skipped tags with errors", "count", len(skipped), "errors", errors.Join(skipped...))
199+
}
197200
if len(images) == 0 && len(tags) > 0 {
198201
return nil, fmt.Errorf("all %d tags were skipped; possible registry issue", len(tags))
199202
}

0 commit comments

Comments
 (0)