Skip to content

Commit de5461d

Browse files
committed
fix #11
1 parent cf2f9ba commit de5461d

File tree

1 file changed

+13
-5
lines changed

1 file changed

+13
-5
lines changed

cloud/services/compute/storage/reconcile.go

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package storage
22

33
import (
44
"context"
5+
"errors"
56
"fmt"
67

78
"github.com/sp-yduck/proxmox/pkg/api"
@@ -28,11 +29,7 @@ func (s *Service) Reconcile(ctx context.Context) error {
2829
}
2930

3031
func (s *Service) Delete(ctx context.Context) error {
31-
// return s.deleteStorage(ctx)
32-
// not worthy to delete Storage
33-
// since deleting Storage will block vm deletion
34-
// and does not delete actual content in the node
35-
return nil
32+
return s.deleteStorage(ctx)
3633
}
3734

3835
// createOrGetStorage gets Proxmox Storage for VMs
@@ -77,6 +74,17 @@ func (s *Service) deleteStorage(ctx context.Context) error {
7774
log.Info(err.Error())
7875
continue
7976
}
77+
78+
// check if storage is empty
79+
contents, err := storage.Contents()
80+
if err != nil {
81+
return err
82+
}
83+
if len(contents) > 0 {
84+
return errors.New("Storage must be empty to be deleted")
85+
}
86+
87+
// delete
8088
if _, err := storage.Delete(); err != nil {
8189
log.Info(err.Error())
8290
return err

0 commit comments

Comments
 (0)