Skip to content
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

Update windows images and try to run integration tests on windows #354

Merged
merged 1 commit into from
Apr 21, 2022

Conversation

lucaslorentz
Copy link
Owner

@lucaslorentz lucaslorentz commented Apr 19, 2022

Update windows images, fix #333 and try to get integration tests running on windows containers

@TheJayMann
Copy link
Contributor

I've noticed that these checks take a long time to build, and I would guess this is due to the long time it takes to download and extract the servercore docker image. It perhaps could build faster if the base nanoserver matched the build server (matching nanoserver:1809 with windows-2019, and nanoserver:ltsc2022 with windows-2022), and then copying the netapi32 from the host itself instead of taking it from the corresponding servercore docker image.

@lucaslorentz lucaslorentz force-pushed the netapi32 branch 7 times, most recently from 8040caa to 631df9c Compare April 20, 2022 20:51
@lucaslorentz
Copy link
Owner Author

After MANY attempts I got integration tests running for windows, and I was able to reproduce the netapi32 error in the build server:
https://dev.azure.com/lucaslorentzlara/lucaslorentzlara/_build/results?buildId=841&view=logs&j=2d2b3007-3c5c-5840-9bb0-2b1ea49925f3&t=3cfa5d13-d456-5c32-1f87-e23b82c00683&l=48

@lucaslorentz
Copy link
Owner Author

lucaslorentz commented Apr 20, 2022

@TheJayMann I will try to copy it from the build server.
I'm a bit outdated regarding windows base images.
Which variants would you recommend to support? 1809 and ltsc2022?
Do you think it's necessary to have both nanoserver and servercore images? Or would only nanoserver be enough?

@TheJayMann
Copy link
Contributor

Given that Windows Server 2016 has so many limitations regarding containers, and that it is fairly unlikely that somebody will be running a semi-annual Windows Server release, I would say having the nanoserver 1809 and ltsc2022 (which is process isolation compatible with Windows Server 2019 and Windows Server 2022 long term release, respectively) is good enough, assuming the nanoserver image has netapi32 copied over. In my testing using nanoserver with netapi32 copied, there is no need to have a server core image.

Given that caddy docker proxy in so far as I've seen it used typically only runs caddy and the docker proxy plugin with no other software, there is no real need to have a server core image. Were it the case that it was common to copy other applications in to the image and run them, and those applications often required server core image because it is unable to run in nanoserver, then I could see a justification for also including server core images.

@lucaslorentz lucaslorentz force-pushed the netapi32 branch 2 times, most recently from 0d3cd2d to 39ddb6b Compare April 21, 2022 05:31
@lucaslorentz lucaslorentz force-pushed the netapi32 branch 5 times, most recently from f6f718e to ce2494e Compare April 21, 2022 08:36
@lucaslorentz lucaslorentz changed the title Add netapi32 and run integration tests on windows Update windows images and try to run integration tests on windows Apr 21, 2022
@lucaslorentz
Copy link
Owner Author

I've noticed that these checks take a long time to build, and I would guess this is due to the long time it takes to download and extract the servercore docker image. It perhaps could build faster if the base nanoserver matched the build server (matching nanoserver:1809 with windows-2019, and nanoserver:ltsc2022 with windows-2022), and then copying the netapi32 from the host itself instead of taking it from the corresponding servercore docker image.

Decided to not implement it that way for now because it is safer to copy from the servercore docker image.

@lucaslorentz lucaslorentz merged commit 41083a9 into master Apr 21, 2022
@lucaslorentz lucaslorentz deleted the netapi32 branch April 21, 2022 14:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Nanoserver images not working, missing netapi32.dll
2 participants