Skip to content

Commit 8a6724a

Browse files
committed
fix bugs: storage/instance reconciler
1 parent 3c58c23 commit 8a6724a

File tree

3 files changed

+16
-9
lines changed

3 files changed

+16
-9
lines changed

cloud/services/compute/instance/qemu.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ func (s *Service) reconcileQEMU(ctx context.Context) (*proxmox.VirtualMachine, e
3838
return s.createQEMU(ctx, nodeName, vmid)
3939
}
4040

41+
// get QEMU gets proxmox vm from vmid
4142
func (s *Service) getQEMU(ctx context.Context, vmid *int) (*proxmox.VirtualMachine, error) {
4243
if vmid != nil {
4344
return s.client.VirtualMachine(ctx, *vmid)
@@ -68,6 +69,7 @@ func (s *Service) createQEMU(ctx context.Context, nodeName string, vmid *int) (*
6869
return nil, err
6970
}
7071
vmid = &nextid
72+
s.scope.SetVMID(*vmid)
7173
}
7274

7375
vmoption := generateVMOptions(s.scope.Name(), s.scope.GetStorage().Name, s.scope.GetNetwork(), s.scope.GetHardware())
@@ -76,7 +78,6 @@ func (s *Service) createQEMU(ctx context.Context, nodeName string, vmid *int) (*
7678
log.Error(err, fmt.Sprintf("failed to create qemu instance %s", vm.VM.Name))
7779
return nil, err
7880
}
79-
s.scope.SetVMID(*vmid)
8081
return vm, nil
8182
}
8283

cloud/services/compute/instance/reconcile.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,8 @@ func (s *Service) Reconcile(ctx context.Context) error {
3838
return err
3939
}
4040
s.scope.SetInstanceStatus(infrav1.InstanceStatus(instance.VM.Status))
41+
s.scope.SetNodeName(instance.Node)
42+
s.scope.SetVMID(instance.VM.VMID)
4143
// s.scope.SetAddresses()
4244
return nil
4345
}
@@ -47,11 +49,12 @@ func (s *Service) Delete(ctx context.Context) error {
4749
log := log.FromContext(ctx)
4850
log.Info("Deleting instance resources")
4951

50-
instance, err := s.getInstance(ctx)
52+
instance, err := s.getQEMU(ctx, s.scope.GetVMID())
5153
if err != nil {
5254
if !rest.IsNotFound(err) {
5355
return err
5456
}
57+
log.Info("qemu is not found or already deleted")
5558
return nil
5659
}
5760

@@ -86,7 +89,7 @@ func (s *Service) createOrGetInstance(ctx context.Context) (*proxmox.VirtualMach
8689
return instance, nil
8790
}
8891

89-
// getInstance get vm from providerID
92+
// getInstance() gets proxmoxm vm from providerID
9093
func (s *Service) getInstance(ctx context.Context) (*proxmox.VirtualMachine, error) {
9194
log := log.FromContext(ctx)
9295

cloud/services/compute/storage/reconcile.go

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66
"fmt"
77

88
"github.com/sp-yduck/proxmox-go/api"
9+
"github.com/sp-yduck/proxmox-go/proxmox"
910
"github.com/sp-yduck/proxmox-go/rest"
1011
"sigs.k8s.io/controller-runtime/pkg/log"
1112

@@ -68,8 +69,10 @@ func (s *Service) deleteStorage(ctx context.Context) error {
6869
if err != nil {
6970
return err
7071
}
72+
73+
var storage *proxmox.Storage
7174
for _, node := range nodes {
72-
storage, err := s.client.Storage(ctx, s.scope.Storage().Name)
75+
storage, err = s.client.Storage(ctx, s.scope.Storage().Name)
7376
if err != nil {
7477
log.Info(err.Error())
7578
continue
@@ -84,12 +87,12 @@ func (s *Service) deleteStorage(ctx context.Context) error {
8487
if len(contents) > 0 {
8588
return errors.New("Storage must be empty to be deleted")
8689
}
90+
}
8791

88-
// delete
89-
if err := storage.Delete(ctx); err != nil {
90-
log.Info(err.Error())
91-
return err
92-
}
92+
// delete
93+
if err := storage.Delete(ctx); err != nil {
94+
log.Info(err.Error())
95+
return err
9396
}
9497
return nil
9598
}

0 commit comments

Comments
 (0)