New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WINC-806: Add support for Windows Server 2022 in Azure #1093
Conversation
Skipping CI for Draft Pull Request. |
/test azure-e2e-operator |
docs/wmco-prerequisites.md
Outdated
@@ -21,7 +21,7 @@ these errors, only use the appropriate version according to the cloud provider i | |||
| Cloud Provider | Supported Windows Server version | | |||
|----------------|--------------------------------------------------------------------------------------| | |||
| AWS | Windows Server 2019, version 1809 Long-Term Servicing Channel (LTSC) | | |||
| Azure | Windows Server 2019, version 1809 Long-Term Servicing Channel (LTSC) | | |||
| Azure | - Windows Server 2019, version 1809 Long-Term Servicing Channel (LTSC)<br>- Windows Server 2022 Long-Term Servicing Channel (LTSC) | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Format the MD table. See this change.
@@ -18,7 +18,7 @@ const ( | |||
defaultCredentialsSecretName = "azure-cloud-credentials" | |||
defaultImageOffer = "WindowsServer" | |||
defaultImagePublisher = "MicrosoftWindowsServer" | |||
defaultImageSKU = "datacenter-core-20h2-with-containers-smalldisk" | |||
defaultImageSKU = "2022-datacenter-smalldisk" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See the container image for Azure:
windowsServerImage = "mcr.microsoft.com/powershell:lts-nanoserver-20h2" |
/test azure-e2e-operator |
4 similar comments
/test azure-e2e-operator |
/test azure-e2e-operator |
/test azure-e2e-operator |
/test azure-e2e-operator |
6cc51cf
to
a687454
Compare
/test azure-e2e-operator |
/test azure-e2e-operator |
9c1c111
to
6d305f5
Compare
/test azure-e2e-operator |
/test azure-e2e-operator |
1 similar comment
/test azure-e2e-operator |
543764a
to
f2b3ba2
Compare
test/e2e/network_test.go
Outdated
@@ -452,7 +452,7 @@ func (tc *testContext) getWindowsServerContainerImage() string { | |||
windowsServerImage = "mcr.microsoft.com/powershell:lts-nanoserver-2004" | |||
} else if tc.CloudProvider.GetType() == config.AzurePlatformType { | |||
// On Azure we are testing 20H2 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The comment needs updating away from 20H2
test/e2e/validation_test.go
Outdated
if tc.hasCustomVXLAN { | ||
powershellDefaultCommand = strings.ReplaceAll(command, "\\\"", "\"") | ||
} | ||
powershellDefaultCommand = strings.ReplaceAll(command, "\\\"", "\"") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Won't this cause the AWS tests fails on this PR since they still use 2019? I think if tc.hasCustomVXLAN || tc.CloudProvider.GetType() == config.AzurePlatformType
is the needed clause for this to merge
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@saifshaikh48 is right, until #1091 merges AWS still needs this. I proposed an alternative platform-specific approach.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @mansikulkarni96 for working on this, comments added. PTAL
docs/machineset-azure.md
Outdated
```shell script | ||
az vm image list --all --location <location> \ | ||
--publisher MicrosoftWindowsServer \ | ||
--offer WindowsServer \ | ||
--sku 2019-Datacenter-with-Containers \ | ||
--query "[?contains(version, '17763.1457.2009030514')]" | ||
--sku 2022-Datacenter |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
s/2022-Datacenter/2022-datacenter
docs/machineset-azure.md
Outdated
@@ -9,17 +9,14 @@ oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure cluster | |||
|
|||
`<zone>` should be replaced with a valid Azure availability zone like `us-east-1a`. | |||
|
|||
`<image>` should be a WindowsServer image offering that defines the 2019-Datacenter-with-Containers SKU with version | |||
17763.1457.2009030514 or earlier. Run the following command to list Azure image info: | |||
`<image>` should be a WindowsServer image offering that defines the 2022-Datacenter SKU. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't we recommend 2022-datacenter-smalldisk
as we are using it the machineSet.sh script and e2e test suite.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think that is required, I preferred to use smalldisk due to it's size but it can be changed to 2022-datacenter. We were using smalldisk for 2019 testing as well.
test/e2e/network_test.go
Outdated
@@ -452,7 +452,7 @@ func (tc *testContext) getWindowsServerContainerImage() string { | |||
windowsServerImage = "mcr.microsoft.com/powershell:lts-nanoserver-2004" | |||
} else if tc.CloudProvider.GetType() == config.AzurePlatformType { | |||
// On Azure we are testing 20H2 | |||
windowsServerImage = "mcr.microsoft.com/powershell:lts-nanoserver-20h2" | |||
windowsServerImage = "mcr.microsoft.com/powershell:lts-nanoserver-ltsc2022" | |||
} else { | |||
// For other providers we use 1809 | |||
windowsServerImage = "mcr.microsoft.com/powershell:lts-nanoserver-1809" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't feel we will be using WS2019 as default any longer. PTAL at this commit, where I'm proposing WS2022 as the new normal.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes one of our PR's would have to be rebased depending on what goes first, having that logic present in one should be sufficient right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i dont see anything wrong with this change
rebase conflicts can be handled when they arise.
@@ -56,7 +56,7 @@ func GenerateUserData(publicKey ssh.PublicKey) (*core.Secret, error) { | |||
$firewallRuleName = "ContainerLogsPort" | |||
$containerLogsPort = "10250" | |||
New-NetFirewallRule -DisplayName $firewallRuleName -Direction Inbound -Action Allow -Protocol TCP -LocalPort $containerLogsPort -EdgeTraversalPolicy Allow | |||
Set-Service -Name sshd -StartupType ‘Automatic’ | |||
Set-Service -Name sshd -StartupType 'Automatic' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does it work without any quote? See this example.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It didn't work for me when I tried it locally.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If this is required for 2022 to work, it ideally should be in the same commit as the e2e tests introducing our use of 2022. that commit can then be reframed as azure 2022 support.
Alternatively this needs to be before the e2e commit, if someone checked out the repo w/ the e2e commit as HEAD the tests would fail.
This commit extends the use of PS commands adjusted for WS2022 to include vSphere and Azure platforms instead of the vxlan port.
This commit updates the azure provider file to bring up machineSets with Windows Server 2022 image in CI e2e tests. It also updates the image used for deployment in the network tests. This commit also increases the node creation time as the nodes are taking longer to be ready with the requirement of VM restart after installing the Containers feature on each VM.
This commit updates the docs to declare WMCO support for Azure on Windows Server 2022.
07f1a41
to
dff38de
Compare
/test aws-e2e-ccm-install |
/test aws-e2e-upgrade |
/lgtm |
/approve |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: jrvaldes, mansikulkarni96, sebsoto The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
/lgtm |
@mansikulkarni96: all tests passed! Full PR test history. Your PR dashboard. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here. |
/cherry-pick release-4.11 |
/cherry-pick community-4.10 |
@mansikulkarni96: new pull request created: #1109 In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
@mansikulkarni96: new pull request created: #1110 In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/cherry-pick release-4.10 |
@sebsoto: #1093 failed to apply on top of branch "release-4.10":
In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
This PR adds support for WS 2022 for Azure platform by updating the dev hack script, e2e test and the documentation.