Commit Graph

49 Commits

Author SHA1 Message Date
Davanum Srinivas
f82e98c5fc Fix sample-apiserver E2E image build failure
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2022-11-01 15:41:25 -04: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
Davanum Srinivas
50bea1dad8 Move from k8s.gcr.io to registry.k8s.io
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2022-05-31 10:16:53 -04: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
2601e23bc2 test images: Adds Windows Server 2022 to the BASEIMAGEs (part 2)
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.

httpd-2.4.46-win64-VC15.zip no longer exists, so we have to use
httpd-2.4.48-win64-VC15.zip instead.
2021-08-21 01:01:39 +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
Sascha Grunert
0ed0714f8c Simplify kube-cross dependency handling
We can indirectly retrieve the kube-cross version from the
`build/build-image/cross/VERSION` for the sample-apiserver. This allows
us to simplify the handling in `build/dependencies.yaml` as well as
the required approval (via `OWNERS`) if the kube-cross version changes.

Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
2021-05-27 14:51:46 +02:00
Sascha Grunert
ae4db677f4 Update kube-cross to v1.16.4-2
This patch bumps kube-cross to the latest release.

Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
2021-05-27 12:18:28 +02:00
Stephen Augustus
5b530da51f [go1.16] Update to go1.16.4
Signed-off-by: Stephen Augustus <foo@auggie.dev>
2021-05-07 15:47:54 -04:00
Stephen Augustus
fac97f8a9b [go1.16] Update to go1.16.3
Signed-off-by: Stephen Augustus <foo@auggie.dev>
2021-04-16 19:56:51 -04:00
Stephen Augustus
13ef775df2 [go1.16] Update to go1.16.1
Signed-off-by: Stephen Augustus <foo@auggie.dev>
2021-03-10 19:06:57 -05:00
Stephen Augustus
274133fe11 [go1.16] Update to go1.16
Signed-off-by: Stephen Augustus <foo@auggie.dev>
2021-03-02 00:38:00 -05:00
Benjamin Elder
56e092e382 hack/update-bazel.sh 2021-02-28 15:17:29 -08:00
Carlos Panato
8b5bf8ef91 [go1.15] Update to go1.15.8
Signed-off-by: Carlos Panato <ctadeu@gmail.com>
2021-02-06 15:55:39 +01:00
Carlos Panato
e76fc62258 [go1.15] Update to go1.15.7
Signed-off-by: Carlos Panato <ctadeu@gmail.com>
2021-01-27 11:43:01 +01:00
Claudiu Belu
38dea811cb test images: Minor changes to trigger postsubmit image building jobs
Some of these images didn't have any job run for them. Some of these
images previously failed due to an issue that has been addressed since.

Making a change into their image directory will spawn a postsubmit job
that will build that image.
2021-01-13 21:44:55 -08:00
Kubernetes Prow Robot
f1941c9c6d Merge pull request #97046 from claudiubelu/test-images-2004
test images: Adds BASEIMAGE for windows/amd64/2004 and windows/amd64/20H2
2021-01-11 11:18:25 -08:00
Claudiu Belu
64934518fd test images: Allows sample-apiserver to be built without a TTY
Currently, the image's postsubmit job fails because of the docker run -t
in the image's Makefile. We don't need it in order to build the image.

Logs: https://prow.k8s.io/view/gcs/kubernetes-jenkins/logs/post-kubernetes-push-e2e-sample-apiserver-test-images/1331076845436669952
2020-12-17 13:02:19 -08:00
Claudiu Belu
f78aa177fa test images: Adds windows/amd64/20H2 BASEIMAGE 2020-12-15 16:35:01 +00:00
Claudiu Belu
e2ca45ca0a test images: Adds windows/amd64/2004 BASEIMAGE 2020-12-03 15:31:09 +00:00
Stephen Augustus
2407a70cc7 [go1.15] Update to go1.15.5
Signed-off-by: Stephen Augustus <saugustus@vmware.com>
2020-11-23 20:49:56 -05:00
Claudiu Belu
4dbb55fe85 test images: Adds Windows support (part 2)
Adds Windows support for most of the images.

Adds a README explaining the image building process, including the
Windows Container image building process.
2020-10-19 16:54:28 +00: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
Stephen Augustus
a4a98f440c [go1.15] Update to go1.15.2
Signed-off-by: Stephen Augustus <saugustus@vmware.com>
2020-09-11 13:15:12 -07:00
Stephen Augustus
aa2bb18a2b [go1.15] Update to go1.15
Signed-off-by: Stephen Augustus <saugustus@vmware.com>
2020-08-12 14:19:59 -04:00
Stephen Augustus
ffcef48b83 [go1.15] Update to go1.15rc2
Signed-off-by: Stephen Augustus <saugustus@vmware.com>
2020-08-09 02:53:53 -04:00
Stephen Augustus
479249b3a3 [go1.15] dependencies.yaml: Update to go1.15rc1
Signed-off-by: Stephen Augustus <saugustus@vmware.com>
2020-07-25 16:45:02 -04:00
Stephen Augustus
90c223fa5c [VDF] Remove references to us.gcr.io/k8s-artifacts-prod
Signed-off-by: Stephen Augustus <saugustus@vmware.com>
2020-07-22 16:08:30 -04:00
Stephen Augustus
3bbcba9b84 Update Golang to v1.14.6
Signed-off-by: Stephen Augustus <saugustus@vmware.com>
2020-07-17 14:47:21 -04:00
Stephen Augustus
c4b6678757 Update Golang to v1.14.5
Signed-off-by: Stephen Augustus <saugustus@vmware.com>
2020-07-15 00:10:05 -04:00
Stephen Augustus
236ef23f46 deps: Update Golang to v1.14.4
Signed-off-by: Stephen Augustus <saugustus@vmware.com>
2020-06-22 18:46:51 -04:00
Stephen Augustus
b5117ae8b5 base-images: Update to kube-cross:v1.13.9-5
Signed-off-by: Stephen Augustus <saugustus@vmware.com>
2020-05-12 18:14:33 -04:00
Claudiu Belu
2b5fb5366f test images: Adds OWNERS files for images (part 2)
Adds reviewers to the OWNERS files in the kubernetes/test/images folder.
The reviewers are added automatically, based on their contributions on
an image (>= 20% code churn).

Note that the code churn is taken into account for authors, and not committers.

Adds ONWERS files for: apparmor-loader, echoserver, jessie-dnsutils, metadata-concealment,
sample-apiserver.
2020-04-14 05:18:34 -07:00
Stephen Augustus
b6179ac7b9 deps: Update to Golang 1.13.9
Signed-off-by: Stephen Augustus <saugustus@vmware.com>
Co-authored-by: Jeff Grafton <jgrafton@google.com>
2020-03-23 17:10:03 -04:00
Claudiu Belu
06062b15e9 test images: ARG instructions should be first
A few other Dockerfiles had the ARG duplicated as well.
2020-02-28 01:31:05 -08:00
Kubernetes Prow Robot
a5048219ee Merge pull request #76838 from claudiubelu/test-images/windows-support
test images: Adds Windows Container images support (part 1)
2020-03-02 16:15:38 -08:00
ialidzhikov
e26fff5cbc Update to golang@1.13.8
Signed-off-by: ialidzhikov <i.alidjikov@gmail.com>
2020-02-27 09:27:48 +02:00
Stephen Augustus
e64169d6b5 build: Enable kube-cross push/pull from K8s Infra GCR
- Search/replace Google Infra kube-cross locations for K8s Infra
- Update kube-cross make targets
  - Don't attempt to pre-pull image (docker build --pull)
    This prevents CI failures when the image under test doesn't exist
    yet in the registry.
  - 'make all' now builds and pushes the kube-cross image
  - Allow 'TAG' to be specified via env var
  - Use 'KUBE_CROSS_VERSION' to represent the kube-cross version
  - Tag kube-cross images with both a kubernetes version
    ('git describe') and a kube-cross version
- Add a GCB (Google Cloud Build) config file (cloudbuild.yaml)

Signed-off-by: Stephen Augustus <saugustus@vmware.com>
2020-02-26 16:51:01 -05:00
Claudiu Belu
296464d968 test images: Adds Windows support (part 1)
Adds Windows support to the test/images/image-util.sh script.

A Windows node with Docker installed is required to build Windows images.
The connection URL to it must be set in the REMOTE_DOCKER_URL env variable.
Additionally, the authentication to the remote docker node is done through
certificates, which must be found in ~/.docker.

By default, the REMOTE_DOCKER_URL env variable is set to "" in the Makefile,
and because of it, the image-util.sh script will skip building and pushing
Windows images.

Added GOOS argument to the go build process in order to be able to build
Windows binaries. Additionally, the OS env variable was added to the images
Makefiles (default value is "linux") in order to maintain default behaviour.

Some images require a different Dockerfile for Windows images, since they
have different ways of installing dependencies. Because of this, if a image
needs to be built for Windows, it will first check for a Dockerfile_windows
file instead of the default one. If there isn't one, it means that the
same Dockerfile can be used for both Windows and Linux.

All Windows images will be based on the image
"mcr.microsoft.com/windows/servercore:ltsc2019". There are a couple of features
that are needed from this image, especially powershell.

Added busybox image for Windows. Most Windows images will be based on it, which
will help reduce the command line differences between Linux and Windows, but
not entirely.

Added Windows support for agnhost image.
2020-02-21 02:09:49 -08:00
Claudiu Belu
efcdb929de images: Adds linux/ prefix to BASEIMAGE entries
Windows images will require other base images, and thus, we will need
to explicitly specify the OS type a base image is for in order to
avoid confusion or errors.
2020-02-21 02:09:49 -08:00
Claudiu Belu
22a5fbcfa9 test images: Bumps image versions
The way the images are built is going to be changed, and in order to avoid
overwritting and breaking the current images, the image versions are bumped.
2020-02-21 02:09:49 -08:00
Claudiu Belu
4c51eb9063 test images: Image Promoter fixes
Prior to the Image Centralization part 4 (https://github.com/kubernetes/kubernetes/pull/81170),
a PR merged that enables the Image Promoter to run on the k/k test images.

The Image Promoter currently only builds the Conformance-related images, but the
Image Centralization part 4 centralized some of those images into agnhost, so they
need to be removed from the conformance_images list.

Additionally, https://github.com/kubernetes/kubernetes/pull/81226 proposes mounttest-user
image to be removed, and RunAsUser to be used in tests instead.

The image used by the Image Promoter (gcr.io/k8s-testimages/gcb-docker-gcloud:v20190906-745fed4)
is based on busybox, and thus, the sed binary is actually busybox. image-util.sh calls
kube::util::ensure-gnu-sed several times, which ensures that a GNU sed binary exists
(it checks by greping GNU in its --help output). Obviously, it won't match the busybox sed
binary. But the sed usage in image-util.sh is fairly simple, and the busybox sed is sufficient.

Bumps image versions for: jessie-dnsutils, nonewprivs, resource-consumer, sample-apiserver. These
images are included in the conformance_images that are being built by the Image Promoter, so
we're bumping them just to make sure we're not breaking anything and cause all the CIs to fall.
We're going to bump the image versions used in tests in a subsequent PR. The image version was not
bumped for: agnhost, kitten, nautilus, as they were already bumped by the Image Centralization part 4
PR.
2020-01-06 09:08:51 -08:00
ialidzhikov
e1f7b16fa6 Update to golang@1.13.6
Signed-off-by: ialidzhikov <i.alidjikov@gmail.com>
2020-01-12 02:17:40 +02:00
ialidzhikov
f438def93d Update to golang@1.13.5
Signed-off-by: ialidzhikov <i.alidjikov@gmail.com>
2019-12-30 13:17:17 +02:00
Jordan Liggitt
cad5de706a Build sample-apiserver image using kubernetes 1.17 / go 1.13 2019-12-16 11:06:11 -05:00
Federico Bongiovanni
f777787481 Update BASEIMAGE
Adding suggested lost in translation missing ARCH to the BASEIMAGE
2018-10-12 15:18:40 -07:00
Federico Bongiovanni
54ba2ae877 upgrading sample-apiserver to 1.10 2018-09-28 15:17:29 -07:00
Jeff Grafton
10713501bd Update to golang 1.10.4 2018-09-18 13:13:57 -07:00
Davanum Srinivas
c8782f45c4 test image for a release 1.7 based sample-apiserver
Change-Id: I1429e4866cf20dd88781f37a124ccff65334f534
2018-07-28 16:29:18 -04:00