Skip to content

Commit 823db4a

Browse files
Merge pull request #3914 from mansikulkarni96/WINC-1836
WINC-1836: Use WinServer 2025 template in vsphere tests
2 parents 14eff81 + fc4164e commit 823db4a

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)