Commit Graph

8 Commits

Author SHA1 Message Date
Claudiu Belu
ae3885b889 test images: Revert windows-servercore-cache version
The Windows Server Core images are quite large (~2GB each), and pulling
it for multiple build jobs / E2E images is inefficient, especially if
have to build for multiple OS versions.

The windows-servercore-cache image is meant to simply cache the Windows files
we need from the Windows Server core images, so we can pull the small cache image
instead of the entire image. It is never meant to be a promotable image,
the version is not meant to be bumped.

The other images (e.g.: agnhost) rely on the version 1.0 images.
2022-10-23 13:50:42 -07:00
Mark Rossetti
ecd543be04
Remove out-of-support Windows 20H2 images
Signed-off-by: Mark Rossetti <marosset@microsoft.com>
2022-10-12 14:43:51 -07:00
James Sturtevant
760b2e4477 Remove unsupported Windows SAC images from tests
Signed-off-by: James Sturtevant <jstur@microsoft.com>
2022-01-28 10:59:37 -08:00
Claudiu Belu
e8cbee5f9b
test images: Trigger the windows-servercore-cache image job
The postsubmit job for this image was only added recently [1]. We need to commit a change to trigger the job.

[1] https://github.com/kubernetes/test-infra/pull/23350
2021-08-24 20:16:00 +03:00
Claudiu Belu
3c1a3dea59 test images: Adds Windows Server 2022 to the BASEIMAGEs
The Container Images for Windows Server 2022 have been published, and
we can start building test images using them, so we can start adding
jobs for them.

The image versions for the e2e test images have been bumped in a previous
commit, but haven't been promoted yet. We don't need to bump them here.

We're starting with windows-servercore-cache and busybox images, since
they are needed for the other images the most.

A previous added LD_FLAGS for the go binary compilation, but it's not
defined for all images.
2021-08-19 12:22:07 +00:00
Claudiu Belu
ea3c7d98a5 test images: Removes Windows 1903 and 1909 images
According to the Microsoft documentation, Windows Server 1903
reached its EOL December 8, 2020 [1], and Windows Server 1909
reached its EOL May 11, 2021 [2].

We ne longer need to build images for those OS Versions, since we won't
run tests for them.

[1]: https://docs.microsoft.com/en-us/windows-server/get-started-19/whats-new-in-windows-server-1903-1909
[2]: https://docs.microsoft.com/en-us/lifecycle/announcements/windows-server-1909-end-of-servicing
2021-08-11 11:49:05 +00:00
Claudiu Belu
77e0c55acd test images: Adds 20H2 image to windows-servercore-cache
The 20H2 image was released in the second half of the year, and
we are going to need images for testing the release.

The image tag can be found here:
https://hub.docker.com/_/microsoft-windows-servercore
2020-12-11 03:22:55 -08:00
Claudiu Belu
0d24b05434 test images: Switches to buildx
Currently, some of the E2E test images have Windows support, and one of the goals is for most of
them to have Windows support. For that, the Image Builder is currently building those Windows
container images using a few Windows Server nodes (for 1809, 1903, 1909) with Remote Docker
enabled which are hosted on an azure subscription dedicated for CNCF.

With this, the Windows nodes dependency is removed entirely, as the images can be also built with
docker buildx. One additional benefit to this is that adding new supported Windows OS versions
to the E2E test images manifest lists becomes a lot easier (we wouldn't have to create a new Windows
Server node that matches that new OS version, assign DNS name, update certificates, etc.), and it
also becomes easier for other people to build their own E2E windows test images.

However, some dependencies are still required to run on a Windows machine. To solve this, we can
just pull helper images: e2eteam/powershell-helper:6.2.7 and e2eteam/busybox-helper:1.29.0. Their
Dockerfiles and a Makefile for them has been included in this commit. If any change is required to
them, then a new image will be built and tagged under a different version, but they are pretty
straight-forward and shouldn't require changes.

However, there is a small concern when it comes to the build time: Windows servercore images are
very large (for example, mcr.microsoft.com/windows/servercore:ltsc2019 is 4.99GB uncompressed, and
about ~2 GB compressed - those images are already cached on the Windows Server builder nodes, so
this isn't an issue there), and we currently support 1809, 1903, and 1909 (soon to add 2004).
This can lead to build times that are too big.

We have changed the base image to nanoserver (uncompressed size: 250MB), but some images still
require some DLLs or some other dependencies that can be fetched from a servercore image.

A separate job has been defined that would build a scratch windows-servercore-cache image monthly,
and then we can just get those dependencies from this cache, which will be very small.
This would be preferred, as the Windows images update periodically, and those dependencies
could be updated as well.
2020-10-16 10:42:49 +00:00