@@ -38,6 +38,7 @@ import (
3838 "sigs.k8s.io/cluster-api-provider-azure/pkg/cloud/azure/services/availabilityzones"
3939 "sigs.k8s.io/cluster-api-provider-azure/pkg/cloud/azure/services/certificates"
4040 "sigs.k8s.io/cluster-api-provider-azure/pkg/cloud/azure/services/config"
41+ "sigs.k8s.io/cluster-api-provider-azure/pkg/cloud/azure/services/disks"
4142 "sigs.k8s.io/cluster-api-provider-azure/pkg/cloud/azure/services/networkinterfaces"
4243 "sigs.k8s.io/cluster-api-provider-azure/pkg/cloud/azure/services/virtualmachineextensions"
4344 "sigs.k8s.io/cluster-api-provider-azure/pkg/cloud/azure/services/virtualmachines"
@@ -56,6 +57,7 @@ type Reconciler struct {
5657 networkInterfacesSvc azure.Service
5758 virtualMachinesSvc azure.GetterService
5859 virtualMachinesExtSvc azure.GetterService
60+ disksSvc azure.GetterService
5961}
6062
6163// NewReconciler populates all the services based on input scope
@@ -66,6 +68,7 @@ func NewReconciler(scope *actuators.MachineScope) *Reconciler {
6668 networkInterfacesSvc : networkinterfaces .NewService (scope .Scope ),
6769 virtualMachinesSvc : virtualmachines .NewService (scope .Scope ),
6870 virtualMachinesExtSvc : virtualmachineextensions .NewService (scope .Scope ),
71+ disksSvc : disks .NewService (scope .Scope ),
6972 }
7073}
7174
@@ -210,6 +213,14 @@ func (r *Reconciler) Delete(ctx context.Context) error {
210213 return errors .Wrapf (err , "Unable to delete network interface" )
211214 }
212215
216+ OSDiskSpec := & disks.Spec {
217+ Name : azure .GenerateOSDiskName (r .scope .Machine .Name ),
218+ }
219+ err = r .disksSvc .Delete (ctx , OSDiskSpec )
220+ if err != nil {
221+ return errors .Wrapf (err , "Failed to delete OS disk of machine %s" , r .scope .Machine .Name )
222+ }
223+
213224 return nil
214225}
215226
@@ -435,7 +446,6 @@ func (r *Reconciler) createNetworkInterface(ctx context.Context, nicName string)
435446 networkInterfaceSpec .SubnetName = azure .GenerateControlPlaneSubnetName (r .scope .Cluster .Name )
436447 networkInterfaceSpec .PublicLoadBalancerName = azure .GeneratePublicLBName (r .scope .Cluster .Name )
437448 networkInterfaceSpec .InternalLoadBalancerName = azure .GenerateInternalLBName (r .scope .Cluster .Name )
438- networkInterfaceSpec .NatRule = 0
439449 default :
440450 return errors .Errorf ("unknown value %s for label `set` on machine %s, skipping machine creation" , set , r .scope .Machine .Name )
441451 }
0 commit comments