mirror of https://github.com/kubernetes/kops.git
azure: Migrate model to new SDK version
This commit is contained in:
parent
6b5a429e5b
commit
4198b19438
|
|
@ -19,7 +19,7 @@ package azuremodel
|
|||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/Azure/go-autorest/autorest/to"
|
||||
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
|
||||
"k8s.io/kops/pkg/apis/kops"
|
||||
"k8s.io/kops/upup/pkg/fi"
|
||||
"k8s.io/kops/upup/pkg/fi/cloudup/azuretasks"
|
||||
|
|
@ -57,14 +57,14 @@ func (b *APILoadBalancerModelBuilder) Build(c *fi.CloudupModelBuilderContext) er
|
|||
|
||||
switch lbSpec.Type {
|
||||
case kops.LoadBalancerTypeInternal:
|
||||
lb.External = to.BoolPtr(false)
|
||||
lb.External = to.Ptr(false)
|
||||
subnet, err := b.subnetForLoadBalancer()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
lb.Subnet = b.LinkToAzureSubnet(subnet)
|
||||
case kops.LoadBalancerTypePublic:
|
||||
lb.External = to.BoolPtr(true)
|
||||
lb.External = to.Ptr(true)
|
||||
|
||||
// Create Public IP Address for Public Loadbalacer
|
||||
p := &azuretasks.PublicIPAddress{
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ package azuremodel
|
|||
import (
|
||||
"strconv"
|
||||
|
||||
"github.com/Azure/azure-sdk-for-go/services/network/mgmt/2022-05-01/network"
|
||||
network "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork"
|
||||
"k8s.io/kops/pkg/apis/kops"
|
||||
"k8s.io/kops/pkg/wellknownports"
|
||||
"k8s.io/kops/upup/pkg/fi"
|
||||
|
|
@ -61,11 +61,11 @@ func (b *NetworkModelBuilder) Build(c *fi.CloudupModelBuilderContext) error {
|
|||
Access: network.SecurityRuleAccessAllow,
|
||||
Direction: network.SecurityRuleDirectionInbound,
|
||||
Protocol: network.SecurityRuleProtocolTCP,
|
||||
SourceAddressPrefixes: &sshAccessIPv4,
|
||||
SourceAddressPrefixes: sshAccessIPv4,
|
||||
SourcePortRange: fi.PtrTo("*"),
|
||||
DestinationApplicationSecurityGroupNames: &[]string{
|
||||
b.NameForApplicationSecurityGroupControlPlane(),
|
||||
b.NameForApplicationSecurityGroupNodes(),
|
||||
DestinationApplicationSecurityGroupNames: []*string{
|
||||
fi.PtrTo(b.NameForApplicationSecurityGroupControlPlane()),
|
||||
fi.PtrTo(b.NameForApplicationSecurityGroupNodes()),
|
||||
},
|
||||
DestinationPortRange: fi.PtrTo("22"),
|
||||
})
|
||||
|
|
@ -78,11 +78,11 @@ func (b *NetworkModelBuilder) Build(c *fi.CloudupModelBuilderContext) error {
|
|||
Access: network.SecurityRuleAccessAllow,
|
||||
Direction: network.SecurityRuleDirectionInbound,
|
||||
Protocol: network.SecurityRuleProtocolTCP,
|
||||
SourceAddressPrefixes: &sshAccessIPv6,
|
||||
SourceAddressPrefixes: sshAccessIPv6,
|
||||
SourcePortRange: fi.PtrTo("*"),
|
||||
DestinationApplicationSecurityGroupNames: &[]string{
|
||||
b.NameForApplicationSecurityGroupControlPlane(),
|
||||
b.NameForApplicationSecurityGroupNodes(),
|
||||
DestinationApplicationSecurityGroupNames: []*string{
|
||||
fi.PtrTo(b.NameForApplicationSecurityGroupControlPlane()),
|
||||
fi.PtrTo(b.NameForApplicationSecurityGroupNodes()),
|
||||
},
|
||||
DestinationPortRange: fi.PtrTo("22"),
|
||||
})
|
||||
|
|
@ -95,9 +95,9 @@ func (b *NetworkModelBuilder) Build(c *fi.CloudupModelBuilderContext) error {
|
|||
Access: network.SecurityRuleAccessAllow,
|
||||
Direction: network.SecurityRuleDirectionInbound,
|
||||
Protocol: network.SecurityRuleProtocolTCP,
|
||||
SourceAddressPrefixes: &k8sAccessIPv4,
|
||||
SourceAddressPrefixes: k8sAccessIPv4,
|
||||
SourcePortRange: fi.PtrTo("*"),
|
||||
DestinationApplicationSecurityGroupNames: &[]string{b.NameForApplicationSecurityGroupControlPlane()},
|
||||
DestinationApplicationSecurityGroupNames: []*string{fi.PtrTo(b.NameForApplicationSecurityGroupControlPlane())},
|
||||
DestinationPortRange: fi.PtrTo(strconv.Itoa(wellknownports.KubeAPIServer)),
|
||||
})
|
||||
}
|
||||
|
|
@ -109,9 +109,9 @@ func (b *NetworkModelBuilder) Build(c *fi.CloudupModelBuilderContext) error {
|
|||
Access: network.SecurityRuleAccessAllow,
|
||||
Direction: network.SecurityRuleDirectionInbound,
|
||||
Protocol: network.SecurityRuleProtocolTCP,
|
||||
SourceAddressPrefixes: &k8sAccessIPv6,
|
||||
SourceAddressPrefixes: k8sAccessIPv6,
|
||||
SourcePortRange: fi.PtrTo("*"),
|
||||
DestinationApplicationSecurityGroupNames: &[]string{b.NameForApplicationSecurityGroupControlPlane()},
|
||||
DestinationApplicationSecurityGroupNames: []*string{fi.PtrTo(b.NameForApplicationSecurityGroupControlPlane())},
|
||||
DestinationPortRange: fi.PtrTo(strconv.Itoa(wellknownports.KubeAPIServer)),
|
||||
})
|
||||
}
|
||||
|
|
@ -123,9 +123,9 @@ func (b *NetworkModelBuilder) Build(c *fi.CloudupModelBuilderContext) error {
|
|||
Access: network.SecurityRuleAccessAllow,
|
||||
Direction: network.SecurityRuleDirectionInbound,
|
||||
Protocol: network.SecurityRuleProtocolAsterisk,
|
||||
SourceAddressPrefixes: &nodePortAccessIPv4,
|
||||
SourceAddressPrefixes: nodePortAccessIPv4,
|
||||
SourcePortRange: fi.PtrTo("*"),
|
||||
DestinationApplicationSecurityGroupNames: &[]string{b.NameForApplicationSecurityGroupNodes()},
|
||||
DestinationApplicationSecurityGroupNames: []*string{fi.PtrTo(b.NameForApplicationSecurityGroupNodes())},
|
||||
DestinationPortRange: fi.PtrTo("30000-32767"),
|
||||
})
|
||||
}
|
||||
|
|
@ -137,9 +137,9 @@ func (b *NetworkModelBuilder) Build(c *fi.CloudupModelBuilderContext) error {
|
|||
Access: network.SecurityRuleAccessAllow,
|
||||
Direction: network.SecurityRuleDirectionInbound,
|
||||
Protocol: network.SecurityRuleProtocolAsterisk,
|
||||
SourceAddressPrefixes: &nodePortAccessIPv6,
|
||||
SourceAddressPrefixes: nodePortAccessIPv6,
|
||||
SourcePortRange: fi.PtrTo("*"),
|
||||
DestinationApplicationSecurityGroupNames: &[]string{b.NameForApplicationSecurityGroupNodes()},
|
||||
DestinationApplicationSecurityGroupNames: []*string{fi.PtrTo(b.NameForApplicationSecurityGroupNodes())},
|
||||
DestinationPortRange: fi.PtrTo("30000-32767"),
|
||||
})
|
||||
}
|
||||
|
|
@ -149,9 +149,9 @@ func (b *NetworkModelBuilder) Build(c *fi.CloudupModelBuilderContext) error {
|
|||
Access: network.SecurityRuleAccessAllow,
|
||||
Direction: network.SecurityRuleDirectionInbound,
|
||||
Protocol: network.SecurityRuleProtocolAsterisk,
|
||||
SourceApplicationSecurityGroupNames: &[]string{b.NameForApplicationSecurityGroupControlPlane()},
|
||||
SourceApplicationSecurityGroupNames: []*string{fi.PtrTo(b.NameForApplicationSecurityGroupControlPlane())},
|
||||
SourcePortRange: fi.PtrTo("*"),
|
||||
DestinationApplicationSecurityGroupNames: &[]string{b.NameForApplicationSecurityGroupControlPlane()},
|
||||
DestinationApplicationSecurityGroupNames: []*string{fi.PtrTo(b.NameForApplicationSecurityGroupControlPlane())},
|
||||
DestinationPortRange: fi.PtrTo("*"),
|
||||
})
|
||||
nsgTask.SecurityRules = append(nsgTask.SecurityRules, &azuretasks.NetworkSecurityRule{
|
||||
|
|
@ -160,9 +160,9 @@ func (b *NetworkModelBuilder) Build(c *fi.CloudupModelBuilderContext) error {
|
|||
Access: network.SecurityRuleAccessAllow,
|
||||
Direction: network.SecurityRuleDirectionInbound,
|
||||
Protocol: network.SecurityRuleProtocolAsterisk,
|
||||
SourceApplicationSecurityGroupNames: &[]string{b.NameForApplicationSecurityGroupControlPlane()},
|
||||
SourceApplicationSecurityGroupNames: []*string{fi.PtrTo(b.NameForApplicationSecurityGroupControlPlane())},
|
||||
SourcePortRange: fi.PtrTo("*"),
|
||||
DestinationApplicationSecurityGroupNames: &[]string{b.NameForApplicationSecurityGroupNodes()},
|
||||
DestinationApplicationSecurityGroupNames: []*string{fi.PtrTo(b.NameForApplicationSecurityGroupNodes())},
|
||||
DestinationPortRange: fi.PtrTo("*"),
|
||||
})
|
||||
nsgTask.SecurityRules = append(nsgTask.SecurityRules, &azuretasks.NetworkSecurityRule{
|
||||
|
|
@ -171,9 +171,9 @@ func (b *NetworkModelBuilder) Build(c *fi.CloudupModelBuilderContext) error {
|
|||
Access: network.SecurityRuleAccessAllow,
|
||||
Direction: network.SecurityRuleDirectionInbound,
|
||||
Protocol: network.SecurityRuleProtocolAsterisk,
|
||||
SourceApplicationSecurityGroupNames: &[]string{b.NameForApplicationSecurityGroupNodes()},
|
||||
SourceApplicationSecurityGroupNames: []*string{fi.PtrTo(b.NameForApplicationSecurityGroupNodes())},
|
||||
SourcePortRange: fi.PtrTo("*"),
|
||||
DestinationApplicationSecurityGroupNames: &[]string{b.NameForApplicationSecurityGroupNodes()},
|
||||
DestinationApplicationSecurityGroupNames: []*string{fi.PtrTo(b.NameForApplicationSecurityGroupNodes())},
|
||||
DestinationPortRange: fi.PtrTo("*"),
|
||||
})
|
||||
nsgTask.SecurityRules = append(nsgTask.SecurityRules, &azuretasks.NetworkSecurityRule{
|
||||
|
|
@ -182,9 +182,9 @@ func (b *NetworkModelBuilder) Build(c *fi.CloudupModelBuilderContext) error {
|
|||
Access: network.SecurityRuleAccessDeny,
|
||||
Direction: network.SecurityRuleDirectionInbound,
|
||||
Protocol: network.SecurityRuleProtocolTCP,
|
||||
SourceApplicationSecurityGroupNames: &[]string{b.NameForApplicationSecurityGroupNodes()},
|
||||
SourceApplicationSecurityGroupNames: []*string{fi.PtrTo(b.NameForApplicationSecurityGroupNodes())},
|
||||
SourcePortRange: fi.PtrTo("*"),
|
||||
DestinationApplicationSecurityGroupNames: &[]string{b.NameForApplicationSecurityGroupControlPlane()},
|
||||
DestinationApplicationSecurityGroupNames: []*string{fi.PtrTo(b.NameForApplicationSecurityGroupControlPlane())},
|
||||
DestinationPortRange: fi.PtrTo("2380-2381"),
|
||||
})
|
||||
nsgTask.SecurityRules = append(nsgTask.SecurityRules, &azuretasks.NetworkSecurityRule{
|
||||
|
|
@ -193,9 +193,9 @@ func (b *NetworkModelBuilder) Build(c *fi.CloudupModelBuilderContext) error {
|
|||
Access: network.SecurityRuleAccessDeny,
|
||||
Direction: network.SecurityRuleDirectionInbound,
|
||||
Protocol: network.SecurityRuleProtocolTCP,
|
||||
SourceApplicationSecurityGroupNames: &[]string{b.NameForApplicationSecurityGroupNodes()},
|
||||
SourceApplicationSecurityGroupNames: []*string{fi.PtrTo(b.NameForApplicationSecurityGroupNodes())},
|
||||
SourcePortRange: fi.PtrTo("*"),
|
||||
DestinationApplicationSecurityGroupNames: &[]string{b.NameForApplicationSecurityGroupControlPlane()},
|
||||
DestinationApplicationSecurityGroupNames: []*string{fi.PtrTo(b.NameForApplicationSecurityGroupControlPlane())},
|
||||
DestinationPortRange: fi.PtrTo("4000-4001"),
|
||||
})
|
||||
nsgTask.SecurityRules = append(nsgTask.SecurityRules, &azuretasks.NetworkSecurityRule{
|
||||
|
|
@ -204,9 +204,9 @@ func (b *NetworkModelBuilder) Build(c *fi.CloudupModelBuilderContext) error {
|
|||
Access: network.SecurityRuleAccessAllow,
|
||||
Direction: network.SecurityRuleDirectionInbound,
|
||||
Protocol: network.SecurityRuleProtocolAsterisk,
|
||||
SourceApplicationSecurityGroupNames: &[]string{b.NameForApplicationSecurityGroupNodes()},
|
||||
SourceApplicationSecurityGroupNames: []*string{fi.PtrTo(b.NameForApplicationSecurityGroupNodes())},
|
||||
SourcePortRange: fi.PtrTo("*"),
|
||||
DestinationApplicationSecurityGroupNames: &[]string{b.NameForApplicationSecurityGroupControlPlane()},
|
||||
DestinationApplicationSecurityGroupNames: []*string{fi.PtrTo(b.NameForApplicationSecurityGroupControlPlane())},
|
||||
DestinationPortRange: fi.PtrTo("*"),
|
||||
})
|
||||
if b.Cluster.UsesNoneDNS() && b.Cluster.Spec.API.LoadBalancer != nil && b.Cluster.Spec.API.LoadBalancer.Type == kops.LoadBalancerTypePublic {
|
||||
|
|
@ -219,7 +219,7 @@ func (b *NetworkModelBuilder) Build(c *fi.CloudupModelBuilderContext) error {
|
|||
Protocol: network.SecurityRuleProtocolTCP,
|
||||
SourceAddressPrefix: fi.PtrTo("*"),
|
||||
SourcePortRange: fi.PtrTo("*"),
|
||||
DestinationApplicationSecurityGroupNames: &[]string{b.NameForApplicationSecurityGroupControlPlane()},
|
||||
DestinationApplicationSecurityGroupNames: []*string{fi.PtrTo(b.NameForApplicationSecurityGroupControlPlane())},
|
||||
DestinationPortRange: fi.PtrTo(strconv.Itoa(wellknownports.KubeAPIServer)),
|
||||
})
|
||||
nsgTask.SecurityRules = append(nsgTask.SecurityRules, &azuretasks.NetworkSecurityRule{
|
||||
|
|
@ -230,7 +230,7 @@ func (b *NetworkModelBuilder) Build(c *fi.CloudupModelBuilderContext) error {
|
|||
Protocol: network.SecurityRuleProtocolTCP,
|
||||
SourceAddressPrefix: fi.PtrTo("*"),
|
||||
SourcePortRange: fi.PtrTo("*"),
|
||||
DestinationApplicationSecurityGroupNames: &[]string{b.NameForApplicationSecurityGroupControlPlane()},
|
||||
DestinationApplicationSecurityGroupNames: []*string{fi.PtrTo(b.NameForApplicationSecurityGroupControlPlane())},
|
||||
DestinationPortRange: fi.PtrTo(strconv.Itoa(wellknownports.KopsControllerPort)),
|
||||
})
|
||||
}
|
||||
|
|
@ -253,7 +253,7 @@ func (b *NetworkModelBuilder) Build(c *fi.CloudupModelBuilderContext) error {
|
|||
Protocol: network.SecurityRuleProtocolAsterisk,
|
||||
SourceAddressPrefix: fi.PtrTo("*"),
|
||||
SourcePortRange: fi.PtrTo("*"),
|
||||
DestinationApplicationSecurityGroupNames: &[]string{b.NameForApplicationSecurityGroupControlPlane()},
|
||||
DestinationApplicationSecurityGroupNames: []*string{fi.PtrTo(b.NameForApplicationSecurityGroupControlPlane())},
|
||||
DestinationPortRange: fi.PtrTo("*"),
|
||||
})
|
||||
nsgTask.SecurityRules = append(nsgTask.SecurityRules, &azuretasks.NetworkSecurityRule{
|
||||
|
|
@ -264,7 +264,7 @@ func (b *NetworkModelBuilder) Build(c *fi.CloudupModelBuilderContext) error {
|
|||
Protocol: network.SecurityRuleProtocolAsterisk,
|
||||
SourceAddressPrefix: fi.PtrTo("*"),
|
||||
SourcePortRange: fi.PtrTo("*"),
|
||||
DestinationApplicationSecurityGroupNames: &[]string{b.NameForApplicationSecurityGroupNodes()},
|
||||
DestinationApplicationSecurityGroupNames: []*string{fi.PtrTo(b.NameForApplicationSecurityGroupNodes())},
|
||||
DestinationPortRange: fi.PtrTo("*"),
|
||||
})
|
||||
c.AddTask(nsgTask)
|
||||
|
|
@ -311,21 +311,23 @@ func (b *NetworkModelBuilder) Build(c *fi.CloudupModelBuilderContext) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
func ipv4CIDRs(mixedCIDRs []string) []string {
|
||||
var cidrs []string
|
||||
for _, cidr := range mixedCIDRs {
|
||||
func ipv4CIDRs(mixedCIDRs []string) []*string {
|
||||
var cidrs []*string
|
||||
for i := range mixedCIDRs {
|
||||
cidr := mixedCIDRs[i]
|
||||
if net.IPFamilyOfCIDRString(cidr) == net.IPv4 {
|
||||
cidrs = append(cidrs, cidr)
|
||||
cidrs = append(cidrs, &cidr)
|
||||
}
|
||||
}
|
||||
return cidrs
|
||||
}
|
||||
|
||||
func ipv6CIDRs(mixedCIDRs []string) []string {
|
||||
var cidrs []string
|
||||
for _, cidr := range mixedCIDRs {
|
||||
func ipv6CIDRs(mixedCIDRs []string) []*string {
|
||||
var cidrs []*string
|
||||
for i := range mixedCIDRs {
|
||||
cidr := mixedCIDRs[i]
|
||||
if net.IPFamilyOfCIDRString(cidr) == net.IPv6 {
|
||||
cidrs = append(cidrs, cidr)
|
||||
cidrs = append(cidrs, &cidr)
|
||||
}
|
||||
}
|
||||
return cidrs
|
||||
|
|
|
|||
|
|
@ -20,8 +20,8 @@ import (
|
|||
"fmt"
|
||||
"strings"
|
||||
|
||||
"github.com/Azure/azure-sdk-for-go/services/compute/mgmt/2022-08-01/compute"
|
||||
"github.com/Azure/go-autorest/autorest/to"
|
||||
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
|
||||
compute "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute"
|
||||
"k8s.io/kops/pkg/apis/kops"
|
||||
"k8s.io/kops/pkg/model"
|
||||
"k8s.io/kops/pkg/model/defaults"
|
||||
|
|
@ -86,13 +86,13 @@ func (b *VMScaleSetModelBuilder) buildVMScaleSetTask(
|
|||
name string,
|
||||
ig *kops.InstanceGroup,
|
||||
) (*azuretasks.VMScaleSet, error) {
|
||||
var azNumbers []string
|
||||
var azNumbers []*string
|
||||
for _, zone := range ig.Spec.Zones {
|
||||
az, err := azure.ZoneToAvailabilityZoneNumber(zone)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
azNumbers = append(azNumbers, az)
|
||||
azNumbers = append(azNumbers, &az)
|
||||
}
|
||||
t := &azuretasks.VMScaleSet{
|
||||
Name: fi.PtrTo(name),
|
||||
|
|
@ -162,7 +162,7 @@ func (b *VMScaleSetModelBuilder) buildVMScaleSetTask(
|
|||
|
||||
if ig.Spec.Role == kops.InstanceGroupRoleControlPlane && b.Cluster.Spec.API.LoadBalancer != nil {
|
||||
t.LoadBalancer = &azuretasks.LoadBalancer{
|
||||
Name: to.StringPtr(b.NameForLoadBalancer()),
|
||||
Name: to.Ptr(b.NameForLoadBalancer()),
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -207,7 +207,7 @@ func getStorageProfile(spec *kops.InstanceGroupSpec) (*compute.VirtualMachineSca
|
|||
if spec.RootVolume != nil && spec.RootVolume.Type != nil {
|
||||
storageAccountType = compute.StorageAccountTypes(*spec.RootVolume.Type)
|
||||
} else {
|
||||
storageAccountType = compute.StorageAccountTypesPremiumLRS
|
||||
storageAccountType = compute.StorageAccountTypesStandardSSDLRS
|
||||
}
|
||||
|
||||
imageReference, err := parseImage(spec.Image)
|
||||
|
|
@ -216,16 +216,15 @@ func getStorageProfile(spec *kops.InstanceGroupSpec) (*compute.VirtualMachineSca
|
|||
}
|
||||
|
||||
return &compute.VirtualMachineScaleSetStorageProfile{
|
||||
DiskControllerType: fi.PtrTo(string(compute.SCSI)),
|
||||
ImageReference: imageReference,
|
||||
OsDisk: &compute.VirtualMachineScaleSetOSDisk{
|
||||
OsType: compute.OperatingSystemTypes(compute.Linux),
|
||||
CreateOption: compute.DiskCreateOptionTypesFromImage,
|
||||
DiskSizeGB: to.Int32Ptr(volumeSize),
|
||||
OSDisk: &compute.VirtualMachineScaleSetOSDisk{
|
||||
OSType: to.Ptr(compute.OperatingSystemTypesLinux),
|
||||
CreateOption: to.Ptr(compute.DiskCreateOptionTypesFromImage),
|
||||
DiskSizeGB: to.Ptr(volumeSize),
|
||||
ManagedDisk: &compute.VirtualMachineScaleSetManagedDiskParameters{
|
||||
StorageAccountType: storageAccountType,
|
||||
StorageAccountType: &storageAccountType,
|
||||
},
|
||||
Caching: compute.CachingTypes(compute.HostCachingReadWrite),
|
||||
Caching: to.Ptr(compute.CachingTypesReadWrite),
|
||||
},
|
||||
}, nil
|
||||
}
|
||||
|
|
@ -233,7 +232,7 @@ func getStorageProfile(spec *kops.InstanceGroupSpec) (*compute.VirtualMachineSca
|
|||
func parseImage(image string) (*compute.ImageReference, error) {
|
||||
if strings.HasPrefix(image, "/subscriptions/") {
|
||||
return &compute.ImageReference{
|
||||
ID: to.StringPtr(image),
|
||||
ID: to.Ptr(image),
|
||||
}, nil
|
||||
}
|
||||
|
||||
|
|
@ -242,20 +241,20 @@ func parseImage(image string) (*compute.ImageReference, error) {
|
|||
return nil, fmt.Errorf("malformed format of image urn: %s", image)
|
||||
}
|
||||
return &compute.ImageReference{
|
||||
Publisher: to.StringPtr(l[0]),
|
||||
Offer: to.StringPtr(l[1]),
|
||||
Sku: to.StringPtr(l[2]),
|
||||
Version: to.StringPtr(l[3]),
|
||||
Publisher: to.Ptr(l[0]),
|
||||
Offer: to.Ptr(l[1]),
|
||||
SKU: to.Ptr(l[2]),
|
||||
Version: to.Ptr(l[3]),
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (b *VMScaleSetModelBuilder) buildRoleAssignmentTask(vmss *azuretasks.VMScaleSet, roleKey, roleDefID string) *azuretasks.RoleAssignment {
|
||||
name := fmt.Sprintf("%s-%s", *vmss.Name, roleKey)
|
||||
return &azuretasks.RoleAssignment{
|
||||
Name: to.StringPtr(name),
|
||||
Name: to.Ptr(name),
|
||||
Lifecycle: b.Lifecycle,
|
||||
ResourceGroup: b.LinkToResourceGroup(),
|
||||
VMScaleSet: vmss,
|
||||
RoleDefID: to.StringPtr(roleDefID),
|
||||
RoleDefID: to.Ptr(roleDefID),
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,8 +21,8 @@ import (
|
|||
"reflect"
|
||||
"testing"
|
||||
|
||||
"github.com/Azure/azure-sdk-for-go/services/compute/mgmt/2022-08-01/compute"
|
||||
"github.com/Azure/go-autorest/autorest/to"
|
||||
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
|
||||
compute "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute"
|
||||
"k8s.io/kops/pkg/apis/kops"
|
||||
"k8s.io/kops/pkg/model"
|
||||
"k8s.io/kops/pkg/model/defaults"
|
||||
|
|
@ -149,26 +149,25 @@ func TestGetStorageProfile(t *testing.T) {
|
|||
spec: kops.InstanceGroupSpec{
|
||||
Image: "Canonical:UbuntuServer:18.04-LTS:latest",
|
||||
RootVolume: &kops.InstanceRootVolumeSpec{
|
||||
Type: fi.PtrTo(string(compute.StorageAccountTypesStandardLRS)),
|
||||
Type: fi.PtrTo(string(compute.StorageAccountTypesUltraSSDLRS)),
|
||||
Size: fi.PtrTo(int32(128)),
|
||||
},
|
||||
},
|
||||
profile: &compute.VirtualMachineScaleSetStorageProfile{
|
||||
DiskControllerType: fi.PtrTo(string(compute.SCSI)),
|
||||
ImageReference: &compute.ImageReference{
|
||||
Publisher: to.StringPtr("Canonical"),
|
||||
Offer: to.StringPtr("UbuntuServer"),
|
||||
Sku: to.StringPtr("18.04-LTS"),
|
||||
Version: to.StringPtr("latest"),
|
||||
Publisher: to.Ptr("Canonical"),
|
||||
Offer: to.Ptr("UbuntuServer"),
|
||||
SKU: to.Ptr("18.04-LTS"),
|
||||
Version: to.Ptr("latest"),
|
||||
},
|
||||
OsDisk: &compute.VirtualMachineScaleSetOSDisk{
|
||||
OsType: compute.OperatingSystemTypes(compute.Linux),
|
||||
CreateOption: compute.DiskCreateOptionTypesFromImage,
|
||||
DiskSizeGB: to.Int32Ptr(128),
|
||||
OSDisk: &compute.VirtualMachineScaleSetOSDisk{
|
||||
OSType: to.Ptr(compute.OperatingSystemTypesLinux),
|
||||
CreateOption: to.Ptr(compute.DiskCreateOptionTypesFromImage),
|
||||
DiskSizeGB: to.Ptr[int32](128),
|
||||
ManagedDisk: &compute.VirtualMachineScaleSetManagedDiskParameters{
|
||||
StorageAccountType: compute.StorageAccountTypesStandardLRS,
|
||||
StorageAccountType: to.Ptr(compute.StorageAccountTypesUltraSSDLRS),
|
||||
},
|
||||
Caching: compute.CachingTypes(compute.HostCachingReadWrite),
|
||||
Caching: to.Ptr(compute.CachingTypesReadWrite),
|
||||
},
|
||||
},
|
||||
},
|
||||
|
|
@ -178,21 +177,20 @@ func TestGetStorageProfile(t *testing.T) {
|
|||
Role: kops.InstanceGroupRoleControlPlane,
|
||||
},
|
||||
profile: &compute.VirtualMachineScaleSetStorageProfile{
|
||||
DiskControllerType: fi.PtrTo(string(compute.SCSI)),
|
||||
ImageReference: &compute.ImageReference{
|
||||
Publisher: to.StringPtr("Canonical"),
|
||||
Offer: to.StringPtr("UbuntuServer"),
|
||||
Sku: to.StringPtr("18.04-LTS"),
|
||||
Version: to.StringPtr("latest"),
|
||||
Publisher: to.Ptr("Canonical"),
|
||||
Offer: to.Ptr("UbuntuServer"),
|
||||
SKU: to.Ptr("18.04-LTS"),
|
||||
Version: to.Ptr("latest"),
|
||||
},
|
||||
OsDisk: &compute.VirtualMachineScaleSetOSDisk{
|
||||
OsType: compute.OperatingSystemTypes(compute.Linux),
|
||||
CreateOption: compute.DiskCreateOptionTypesFromImage,
|
||||
DiskSizeGB: to.Int32Ptr(defaults.DefaultVolumeSizeMaster),
|
||||
OSDisk: &compute.VirtualMachineScaleSetOSDisk{
|
||||
OSType: to.Ptr(compute.OperatingSystemTypesLinux),
|
||||
CreateOption: to.Ptr(compute.DiskCreateOptionTypesFromImage),
|
||||
DiskSizeGB: to.Ptr[int32](defaults.DefaultVolumeSizeMaster),
|
||||
ManagedDisk: &compute.VirtualMachineScaleSetManagedDiskParameters{
|
||||
StorageAccountType: compute.StorageAccountTypesPremiumLRS,
|
||||
StorageAccountType: to.Ptr(compute.StorageAccountTypesStandardSSDLRS),
|
||||
},
|
||||
Caching: compute.CachingTypes(compute.HostCachingReadWrite),
|
||||
Caching: to.Ptr(compute.CachingTypesReadWrite),
|
||||
},
|
||||
},
|
||||
},
|
||||
|
|
@ -221,17 +219,17 @@ func TestParseImage(t *testing.T) {
|
|||
image: "Canonical:UbuntuServer:18.04-LTS:latest",
|
||||
success: true,
|
||||
imageRef: &compute.ImageReference{
|
||||
Publisher: to.StringPtr("Canonical"),
|
||||
Offer: to.StringPtr("UbuntuServer"),
|
||||
Sku: to.StringPtr("18.04-LTS"),
|
||||
Version: to.StringPtr("latest"),
|
||||
Publisher: to.Ptr("Canonical"),
|
||||
Offer: to.Ptr("UbuntuServer"),
|
||||
SKU: to.Ptr("18.04-LTS"),
|
||||
Version: to.Ptr("latest"),
|
||||
},
|
||||
},
|
||||
{
|
||||
image: "/subscriptions/<subscription id>/resourceGroups/<resource group>/providers/<provider>/images/<image>",
|
||||
success: true,
|
||||
imageRef: &compute.ImageReference{
|
||||
ID: to.StringPtr("/subscriptions/<subscription id>/resourceGroups/<resource group>/providers/<provider>/images/<image>"),
|
||||
ID: to.Ptr("/subscriptions/<subscription id>/resourceGroups/<resource group>/providers/<provider>/images/<image>"),
|
||||
},
|
||||
},
|
||||
{
|
||||
|
|
|
|||
|
|
@ -392,7 +392,7 @@ func (b *MasterVolumeBuilder) addAzureVolume(
|
|||
},
|
||||
SizeGB: fi.PtrTo(volumeSize),
|
||||
Tags: tags,
|
||||
Zones: &[]string{zoneNumber},
|
||||
Zones: []*string{&zoneNumber},
|
||||
}
|
||||
c.AddTask(t)
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue