Skip to content

Commit 1e243fb

Browse files
Merge pull request #1441 from patrickdillon/main
OCPBUGS-66244: default Azure to marketplace image
2 parents 85c00c0 + 02eeb54 commit 1e243fb

File tree

3 files changed

+22
-23
lines changed

3 files changed

+22
-23
lines changed

pkg/webhooks/machine_webhook.go

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -65,24 +65,27 @@ var (
6565
defaultAzureNetworkResourceGroup = func(clusterID string) string {
6666
return fmt.Sprintf("%s-rg", clusterID)
6767
}
68-
defaultAzureImageResourceID = func(clusterID string) string {
69-
// image gallery names cannot have dashes
70-
galleryName := strings.Replace(clusterID, "-", "_", -1)
71-
imageName := clusterID
68+
defaultAzureImage = func() machinev1beta1.Image {
7269
if arch == ARM64 {
73-
// append gen2 to the image name for ARM64.
74-
// Although the installer creates a gen2 image for AMD64, we cannot guarantee that clusters created
75-
// before that change will have a -gen2 image.
76-
imageName = fmt.Sprintf("%s-gen2", clusterID)
70+
return urnToImage(defaultAzureARMImageURN)
7771
}
78-
return fmt.Sprintf("/resourceGroups/%s/providers/Microsoft.Compute/galleries/gallery_%s/images/%s/versions/%s", clusterID+"-rg", galleryName, imageName, azureRHCOSVersion)
72+
return urnToImage(defaultAzureX86ImageURN)
7973
}
8074
defaultAzureManagedIdentiy = func(clusterID string) string {
8175
return fmt.Sprintf("%s-identity", clusterID)
8276
}
8377
defaultAzureResourceGroup = func(clusterID string) string {
8478
return fmt.Sprintf("%s-rg", clusterID)
8579
}
80+
urnToImage = func(urn string) machinev1beta1.Image {
81+
attributes := strings.Split(urn, ":")
82+
return machinev1beta1.Image{
83+
Publisher: attributes[0],
84+
Offer: attributes[1],
85+
SKU: attributes[2],
86+
Version: attributes[3],
87+
}
88+
}
8689

8790
// GCP Defaults
8891
defaultGCPNetwork = func(clusterID string) string {
@@ -164,6 +167,8 @@ const (
164167
defaultAzureCredentialsSecret = "azure-cloud-credentials"
165168
defaultAzureOSDiskOSType = "Linux"
166169
defaultAzureOSDiskStorageType = "Premium_LRS"
170+
defaultAzureX86ImageURN = "azureopenshift:aro4:aro_420:9.6.20251015" // hyperV Gen1
171+
defaultAzureARMImageURN = "azureopenshift:aro4:420-arm:9.6.20251015"
167172

168173
// Azure OSDisk constants
169174
azureMaxDiskSizeGB = 32768
@@ -1012,7 +1017,7 @@ func defaultAzure(m *machinev1beta1.Machine, config *admissionConfig) (bool, []s
10121017
}
10131018

10141019
if providerSpec.Image == (machinev1beta1.Image{}) {
1015-
providerSpec.Image.ResourceID = defaultAzureImageResourceID(config.clusterID)
1020+
providerSpec.Image = defaultAzureImage()
10161021
}
10171022

10181023
if providerSpec.UserDataSecret == nil {

pkg/webhooks/machine_webhook_test.go

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1712,11 +1712,9 @@ func TestMachineUpdate(t *testing.T) {
17121712
Vnet: defaultAzureVnet(azureClusterID),
17131713
Subnet: defaultAzureSubnet(azureClusterID),
17141714
NetworkResourceGroup: defaultAzureNetworkResourceGroup(azureClusterID),
1715-
Image: machinev1beta1.Image{
1716-
ResourceID: defaultAzureImageResourceID(azureClusterID),
1717-
},
1718-
ManagedIdentity: defaultAzureManagedIdentiy(azureClusterID),
1719-
ResourceGroup: defaultAzureResourceGroup(azureClusterID),
1715+
Image: defaultAzureImage(),
1716+
ManagedIdentity: defaultAzureManagedIdentiy(azureClusterID),
1717+
ResourceGroup: defaultAzureResourceGroup(azureClusterID),
17201718
UserDataSecret: &corev1.SecretReference{
17211719
Name: defaultUserDataSecret,
17221720
Namespace: defaultSecretNamespace,
@@ -3767,9 +3765,7 @@ func TestDefaultAzureProviderSpec(t *testing.T) {
37673765
VMSize: defaultInstanceType,
37683766
Vnet: defaultAzureVnet(clusterID),
37693767
Subnet: defaultAzureSubnet(clusterID),
3770-
Image: machinev1beta1.Image{
3771-
ResourceID: defaultAzureImageResourceID(clusterID),
3772-
},
3768+
Image: defaultAzureImage(),
37733769
UserDataSecret: &corev1.SecretReference{
37743770
Name: defaultUserDataSecret,
37753771
},

pkg/webhooks/machineset_webhook_test.go

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -602,11 +602,9 @@ func TestMachineSetUpdate(t *testing.T) {
602602
Vnet: defaultAzureVnet(azureClusterID),
603603
Subnet: defaultAzureSubnet(azureClusterID),
604604
NetworkResourceGroup: defaultAzureNetworkResourceGroup(azureClusterID),
605-
Image: machinev1beta1.Image{
606-
ResourceID: defaultAzureImageResourceID(azureClusterID),
607-
},
608-
ManagedIdentity: defaultAzureManagedIdentiy(azureClusterID),
609-
ResourceGroup: defaultAzureResourceGroup(azureClusterID),
605+
Image: defaultAzureImage(),
606+
ManagedIdentity: defaultAzureManagedIdentiy(azureClusterID),
607+
ResourceGroup: defaultAzureResourceGroup(azureClusterID),
610608
UserDataSecret: &corev1.SecretReference{
611609
Name: defaultUserDataSecret,
612610
Namespace: defaultSecretNamespace,

0 commit comments

Comments
 (0)