-
Notifications
You must be signed in to change notification settings - Fork 18.9k
Jenkinsfile: run Windows 2022 with Hyper-V isolation #42277
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
base: master
Are you sure you want to change the base?
Conversation
1ae8173 to
894c3fe
Compare
|
Failure on first run: |
2eb8c88 to
1d3113b
Compare
|
I tried updating the busybox Dockerfile (use Cleaning up that "extra info" JSON; {
"SystemType": "Container",
"Name": "8408ec410b3a8d8d1e6f5ee8bd56499878db602c38c60b912df653b5656ad245",
"Owner": "docker",
"IgnoreFlushesDuringBoot": true,
"LayerFolderPath": "D:\\CI\\PR-42277\\6\\daemon\\windowsfilter\\8408ec410b3a8d8d1e6f5ee8bd56499878db602c38c60b912df653b5656ad245",
"Layers": [
{
"ID": "2968fe41-273b-52a3-84dc-9ddb2f685d03",
"Path": "D:\\CI\\PR-42277\\6\\daemon\\windowsfilter\\5b1892bb219225b50c37bc089028d58193d1533ea17ba4c51ee289a43e3f3a85"
}
],
"HostName": "8408ec410b3a",
"HvPartition": true,
"EndpointList": [
"34258b16-6c65-4c64-a543-115932293402"
],
"HvRuntime": {
"ImagePath": "D:\\CI\\PR-42277\\6\\daemon\\windowsfilter\\5b1892bb219225b50c37bc089028d58193d1533ea17ba4c51ee289a43e3f3a85\\UtilityVM"
},
"AllowUnqualifiedDNSQuery": true
} |
|
Related struct from hcsshim And for comparison, examples from libcontainerd/local/local_windows.go#L95-L145; Isolation=Process example: {
"SystemType": "Container",
"Name": "5e0055c814a6005b8e57ac59f9a522066e0af12b48b3c26a9416e23907698776",
"Owner": "docker",
"VolumePath": "\\\\\\\\?\\\\Volume{66d1ef4c-7a00-11e6-8948-00155ddbef9d}",
"IgnoreFlushesDuringBoot": true,
"LayerFolderPath": "C:\\\\control\\\\windowsfilter\\\\5e0055c814a6005b8e57ac59f9a522066e0af12b48b3c26a9416e23907698776",
"Layers": [{
"ID": "18955d65-d45a-557b-bf1c-49d6dfefc526",
"Path": "C:\\\\control\\\\windowsfilter\\\\65bf96e5760a09edf1790cb229e2dfb2dbd0fcdc0bf7451bae099106bfbfea0c"
}],
"HostName": "5e0055c814a6",
"MappedDirectories": [],
"HvPartition": false,
"EndpointList": ["eef2649d-bb17-4d53-9937-295a8efe6f2c"]
}Isolation=Hyper-V example: {
"SystemType": "Container",
"Name": "475c2c58933b72687a88a441e7e0ca4bd72d76413c5f9d5031fee83b98f6045d",
"Owner": "docker",
"IgnoreFlushesDuringBoot": true,
"Layers": [{
"ID": "18955d65-d45a-557b-bf1c-49d6dfefc526",
"Path": "C:\\\\control\\\\windowsfilter\\\\65bf96e5760a09edf1790cb229e2dfb2dbd0fcdc0bf7451bae099106bfbfea0c"
}],
"HostName": "475c2c58933b",
"MappedDirectories": [],
"HvPartition": true,
"EndpointList": ["e1bb1e61-d56f-405e-b75d-fd520cefa0cb"],
"DNSSearchList": "a.com,b.com,c.com",
"HvRuntime": {
"ImagePath": "C:\\\\control\\\\windowsfilter\\\\65bf96e5760a09edf1790cb229e2dfb2dbd0fcdc0bf7451bae099106bfbfea0c\\\\UtilityVM"
}
} |
|
Interesting bit from the above (comparing to the examples);
But, perhaps |
|
Actually; Go doc says; Windows Server Containers only (which is process isolation?) |
4b1a894 to
486a984
Compare
486a984 to
49e0ef7
Compare
Signed-off-by: Sebastiaan van Stijn <[email protected]>
Windows Defender interferes with some of our integration tests and causes the tests to take a long time to run. Other Windows machines are configured with Windows Defender disabled (for this reason), but these Windows machine's configuration has to be updated. Disable Windows Defender as part of the Jenkins pipeline while the machine configuration is not yet updated. Signed-off-by: Sebastiaan van Stijn <[email protected]>
This may catch a regression in Windows 1903 and up, where setting a custom size causes `docker build` to fail (possibly because `docker build` overrides the size with a custom size of 127GB) Signed-off-by: Sebastiaan van Stijn <[email protected]>
Signed-off-by: Sebastiaan van Stijn <[email protected]>
Signed-off-by: Sebastiaan van Stijn <[email protected]>
49e0ef7 to
630991d
Compare
|
Looking back, the outcome hasn't changed. The presence of It might be worth adding a Hyper-V-under-ContainerD parallel as well, in case "You can only put layer images on C:" turns out out to be a HCS v1 limitation (although I'd think someone would have hit this with dockerd at some point. Moving the datadir on Windows is not uncommon.) |
|
FYI. I tested to run CI on self-hosted GitHub runner based on Windows 2022 + Hyper-V isolation + HCS v1 by using olljanat@371dd21 and these looks to be tests which fails nowadays: |
Follow-up to #39846
Addresses #43395