diff --git a/pkg/models/resources/v1alpha3/volumesnapshot/volumesnapshot.go b/pkg/models/resources/v1alpha3/volumesnapshot/volumesnapshot.go index 41088004d..d5a040a83 100644 --- a/pkg/models/resources/v1alpha3/volumesnapshot/volumesnapshot.go +++ b/pkg/models/resources/v1alpha3/volumesnapshot/volumesnapshot.go @@ -28,6 +28,7 @@ import ( const ( statusCreating = "creating" statusReady = "ready" + statusDeleting = "deleting" volumeSnapshotClassName = "volumeSnapshotClassName" persistentVolumeClaimName = "persistentVolumeClaimName" @@ -96,5 +97,8 @@ func snapshotStatus(item *v1beta1.VolumeSnapshot) string { if item != nil && item.Status != nil && item.Status.ReadyToUse != nil && *item.Status.ReadyToUse { status = statusReady } + if item != nil && item.DeletionTimestamp != nil{ + status = statusDeleting + } return status } diff --git a/pkg/models/resources/v1alpha3/volumesnapshot/volumesnapshot_test.go b/pkg/models/resources/v1alpha3/volumesnapshot/volumesnapshot_test.go index bbf514f2e..cd6a5d887 100644 --- a/pkg/models/resources/v1alpha3/volumesnapshot/volumesnapshot_test.go +++ b/pkg/models/resources/v1alpha3/volumesnapshot/volumesnapshot_test.go @@ -208,13 +208,17 @@ func TestListVolumeSnapshot(t *testing.T) { } Expect(snapshotStatus(snapshot)).To(Equal(statusReady)) }) + + It("snapshot.DeletionTimestamp != nil", func() { + deleteTime := v1.Now() + snapshot.DeletionTimestamp = &deleteTime + defer func() { + snapshot.DeletionTimestamp = nil + }() + Expect(snapshotStatus(snapshot)).To(Equal(statusDeleting)) + }) + }) RunSpecs(t, "volume snapshot getter list") } - -//func TestVolumeSnapshotStatus( t *testing.T) { -// RegisterFailHandler(Fail) -// -// RunSpecs(t, "volume snapshot status") -//}