@@ -32,7 +32,6 @@ import (
32
32
"helm.sh/helm/v3/pkg/storage/driver"
33
33
apiextv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
34
34
apiextv1beta1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1"
35
- apiequality "k8s.io/apimachinery/pkg/api/equality"
36
35
apierrors "k8s.io/apimachinery/pkg/api/errors"
37
36
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
38
37
"k8s.io/apimachinery/pkg/runtime"
@@ -44,6 +43,7 @@ import (
44
43
45
44
"github.com/operator-framework/operator-sdk/internal/helm/internal/types"
46
45
"github.com/operator-framework/operator-sdk/internal/helm/manifestutil"
46
+ "k8s.io/apimachinery/pkg/conversion"
47
47
)
48
48
49
49
// Manager manages a Helm release. It can install, upgrade, reconcile,
@@ -135,6 +135,19 @@ func notFoundErr(err error) bool {
135
135
return err != nil && strings .Contains (err .Error (), "not found" )
136
136
}
137
137
138
+ var equalities = conversion .EqualitiesOrDie (func (a , b * cpb.Chart ) bool {
139
+ if a == nil || b == nil {
140
+ return a == nil && b == nil
141
+ }
142
+ aencode := & bytes.Buffer {}
143
+ bencode := & bytes.Buffer {}
144
+
145
+ _ = json .NewEncoder (aencode ).Encode (a )
146
+ _ = json .NewEncoder (bencode ).Encode (b )
147
+
148
+ return aencode .String () == bencode .String ()
149
+ })
150
+
138
151
func (m manager ) isUpgrade (deployedRelease * rpb.Release ) bool {
139
152
if deployedRelease == nil {
140
153
return false
@@ -143,8 +156,9 @@ func (m manager) isUpgrade(deployedRelease *rpb.Release) bool {
143
156
// Judging whether to skip updates
144
157
skip := m .namespace == deployedRelease .Namespace
145
158
skip = skip && m .releaseName == deployedRelease .Name
146
- skip = skip && apiequality .Semantic .DeepEqual (m .chart , deployedRelease .Chart )
147
- skip = skip && apiequality .Semantic .DeepEqual (m .values , deployedRelease .Config )
159
+
160
+ skip = skip && equalities .DeepEqual (m .chart , deployedRelease .Chart )
161
+ skip = skip && equalities .DeepEqual (m .values , deployedRelease .Config )
148
162
149
163
return ! skip
150
164
}
0 commit comments