Skip to content

Commit fc4164e

Browse files
Use WinServer 2025 template in vsphere tests
This commit adds support for Windows Server 2025 in machineSet.sh and vSphere tests to use the newly created 2025 golden image template in vcenter.
1 parent f3be5c1 commit fc4164e

2 files changed

Lines changed: 26 additions & 12 deletions

File tree

hack/machineset.sh

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -304,11 +304,19 @@ get_vsphere_ms() {
304304
local winver=$2
305305
local byoh=$3
306306

307-
# set golden image template name
308-
template="windows-golden-images/windows-server-2022-template-ipv6-disabled"
309-
if [ "$winver" == "2019" ]; then
310-
error-exit "No template available for Windows Server 2019 in DevQE vCenter"
311-
fi
307+
# set golden image template name based on Windows Server version
308+
case "$winver" in
309+
"2019")
310+
error-exit "No template available for Windows Server 2019 in DevQE vCenter"
311+
;;
312+
"2025")
313+
template="windows-golden-images/windows-server-2025-template-ipv6-disabled"
314+
;;
315+
*)
316+
# default to 2022
317+
template="windows-golden-images/windows-server-2022-template-ipv6-disabled"
318+
;;
319+
esac
312320

313321
# TODO: Reduce the number of API calls, make just one call
314322
# to `oc get machines` and pass the data around. This is the

test/e2e/providers/vsphere/vsphere.go

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ func New(clientset *clusterinfo.OpenShift, infraStatus *config.InfrastructureSta
4545
}
4646

4747
// newVSphereMachineProviderSpec returns a vSphereMachineProviderSpec generated from the inputs, or an error
48-
func (p *Provider) newVSphereMachineProviderSpec() (*mapi.VSphereMachineProviderSpec, error) {
48+
func (p *Provider) newVSphereMachineProviderSpec(windowsServerVersion windows.ServerVersion) (*mapi.VSphereMachineProviderSpec, error) {
4949
existingProviderSpec, err := p.getProviderSpecFromExistingMachineSet()
5050
if err != nil {
5151
return nil, err
@@ -54,13 +54,20 @@ func (p *Provider) newVSphereMachineProviderSpec() (*mapi.VSphereMachineProvider
5454
existingProviderSpec.Workspace.Server, existingProviderSpec.Network)
5555

5656
// The template is an image which has been properly sysprepped. The image is derived from an environment variable
57-
// defined in the job spec.
57+
// defined in the job spec. If not set, default based on Windows Server version.
5858
vmTemplate := os.Getenv("VM_TEMPLATE")
5959
if vmTemplate == "" {
60-
vmTemplate = "windows-golden-images/windows-server-2022-template-ipv6-disabled"
60+
switch windowsServerVersion {
61+
case windows.Server2022:
62+
vmTemplate = "windows-golden-images/windows-server-2022-template-ipv6-disabled"
63+
case windows.Server2025:
64+
vmTemplate = "windows-golden-images/windows-server-2025-template-ipv6-disabled"
65+
default:
66+
return nil, fmt.Errorf("unsupported Windows Server version: %s", windowsServerVersion)
67+
}
6168
}
6269

63-
log.Printf("creating machineset based on template %s\n", vmTemplate)
70+
log.Printf("creating machineset based on template %s for Windows Server %s\n", vmTemplate, windowsServerVersion)
6471

6572
return &mapi.VSphereMachineProviderSpec{
6673
TypeMeta: meta.TypeMeta{
@@ -109,13 +116,12 @@ func (p *Provider) getProviderSpecFromExistingMachineSet() (*mapi.VSphereMachine
109116

110117
// GenerateMachineSet generates the MachineSet object which is vSphere provider specific
111118
func (p *Provider) GenerateMachineSet(withIgnoreLabel bool, replicas int32, windowsServerVersion windows.ServerVersion) (*mapi.MachineSet, error) {
112-
// TODO: (vsphere) add support for Windows Server 2025 when golden image is available for 2025
113-
if windowsServerVersion != windows.Server2022 {
119+
if windowsServerVersion != windows.Server2022 && windowsServerVersion != windows.Server2025 {
114120
return nil, fmt.Errorf("vSphere does not support Windows Server %s", windowsServerVersion)
115121
}
116122

117123
// create new machine provider spec for deploying Windows node
118-
providerSpec, err := p.newVSphereMachineProviderSpec()
124+
providerSpec, err := p.newVSphereMachineProviderSpec(windowsServerVersion)
119125
if err != nil {
120126
return nil, fmt.Errorf("failed to create new vSphere machine provider spec: %w", err)
121127
}

0 commit comments

Comments
 (0)