Skip to content

Commit d291b36

Browse files
committed
breakout azure machine pool machines
1 parent 78a4ca2 commit d291b36

30 files changed

+2785
-361
lines changed

api/v1alpha3/conditions_consts.go

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,3 +51,25 @@ const (
5151
// WaitingForBootstrapDataReason used when machine is waiting for bootstrap data to be ready before proceeding.
5252
WaitingForBootstrapDataReason = "WaitingForBootstrapData"
5353
)
54+
55+
// AzureMachinePool Conditions and Reasons
56+
const (
57+
// PoolRunningCondition reports on current status of the Azure VM.
58+
PoolRunningCondition clusterv1.ConditionType = "PoolRunning"
59+
// PoolCreatingReason describes the machine pool creating
60+
PoolCreatingReason = "PoolCreating"
61+
// PoolCreatingReason describes the machine pool deleting
62+
PoolDeletingReason = "PoolDeleting"
63+
64+
// PoolDesiredReplicasCondition reports on the scaling state of the machine pool
65+
PoolDesiredReplicasCondition clusterv1.ConditionType = "PoolDesiredReplicas"
66+
// PoolScaleUpReason describes the machine pool scaling up
67+
PoolScaleUpReason = "PoolScalingUp"
68+
// PoolScaleUpReason describes the machine pool scaling down
69+
PoolScaleDownReason = "PoolScalingDown"
70+
71+
// PoolModelUpdatingCondition reports on the model state of the pool
72+
PoolModelUpdatedCondition clusterv1.ConditionType = "PoolModelUpdated"
73+
// PoolModelOutOfDateReason describes the machine pool model being out of date
74+
PoolModelOutOfDateReason = "PoolModelOutOfDate"
75+
)

cloud/converters/vmss.go

Lines changed: 33 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -48,23 +48,41 @@ func SDKToVMSS(sdkvmss compute.VirtualMachineScaleSet, sdkinstances []compute.Vi
4848
if len(sdkinstances) > 0 {
4949
vmss.Instances = make([]infrav1exp.VMSSVM, len(sdkinstances))
5050
for i, vm := range sdkinstances {
51-
instance := infrav1exp.VMSSVM{
52-
ID: to.String(vm.ID),
53-
InstanceID: to.String(vm.InstanceID),
54-
Name: to.String(vm.OsProfile.ComputerName),
55-
State: infrav1.VMState(to.String(vm.ProvisioningState)),
56-
}
57-
58-
if vm.LatestModelApplied != nil {
59-
instance.LatestModelApplied = *vm.LatestModelApplied
60-
}
61-
62-
if vm.Zones != nil && len(*vm.Zones) > 0 {
63-
instance.AvailabilityZone = to.StringSlice(vm.Zones)[0]
64-
}
65-
vmss.Instances[i] = instance
51+
vmss.Instances[i] = *SDKToVMSSVM(vm)
6652
}
6753
}
6854

6955
return vmss
7056
}
57+
58+
// SDKToVMSSVM converts an Azure SDK VirtualMachineScaleSetVM into an infrav1exp.VMSSVM
59+
func SDKToVMSSVM(sdkInstance compute.VirtualMachineScaleSetVM) *infrav1exp.VMSSVM {
60+
instance := infrav1exp.VMSSVM{
61+
ID: to.String(sdkInstance.ID),
62+
InstanceID: to.String(sdkInstance.InstanceID),
63+
LatestModelApplied: true,
64+
}
65+
66+
if sdkInstance.VirtualMachineScaleSetVMProperties == nil {
67+
return &instance
68+
}
69+
70+
instance.State = infrav1.VMStateCreating
71+
if sdkInstance.ProvisioningState != nil {
72+
instance.State = infrav1.VMState(to.String(sdkInstance.ProvisioningState))
73+
}
74+
75+
if sdkInstance.OsProfile != nil && sdkInstance.OsProfile.ComputerName != nil {
76+
instance.Name = *sdkInstance.OsProfile.ComputerName
77+
}
78+
79+
if sdkInstance.LatestModelApplied != nil {
80+
instance.LatestModelApplied = *sdkInstance.LatestModelApplied
81+
}
82+
83+
if sdkInstance.Zones != nil && len(*sdkInstance.Zones) > 0 {
84+
instance.AvailabilityZone = to.StringSlice(sdkInstance.Zones)[0]
85+
}
86+
87+
return &instance
88+
}

0 commit comments

Comments
 (0)