Skip to content

Commit 656a6e9

Browse files
committed
add status Subresources for volumeSnapshot
1 parent 608b686 commit 656a6e9

File tree

2 files changed

+18
-7
lines changed

2 files changed

+18
-7
lines changed

cmd/csi-snapshotter/create_crd.go

+16-5
Original file line numberDiff line numberDiff line change
@@ -38,13 +38,24 @@ func CreateCRD(clientset apiextensionsclient.Interface) error {
3838
Plural: crdv1.VolumeSnapshotClassResourcePlural,
3939
Kind: reflect.TypeOf(crdv1.VolumeSnapshotClass{}).Name(),
4040
},
41+
Subresources: &apiextensionsv1beta1.CustomResourceSubresources{
42+
Status: &apiextensionsv1beta1.CustomResourceSubresourceStatus{},
43+
},
4144
},
4245
}
43-
res, err := clientset.ApiextensionsV1beta1().CustomResourceDefinitions().Create(crd)
4446

45-
if err != nil && !apierrors.IsAlreadyExists(err) {
46-
glog.Fatalf("failed to create VolumeSnapshotResource: %#v, err: %#v",
47-
res, err)
47+
_, err := clientset.ApiextensionsV1beta1().CustomResourceDefinitions().Get(crd.Name, metav1.GetOptions{})
48+
if err == nil {
49+
if res, err := clientset.ApiextensionsV1beta1().CustomResourceDefinitions().Update(crd); err != nil {
50+
glog.Fatalf("failed to update VolumeSnapshotResource: %#v, err: %#v",
51+
res, err)
52+
}
53+
} else {
54+
res, err := clientset.ApiextensionsV1beta1().CustomResourceDefinitions().Create(crd)
55+
if err != nil && !apierrors.IsAlreadyExists(err) {
56+
glog.Fatalf("failed to create VolumeSnapshotResource: %#v, err: %#v",
57+
res, err)
58+
}
4859
}
4960

5061
crd = &apiextensionsv1beta1.CustomResourceDefinition{
@@ -61,7 +72,7 @@ func CreateCRD(clientset apiextensionsclient.Interface) error {
6172
},
6273
},
6374
}
64-
res, err = clientset.ApiextensionsV1beta1().CustomResourceDefinitions().Create(crd)
75+
res, err := clientset.ApiextensionsV1beta1().CustomResourceDefinitions().Create(crd)
6576

6677
if err != nil && !apierrors.IsAlreadyExists(err) {
6778
glog.Fatalf("failed to create VolumeSnapshotContentResource: %#v, err: %#v",

pkg/controller/snapshot_controller.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -366,7 +366,7 @@ func (ctrl *csiSnapshotController) updateSnapshotErrorStatusWithEvent(snapshot *
366366
snapshotClone.Status.Error = statusError
367367

368368
snapshotClone.Status.Ready = false
369-
newSnapshot, err := ctrl.clientset.VolumesnapshotV1alpha1().VolumeSnapshots(snapshotClone.Namespace).Update(snapshotClone)
369+
newSnapshot, err := ctrl.clientset.VolumesnapshotV1alpha1().VolumeSnapshots(snapshotClone.Namespace).UpdateStatus(snapshotClone)
370370
if err != nil {
371371
glog.V(4).Infof("updating VolumeSnapshot[%s] error status failed %v", snapshotKey(snapshot), err)
372372
return err
@@ -709,7 +709,7 @@ func (ctrl *csiSnapshotController) updateSnapshotStatus(snapshot *crdv1.VolumeSn
709709
status.RestoreSize = resource.NewQuantity(size, resource.BinarySI)
710710
}
711711
snapshotClone.Status = status
712-
newSnapshotObj, err := ctrl.clientset.VolumesnapshotV1alpha1().VolumeSnapshots(snapshotClone.Namespace).Update(snapshotClone)
712+
newSnapshotObj, err := ctrl.clientset.VolumesnapshotV1alpha1().VolumeSnapshots(snapshotClone.Namespace).UpdateStatus(snapshotClone)
713713
if err != nil {
714714
return nil, newControllerUpdateError(snapshotKey(snapshot), err.Error())
715715
} else {

0 commit comments

Comments
 (0)