From d82475566a2da22414a60c0b44258e02bce1a87b Mon Sep 17 00:00:00 2001 From: Vijay Rajah Date: Thu, 2 Apr 2020 21:28:38 +0530 Subject: [PATCH] change datadisk names -- WIP --- builder/azure/arm/config.go | 2 ++ builder/azure/arm/template_factory.go | 3 ++- builder/azure/arm/tempname.go | 2 ++ builder/azure/common/template/template_builder.go | 6 +++--- builder/azure/common/template/template_builder_test.go | 4 ++-- builder/azure/common/template/template_parameters.go | 1 + 6 files changed, 12 insertions(+), 6 deletions(-) diff --git a/builder/azure/arm/config.go b/builder/azure/arm/config.go index d87ff3426..3f8a88e43 100644 --- a/builder/azure/arm/config.go +++ b/builder/azure/arm/config.go @@ -392,6 +392,7 @@ type Config struct { tmpDeploymentName string tmpKeyVaultName string tmpOSDiskName string + tmpDataDiskName string tmpSubnetName string tmpVirtualNetworkName string tmpNsgName string @@ -645,6 +646,7 @@ func setRuntimeValues(c *Config) { c.tmpNicName = tempName.NicName c.tmpPublicIPAddressName = tempName.PublicIPAddressName c.tmpOSDiskName = tempName.OSDiskName + c.tmpDataDiskName = tempName.DataDiskname c.tmpSubnetName = tempName.SubnetName c.tmpVirtualNetworkName = tempName.VirtualNetworkName c.tmpNsgName = tempName.NsgName diff --git a/builder/azure/arm/template_factory.go b/builder/azure/arm/template_factory.go index 85d489b49..fbd3fe8e9 100644 --- a/builder/azure/arm/template_factory.go +++ b/builder/azure/arm/template_factory.go @@ -37,6 +37,7 @@ func GetVirtualMachineDeployment(config *Config) (*resources.Deployment, error) DnsNameForPublicIP: &template.TemplateParameter{Value: config.tmpComputeName}, NicName: &template.TemplateParameter{Value: config.tmpNicName}, OSDiskName: &template.TemplateParameter{Value: config.tmpOSDiskName}, + DataDiskName: &template.TemplateParameter{Value: config.tmpDataDiskName}, PublicIPAddressName: &template.TemplateParameter{Value: config.tmpPublicIPAddressName}, SubnetName: &template.TemplateParameter{Value: config.tmpSubnetName}, StorageAccountBlobEndpoint: &template.TemplateParameter{Value: config.storageAccountBlobEndpoint}, @@ -96,7 +97,7 @@ func GetVirtualMachineDeployment(config *Config) (*resources.Deployment, error) if len(config.AdditionalDiskSize) > 0 { isManaged := config.CustomManagedImageName != "" || (config.ManagedImageName != "" && config.ImagePublisher != "") || config.SharedGallery.Subscription != "" - builder.SetAdditionalDisks(config.AdditionalDiskSize, isManaged, config.diskCachingType) + builder.SetAdditionalDisks(config.AdditionalDiskSize, config.tmpDataDiskName, isManaged, config.diskCachingType) } if config.customData != "" { diff --git a/builder/azure/arm/tempname.go b/builder/azure/arm/tempname.go index 45fb97e63..1471e44ac 100644 --- a/builder/azure/arm/tempname.go +++ b/builder/azure/arm/tempname.go @@ -15,6 +15,7 @@ type TempName struct { KeyVaultName string ResourceGroupName string OSDiskName string + DataDiskname string NicName string SubnetName string PublicIPAddressName string @@ -30,6 +31,7 @@ func NewTempName() *TempName { tempName.DeploymentName = fmt.Sprintf("pkrdp%s", suffix) tempName.KeyVaultName = fmt.Sprintf("pkrkv%s", suffix) tempName.OSDiskName = fmt.Sprintf("pkros%s", suffix) + tempName.DataDiskname = fmt.Sprintf("pkrdd%s", suffix) tempName.NicName = fmt.Sprintf("pkrni%s", suffix) tempName.PublicIPAddressName = fmt.Sprintf("pkrip%s", suffix) tempName.SubnetName = fmt.Sprintf("pkrsn%s", suffix) diff --git a/builder/azure/common/template/template_builder.go b/builder/azure/common/template/template_builder.go index 6d276c010..0fad25bd5 100644 --- a/builder/azure/common/template/template_builder.go +++ b/builder/azure/common/template/template_builder.go @@ -231,7 +231,7 @@ func (s *TemplateBuilder) SetOSDiskSizeGB(diskSizeGB int32) error { return nil } -func (s *TemplateBuilder) SetAdditionalDisks(diskSizeGB []int32, isManaged bool, cachingType compute.CachingTypes) error { +func (s *TemplateBuilder) SetAdditionalDisks(diskSizeGB []int32, dataDiskname string, isManaged bool, cachingType compute.CachingTypes) error { resource, err := s.getResourceByType(resourceVirtualMachine) if err != nil { return err @@ -243,7 +243,7 @@ func (s *TemplateBuilder) SetAdditionalDisks(diskSizeGB []int32, isManaged bool, for i, additionalSize := range diskSizeGB { dataDisks[i].DiskSizeGB = to.Int32Ptr(additionalSize) dataDisks[i].Lun = to.IntPtr(i) - dataDisks[i].Name = to.StringPtr(fmt.Sprintf("datadisk-%d", i+1)) + dataDisks[i].Name = to.StringPtr(fmt.Sprintf("%s-%d", dataDiskname, i+1)) dataDisks[i].CreateOption = "Empty" dataDisks[i].Caching = cachingType if isManaged { @@ -251,7 +251,7 @@ func (s *TemplateBuilder) SetAdditionalDisks(diskSizeGB []int32, isManaged bool, dataDisks[i].ManagedDisk = profile.OsDisk.ManagedDisk } else { dataDisks[i].Vhd = &compute.VirtualHardDisk{ - URI: to.StringPtr(fmt.Sprintf("[concat(parameters('storageAccountBlobEndpoint'),variables('vmStorageAccountContainerName'),'/datadisk-', '%d','.vhd')]", i+1)), + URI: to.StringPtr(fmt.Sprintf("[concat(parameters('storageAccountBlobEndpoint'),variables('vmStorageAccountContainerName'),'/%s-', '%d','.vhd')]", dataDiskname, i+1)), } dataDisks[i].ManagedDisk = nil } diff --git a/builder/azure/common/template/template_builder_test.go b/builder/azure/common/template/template_builder_test.go index b39af103f..39e51fd53 100644 --- a/builder/azure/common/template/template_builder_test.go +++ b/builder/azure/common/template/template_builder_test.go @@ -138,7 +138,7 @@ func TestBuildWindows01(t *testing.T) { t.Fatal(err) } - err = testSubject.SetAdditionalDisks([]int32{32, 64}, true, compute.CachingTypesReadWrite) + err = testSubject.SetAdditionalDisks([]int32{32, 64}, "datadisk", true, compute.CachingTypesReadWrite) if err != nil { t.Fatal(err) } @@ -166,7 +166,7 @@ func TestBuildWindows02(t *testing.T) { t.Fatal(err) } - err = testSubject.SetAdditionalDisks([]int32{32, 64}, false, compute.CachingTypesReadWrite) + err = testSubject.SetAdditionalDisks([]int32{32, 64}, "datadisk", false, compute.CachingTypesReadWrite) if err != nil { t.Fatal(err) } diff --git a/builder/azure/common/template/template_parameters.go b/builder/azure/common/template/template_parameters.go index 6900deb82..262c85e56 100644 --- a/builder/azure/common/template/template_parameters.go +++ b/builder/azure/common/template/template_parameters.go @@ -27,6 +27,7 @@ type TemplateParameters struct { ObjectId *TemplateParameter `json:"objectId,omitempty"` NicName *TemplateParameter `json:"nicName,omitempty"` OSDiskName *TemplateParameter `json:"osDiskName,omitempty"` + DataDiskName *TemplateParameter `json:"dataDiskName,omitempty"` PublicIPAddressName *TemplateParameter `json:"publicIPAddressName,omitempty"` StorageAccountBlobEndpoint *TemplateParameter `json:"storageAccountBlobEndpoint,omitempty"` SubnetName *TemplateParameter `json:"subnetName,omitempty"`