Skip to content

Commit 99326c6

Browse files
committed
Updated CRD if already present
Signed-off-by: Pires <[email protected]>
1 parent a0e9c1d commit 99326c6

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

pkg/envtest/crd.go

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -225,8 +225,18 @@ func CreateCRDs(config *rest.Config, crds []*apiextensionsv1beta1.CustomResource
225225
// Create each CRD
226226
for _, crd := range crds {
227227
log.V(1).Info("installing CRD", "crd", crd.Name)
228-
if _, err := cs.ApiextensionsV1beta1().CustomResourceDefinitions().Create(crd); err != nil {
229-
return err
228+
var err error
229+
if _, err = cs.ApiextensionsV1beta1().CustomResourceDefinitions().Get(crd.Name, metav1.GetOptions{}); err != nil {
230+
if apierrors.IsNotFound(err) {
231+
_, err = cs.ApiextensionsV1beta1().CustomResourceDefinitions().Create(crd)
232+
}
233+
if apierrors.IsAlreadyExists(err) {
234+
log.V(1).Info("CRD already exists, updating", "crd", crd.Name)
235+
_, err = cs.ApiextensionsV1beta1().CustomResourceDefinitions().Update(crd)
236+
}
237+
if err != nil {
238+
return err
239+
}
230240
}
231241
}
232242
return nil

0 commit comments

Comments
 (0)