Skip to content

Commit c0e37b3

Browse files
prateekpandey14Kiran Mova
authored andcommitted
fix(crds): update snapshot CRDs version to use v1 apis
Signed-off-by: prateekpandey14 <[email protected]>
1 parent 5028422 commit c0e37b3

File tree

4 files changed

+42
-16
lines changed

4 files changed

+42
-16
lines changed

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ jobs:
3030
- os: linux
3131
arch: amd64
3232
env:
33-
- RELEASE_TAG_DOWNSTREAM=1
33+
- RELEASE_TAG_DOWNSTREAM=0
3434

3535
before_install:
3636
- sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test

_output/bin/snapshot-controller

-41.9 MB
Binary file not shown.

_output/bin/snapshot-provisioner

-45 MB
Binary file not shown.

pkg/client/client.go

Lines changed: 41 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,15 @@ import (
2323

2424
"github.com/golang/glog"
2525
crdv1 "github.com/openebs/openebs-k8s-provisioner/pkg/apis/crd/v1"
26-
apiextensionsv1beta1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1"
26+
apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
2727
apiextensionsclient "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset"
2828
apierrors "k8s.io/apimachinery/pkg/api/errors"
2929
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
3030
"k8s.io/apimachinery/pkg/runtime"
3131
"k8s.io/apimachinery/pkg/runtime/serializer"
3232
"k8s.io/apimachinery/pkg/util/wait"
3333
"k8s.io/client-go/rest"
34+
utilpointer "k8s.io/utils/pointer"
3435
)
3536

3637
const (
@@ -62,52 +63,77 @@ func NewClient(cfg *rest.Config) (*rest.RESTClient, *runtime.Scheme, error) {
6263

6364
// CreateCRD creates CustomResourceDefinition
6465
func CreateCRD(clientset apiextensionsclient.Interface) error {
65-
crd := &apiextensionsv1beta1.CustomResourceDefinition{
66+
crd := &apiextensionsv1.CustomResourceDefinition{
6667
ObjectMeta: metav1.ObjectMeta{
6768
Name: crdv1.VolumeSnapshotDataResourcePlural + "." + crdv1.GroupName,
6869
Annotations: map[string]string{
6970
"api-approved.kubernetes.io": "https://github.com/kubernetes-csi/external-snapshotter/pull/419",
7071
},
7172
},
72-
Spec: apiextensionsv1beta1.CustomResourceDefinitionSpec{
73-
Group: crdv1.GroupName,
74-
Version: crdv1.SchemeGroupVersion.Version,
75-
Scope: apiextensionsv1beta1.ClusterScoped,
76-
Names: apiextensionsv1beta1.CustomResourceDefinitionNames{
73+
Spec: apiextensionsv1.CustomResourceDefinitionSpec{
74+
Group: crdv1.GroupName,
75+
Versions: []apiextensionsv1.CustomResourceDefinitionVersion{
76+
{
77+
Name: "v1",
78+
Served: true,
79+
Storage: true,
80+
Schema: &apiextensionsv1.CustomResourceValidation{
81+
OpenAPIV3Schema: &apiextensionsv1.JSONSchemaProps{
82+
XPreserveUnknownFields: utilpointer.BoolPtr(true),
83+
},
84+
},
85+
},
86+
},
87+
Scope: apiextensionsv1.ClusterScoped,
88+
Names: apiextensionsv1.CustomResourceDefinitionNames{
7789
Plural: crdv1.VolumeSnapshotDataResourcePlural,
7890
Kind: reflect.TypeOf(crdv1.VolumeSnapshotData{}).Name(),
7991
},
8092
},
8193
}
82-
res, err := clientset.ApiextensionsV1beta1().CustomResourceDefinitions().Create(context.TODO(), crd, metav1.CreateOptions{})
94+
res, err := clientset.ApiextensionsV1().CustomResourceDefinitions().Create(context.TODO(), crd, metav1.CreateOptions{})
8395

8496
if err != nil && !apierrors.IsAlreadyExists(err) {
8597
glog.Fatalf("failed to create VolumeSnapshotDataResource: %#v, err: %#v",
8698
res, err)
8799
}
88100

89-
crd = &apiextensionsv1beta1.CustomResourceDefinition{
101+
crd = &apiextensionsv1.CustomResourceDefinition{
90102
ObjectMeta: metav1.ObjectMeta{
91103
Name: crdv1.VolumeSnapshotResourcePlural + "." + crdv1.GroupName,
92104
Annotations: map[string]string{
93105
"api-approved.kubernetes.io": "https://github.com/kubernetes-csi/external-snapshotter/pull/419",
94106
},
95107
},
96-
Spec: apiextensionsv1beta1.CustomResourceDefinitionSpec{
97-
Group: crdv1.GroupName,
98-
Version: crdv1.SchemeGroupVersion.Version,
99-
Scope: apiextensionsv1beta1.NamespaceScoped,
100-
Names: apiextensionsv1beta1.CustomResourceDefinitionNames{
108+
Spec: apiextensionsv1.CustomResourceDefinitionSpec{
109+
Group: crdv1.GroupName,
110+
// Versions: crdv1.SchemeGroupVersion.Version,
111+
Versions: []apiextensionsv1.CustomResourceDefinitionVersion{
112+
{
113+
Name: "v1",
114+
Served: true,
115+
Storage: true,
116+
Schema: &apiextensionsv1.CustomResourceValidation{
117+
OpenAPIV3Schema: &apiextensionsv1.JSONSchemaProps{
118+
XPreserveUnknownFields: utilpointer.BoolPtr(true),
119+
},
120+
},
121+
},
122+
},
123+
Scope: apiextensionsv1.NamespaceScoped,
124+
Names: apiextensionsv1.CustomResourceDefinitionNames{
101125
Plural: crdv1.VolumeSnapshotResourcePlural,
102126
Kind: reflect.TypeOf(crdv1.VolumeSnapshot{}).Name(),
103127
},
104128
},
105129
}
106-
res, err = clientset.ApiextensionsV1beta1().CustomResourceDefinitions().Create(context.TODO(), crd, metav1.CreateOptions{})
130+
res, err = clientset.ApiextensionsV1().CustomResourceDefinitions().Create(context.TODO(), crd, metav1.CreateOptions{})
107131
if err != nil && !apierrors.IsAlreadyExists(err) {
108132
glog.Fatalf("failed to create VolumeSnapshotResource: %#v, err: %#v",
109133
res, err)
110134
}
135+
136+
glog.Infof("successfully created VolumeSnapshotResource")
111137
return nil
112138
}
113139

0 commit comments

Comments
 (0)