• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

openshift-kni / cluster-group-upgrades-operator / #3

20 Nov 2025 11:55AM UTC coverage: 61.674% (+17.2%) from 44.472%
#3

push

web-flow
chore(deps): update topology-aware-lifecycle-manager-precache-4-21 to e280b86 (#5031)

Image created from 'https://github.com/openshift-kni/cluster-group-upgrades-operator?rev=e0953ccb4'

Signed-off-by: red-hat-konflux <126015336+red-hat-konflux[bot]@users.noreply.github.com>
Co-authored-by: red-hat-konflux[bot] <126015336+red-hat-konflux[bot]@users.noreply.github.com>

4039 of 6549 relevant lines covered (61.67%)

0.69 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

66.67
/controllers/preCachingConfig.go
1
package controllers
2

3
import (
4
        "context"
5
        "reflect"
6

7
        ranv1alpha1 "github.com/openshift-kni/cluster-group-upgrades-operator/pkg/api/clustergroupupgrades/v1alpha1"
8
        "k8s.io/apimachinery/pkg/types"
9
)
10

11
// getPreCachingConfig: retrieves pre-caching configuration CR
12
func (r *ClusterGroupUpgradeReconciler) getPreCachingConfig(
13
        ctx context.Context, clusterGroupUpgrade *ranv1alpha1.ClusterGroupUpgrade) (
14
        *ranv1alpha1.PreCachingConfig, error) {
1✔
15

1✔
16
        preCachingConfig := new(ranv1alpha1.PreCachingConfig)
1✔
17
        preCachingConfigRef := clusterGroupUpgrade.Spec.PreCachingConfigRef
1✔
18

1✔
19
        preCachingConfigName := preCachingConfigRef.Name
1✔
20
        preCachingConfigNamespace := preCachingConfigRef.Namespace
1✔
21
        // If namespace is not specified, assume the CGU namespace
1✔
22
        if preCachingConfigNamespace == "" {
2✔
23
                preCachingConfigNamespace = clusterGroupUpgrade.Namespace
1✔
24
        }
1✔
25

26
        if preCachingConfigName == "" {
2✔
27
                r.Log.Info("getPreCachingConfigSpec: no preCachingConfig CR specified")
1✔
28
                return preCachingConfig, nil
1✔
29
        }
1✔
30

31
        err := r.Get(ctx, types.NamespacedName{Namespace: preCachingConfigNamespace,
1✔
32
                Name: preCachingConfigName}, preCachingConfig)
1✔
33

1✔
34
        if err != nil {
2✔
35
                return preCachingConfig, err
1✔
36
        }
1✔
37

38
        return preCachingConfig, nil
1✔
39
}
40

41
// getPreCachingConfigSpec: retrieves pre-caching configuration spec from the associated
42
// PreCachingConfig custom resource
43
func (r *ClusterGroupUpgradeReconciler) getPreCachingConfigSpec(
44
        ctx context.Context, clusterGroupUpgrade *ranv1alpha1.ClusterGroupUpgrade) (
45
        *ranv1alpha1.PreCachingConfigSpec, error) {
1✔
46

1✔
47
        preCachingConfig, err := r.getPreCachingConfig(ctx, clusterGroupUpgrade)
1✔
48

1✔
49
        if err != nil {
2✔
50
                return nil, err
1✔
51
        }
1✔
52

53
        return &preCachingConfig.Spec, nil
1✔
54
}
55

56
// mapPreCachingConfigSpecToPrecachingSpec maps the given PreCachingConfigSpec object to
57
// a corresponding PrecachingSpec object
58
func (r *ClusterGroupUpgradeReconciler) mapPreCachingConfigSpecToPrecachingSpec(
59
        preCachingConfigSpec *ranv1alpha1.PreCachingConfigSpec) *ranv1alpha1.PrecachingSpec {
×
60

×
61
        precachingSpec := &ranv1alpha1.PrecachingSpec{}
×
62

×
63
        // Extract overrides if defined
×
64
        if !reflect.DeepEqual(preCachingConfigSpec.Overrides, ranv1alpha1.PlatformPreCachingSpec{}) {
×
65
                precachingSpec.PlatformImage = preCachingConfigSpec.Overrides.PlatformImage
×
66
                precachingSpec.OperatorsIndexes = preCachingConfigSpec.Overrides.OperatorsIndexes
×
67
                precachingSpec.OperatorsPackagesAndChannels = preCachingConfigSpec.Overrides.OperatorsPackagesAndChannels
×
68
        }
×
69

70
        // Extract remaining fields
71
        precachingSpec.ExcludePrecachePatterns = preCachingConfigSpec.ExcludePrecachePatterns
×
72
        precachingSpec.SpaceRequired = preCachingConfigSpec.SpaceRequired
×
73
        precachingSpec.AdditionalImages = preCachingConfigSpec.AdditionalImages
×
74

×
75
        return precachingSpec
×
76
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc