From b9de6a8d546b84d899d1ece1bc9b4a55f6751b99 Mon Sep 17 00:00:00 2001 From: Pradipta Banerjee Date: Mon, 10 Feb 2025 12:11:14 +0530 Subject: [PATCH] azure: Fix incorrect assignment of ImageId The image specified in the annotation was incorrectly overriding the default cluster wide config. Drive-by fix: fix var name for ConfigVerifier Fixes: #2284 Signed-off-by: Pradipta Banerjee --- src/cloud-providers/azure/provider.go | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/cloud-providers/azure/provider.go b/src/cloud-providers/azure/provider.go index 4e4488a98..5ccc21f6b 100644 --- a/src/cloud-providers/azure/provider.go +++ b/src/cloud-providers/azure/provider.go @@ -234,12 +234,14 @@ func (p *azureProvider) CreateInstance(ctx context.Context, podName, sandboxID s return nil, err } + imageId := p.serviceConfig.ImageId + if spec.Image != "" { logger.Printf("Choosing %s from annotation as the Azure Image for the PodVM image", spec.Image) - p.serviceConfig.ImageId = spec.Image + imageId = spec.Image } - vmParameters, err := p.getVMParameters(instanceSize, diskName, cloudConfigData, sshBytes, instanceName, nicName) + vmParameters, err := p.getVMParameters(instanceSize, diskName, cloudConfigData, sshBytes, instanceName, nicName, imageId) if err != nil { return nil, err } @@ -300,8 +302,8 @@ func (p *azureProvider) Teardown() error { } func (p *azureProvider) ConfigVerifier() error { - ImageId := p.serviceConfig.ImageId - if len(ImageId) == 0 { + imageId := p.serviceConfig.ImageId + if len(imageId) == 0 { return fmt.Errorf("ImageId is empty") } @@ -371,7 +373,7 @@ func (p *azureProvider) getResourceTags() map[string]*string { return tags } -func (p *azureProvider) getVMParameters(instanceSize, diskName, cloudConfig string, sshBytes []byte, instanceName, nicName string) (*armcompute.VirtualMachine, error) { +func (p *azureProvider) getVMParameters(instanceSize, diskName, cloudConfig string, sshBytes []byte, instanceName, nicName string, imageId string) (*armcompute.VirtualMachine, error) { userDataB64 := base64.StdEncoding.EncodeToString([]byte(cloudConfig)) // Azure limits the base64 encrypted userData to 64KB. @@ -406,11 +408,11 @@ func (p *azureProvider) getVMParameters(instanceSize, diskName, cloudConfig stri } imgRef := &armcompute.ImageReference{ - ID: to.Ptr(p.serviceConfig.ImageId), + ID: to.Ptr(imageId), } - if strings.HasPrefix(p.serviceConfig.ImageId, "/CommunityGalleries/") { + if strings.HasPrefix(imageId, "/CommunityGalleries/") { imgRef = &armcompute.ImageReference{ - CommunityGalleryImageID: to.Ptr(p.serviceConfig.ImageId), + CommunityGalleryImageID: to.Ptr(imageId), } }