Commit Graph

72 Commits

Author SHA1 Message Date
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
Jordan Liggitt
5eef60a00a Add warnings capability for admission webhooks 2020-07-01 12:14:06 -04:00
Kubernetes Prow Robot
3d912dd072 Merge pull request #76828 from claudiubelu/images/goarm-var
images: Adds GOARM to images' Makefiles
2020-07-01 07:10:18 -07:00
Federico Paolinelli
7ff930b6c8 Bump up the agnhost version to reflect changes in https://github.com/kubernetes/kubernetes/pull/90797
There was an un-noticied conflict with 279ce5d89e (diff-75312865ef706f08787bf2987d761c13)

Signed-off-by: Federico Paolinelli <fpaoline@redhat.com>
2020-06-24 17:37:41 +02:00
Kubernetes Prow Robot
0072d8ae23 Merge pull request #90797 from fedepaol/sctpconnectporter
Add SCTP support to agnhost connect / porter commands.
2020-06-23 07:05:41 -07:00
Benjamin Elder
279ce5d89e s/master/primary in agnhost guestbook test references & agnhost code
to do in follow-up: update the agnhost deployments and references to those when the new image is pushed
2020-06-19 12:23:16 -07:00
Federico Paolinelli
b8819b91a8 Add sctp support to agnhost connect / porter commands.
Signed-off-by: Federico Paolinelli <fpaoline@redhat.com>
2020-06-19 09:31:05 +02:00
Benjamin Elder
d65a3b15bf update agnhost guestbook usage for s/slave/replica/ 2020-06-15 20:08:27 -07:00
Benjamin Elder
c57e39f664 bump agnhost version to match fully 2020-06-12 15:44:15 -07:00
Benjamin Elder
c8dce6d4b3 bump agnhost version 2020-06-08 16:38:09 -07:00
Benjamin Elder
f9851d929b s/slave/replica in guestbook app 2020-06-08 16:37:26 -07:00
Davanum Srinivas
07d88617e5 Run hack/update-vendor.sh
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2020-05-16 07:54:33 -04:00
Davanum Srinivas
442a69c3bd switch over k/k to use klog v2
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2020-05-16 07:54:27 -04:00
hasheddan
921b76ceaa Move getting IP address into retry loop for agnhost/guestbook
Removes the fatal error from getIP and moves it to
retry loop so that application will not immediately
crash on failure.

Signed-off-by: hasheddan <georgedanielmangum@gmail.com>
2020-05-12 13:55:17 -05:00
hasheddan
9081dfb68d Improve error messages in agnhost/guestbook
This updates the error messages when registering a
node to be more explicit about what error occurred
and how long it will wait to retry.

Signed-off-by: hasheddan <georgedanielmangum@gmail.com>
2020-05-12 09:58:53 -05:00
hasheddan
0cacc44fc9 Retry resolving TCP address in agnhost/guestbook
Currently the guestbook application will fail if unable
to resolve TCP address on first attempt. If pod networking
is not setup when the application starts then it will be
unable to resolve, leading to frequent failures. This moves
the address resolution into the retry block so it will try
again if unsuccessful on first attempt.

Signed-off-by: hasheddan <georgedanielmangum@gmail.com>
2020-05-11 13:45:28 -05:00
Clayton Coleman
3c9959a5d4 netexec: Allow graceful shutdown testing from netexec
The current /exit method is not sufficient to test graceful shutdown
behaviors within Kube that allow services to remain available during
rolling restarts. Add support for `wait=DURATION` and
`timeout=DURATION` to the exit handler and wire that to the Go http
server's graceful termination.

With these methods netexec can be used in a pod to simulate graceful
shutdown by adding a preStop handler that hits the exit endpoint with
a timeout and wait period.
2020-05-07 09:18:27 -04:00
Jason Simmons
d0f19815d2 Updates agnhost image VERSION and README 2020-04-21 09:43:58 -04:00
Jason Simmons
c56d8df5e3 Adds HTTPS logic to agnhost netexec
The agnhost image used for testing has a `netexec` path which supports
two new flags, `--tls-cert-file` and `--tls-private-key-file`. If the
former is provided, the HTTP server will be upgraded to HTTPS, using the
certificate (and private key) provided.

By default, there are keys already mounted into the container at
`/localhost.crt` and `/localhost.key`, which contain PEM-encoded TLS
certs with IP SANs for `127.0.0.1` and `[::1]`.
2020-04-16 11:42:37 -04:00
Claudiu Belu
94ffe582e9 Image promoter: Reenable Windows test image building
The build times are a bit high for the image builder (~50 minutes), and it will a bit more
when Windows support will be added to the other test images. This commit changes the
machineType to N1_HIGHCPU_8.

Reenables Windows test image building. Added DOCKER_CERT_BASE_PATH (default value: $HOME),
which will contain the path where the certificates needed for Remote Docker Connection can
be found.

If a REMOTE_DOCKER_URL was not set for a particular OS version, exclude that image from the
manifest list. This fixes an issue where, if REMOTE_DOCKER_URL was not set for Windows Server 1909,
the Windows were completely excluded from the manifest list, including for Windows Server 1809
and 1903 which could have been built and pushed.

Sets "test-webserver" as the default CMD for kitten and nautilus. Since they are now based on
agnhost, they should be set to run test-webserver to maintain previous behaviour.

Bumps the agnhost version to 2.13, as 2.12 has already been promoted. 2.13 will contain
Windows support.

Adds Windows support for the kitten and nautilus images, so they can promoted together
with agnhost (they were not previously promoted).

Adds OWNERS files to: agnhost, busybox, kitten, nautilus.
2020-04-14 05:12:46 -07:00
Federico Paolinelli
e31f72e3a4 Bump agnhost version to 2.13, and bump up depending images.
Kitten / nautilus depend on agnhost.

Signed-off-by: Federico Paolinelli <fpaoline@redhat.com>
2020-04-03 13:00:23 -04:00
Kubernetes Prow Robot
2fd8debe9b Merge pull request #87926 from fedepaol/agnostsctp
Preliminary SCTP connectivity tests
2020-04-02 02:12:24 -07:00
Dan Winship
55d3408211 agnhost: add SCTP support to netexec 2020-03-04 23:34:15 +01:00
Kubernetes Prow Robot
f692f5cfcd Merge pull request #88049 from mtaufen/provider-info-agnhost
Update agnhost to test OIDC validation of JWT tokens
2020-03-04 03:43:47 -08:00
Charles Eckman
5ceecd3ba3 Update agnhost to test OIDC validation of JWT tokens
Extends agnhost with the capability to validate a mounted token against
the API server's OIDC endpoints.

Co-authored-by: Michael Taufen <mtaufen@google.com>
2020-03-03 15:27:47 -08:00
Claudiu Belu
8cb84feef3 test images: Updates agnhost guestbook
A previous PR replaced the usage of Redis in the guestbook app test
with Agnhost. The replacement went well for Linux setups and Containers,
which is why the tests are green, but there is a network particularity on
Windows setups which won't allow the test to pass.

The issue was observed with another test hitting the same issue:
https://github.com/kubernetes/kubernetes/issues/83072

Here's exactly what happens during the test:

- frontend containers are created, having the /guestbook endpoint. Its main
  purpose is to forward the call to either agnhost-master (cmd=set), or
  agnhost-slave (cmd=get).
- agnhost-master container is created, having the /set endpoint, and the
  /register endpoint, through which the agnhost-slave containers would
  register to it. Its purpose is to propagate all data received through /set
  to its clients.
- agnhost-slave containers are created, having the /set and /get endpoints.
  They would register to agnhost-master, and then receive any and all updates
  from it, which was then served through the /get endpoint.

For simplicity, all 3 types have the same agnhost subcommand (agnhost guestbook), being
able to satisfy its given purpose. For this, HTTP servers were being used, including
for the /register endpoints. agnhost-master would send its /set updates as /set HTTP
requests. However, because of the issue listed above, agnhost-master did not receive
the client's IP, but rather the container host's IP, resulting in the request being
sent to the wrong destination.

This PR updates the agnhost guestbook subcommand. Now, the agnhost subscriber nodes will
send their own IP to the /register endpoint (/endpoint?host=myip).
2020-02-25 09:45:43 -08:00
Claudiu Belu
3cdb7a89cb test images: Adds multiple Windows channels support
This commit adds support for building test images for multiple
Windows versions, as we have to support both LTS and SAC channels.

With this, the format for Windows images in the BASEIMAGE files is:

OS/ARCH/OS_VERSION

Also adds --isolation-hyperv to the Windows docker build command, making sure
that container images for multiple OS versions can be built using the same
Windows node.
2020-02-21 02:09:49 -08: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
f7942290af tests: Replaces images used with agnhost (part 4)
Quite a few images are only used a few times in a few tests. Thus,
the images are being centralized into the agnhost image, reducing
the number of images that have to be pulled and used.

This PR replaces the usage of the following images with agnhost:

- resource-consumer-controller
- test-webserver
2020-02-18 16:29:49 -08:00
Mike Danese
3aa59f7f30 generated: run refactor 2020-02-07 18:16:47 -08:00
Kubernetes Prow Robot
9c1e124b15 Merge pull request #87823 from tallclair/test-tokens
Ensure testing credentials are labeled as such
2020-02-06 17:47:29 -08:00
Tim Allclair
9d3670f358 Ensure testing credentials are labeled as such 2020-02-04 10:36:05 -08:00
Chao Xu
6acc75b418 Only set admission review reponse patch type if the patch is not empty 2020-02-03 10:55:31 -08:00
Kubernetes Prow Robot
11aa07e150 Merge pull request #87385 from krzysied/agnhost_webhook_sidecar
Agnhost webhook sidecar
2020-01-30 16:59:02 -08:00
Mike Danese
d55d6175f8 refactor 2020-01-29 08:50:45 -08:00
Krzysztof Siedlecki
3593fc69ab bumping agnhost version to 2.10 2020-01-27 11:59:03 +01:00
Krzysztof Siedlecki
dc5791b47a adding sidecar injecting webhook 2020-01-27 11:59:03 +01:00
Kubernetes Prow Robot
e265afa2cd Merge pull request #81170 from claudiubelu/test-images/centralize-image-to-agnhost-part-4
Centralizes images into agnhost (part 4)
2020-01-13 09:37:38 -08:00
Claudiu Belu
31ea600b28 images: Adds GOARM to images' Makefiles
In order to build the image binaries, the GOARM variable is required,
but not all Makefiles have it defined, causing the make to fail on
those images.

This adds the require GOARM variable to the Makefiles in question.
2020-01-01 03:33:36 -08:00
Mark Janssen
a634e254c1 Fix staticcheck failures for test/images
Errors from staticcheck:
test/images/agnhost/dns/common.go:79:6: func runCommand is unused (U1000)
test/images/agnhost/inclusterclient/main.go:75:16: using time.Tick leaks the underlying ticker, consider using it only in endless functions, tests and the main package, and use time.NewTicker here (SA1015)
test/images/agnhost/net/nat/closewait.go:41:5: var leakedConnection is unused (U1000)
test/images/agnhost/netexec/netexec.go:157:17: printf-style function with dynamic format string and no further arguments should use print-style function instead (SA1006)
test/images/agnhost/netexec/netexec.go:250:18: printf-style function with dynamic format string and no further arguments should use print-style function instead (SA1006)
test/images/agnhost/netexec/netexec.go:317:18: printf-style function with dynamic format string and no further arguments should use print-style function instead (SA1006)
test/images/agnhost/netexec/netexec.go:331:19: printf-style function with dynamic format string and no further arguments should use print-style function instead (SA1006)
test/images/agnhost/netexec/netexec.go:345:19: printf-style function with dynamic format string and no further arguments should use print-style function instead (SA1006)
test/images/agnhost/netexec/netexec.go:357:19: printf-style function with dynamic format string and no further arguments should use print-style function instead (SA1006)
test/images/agnhost/netexec/netexec.go:370:19: printf-style function with dynamic format string and no further arguments should use print-style function instead (SA1006)
test/images/agnhost/netexec/netexec.go:380:9: this value of err is never used (SA4006)
test/images/agnhost/netexec/netexec.go:381:17: printf-style function with dynamic format string and no further arguments should use print-style function instead (SA1006)
test/images/agnhost/netexec/netexec.go:386:17: printf-style function with dynamic format string and no further arguments should use print-style function instead (SA1006)
test/images/agnhost/pause/pause.go:43:23: syscall.SIGKILL cannot be trapped (did you mean syscall.SIGTERM?) (SA1016)
test/images/agnhost/serve-hostname/serve_hostname.go:125:15: the channel used with signal.Notify should be buffered (SA1017)
test/images/agnhost/webhook/patch_test.go:131:13: this value of err is never used (SA4006)
test/images/pets/peer-finder/peer-finder.go:155:6: this value of newPeers is never used (SA4006)
2019-12-15 22:34:27 +01:00
Claudiu Belu
3247f0a814 tests: Fixes minor agnhost error 2019-11-05 15:21:58 -08:00
Claudiu Belu
8f099010a5 Centralizes images into agnhost (part 4)
Centralizes the following images into agnhost:

- dnsutils
- mounttest
- resource-consumer-controller
- test-webserver

Adds CoreDNS to agnhost image, which can be used in some DNS related tests (dnsmasq is Linux-only).

Adds Windows support to mounttest.

Bumps agnhost version to 2.9.
Bumps kitten version to 1.1.
Bumps nautilus version to 1.1.
2019-10-24 15:02:40 -07:00
Claudiu Belu
9dd79321e0 tests: Adds guestbook app subcommand in agnhost
The redis version has been bumped to version 5.0.5, but the maximum version supported on
Windows is 3.2. This can lead to failing tests, the output and behaviour can be different
(see #80516). In order to prevent such failures, the amount of times the Redis image is
used can be reduced.

This commit adds the guestbook subcommand to agnhost, which can be used to emulate the
Guestbook application created by the test "should create and stop a working application".

Bumps agnhost image VERSION.
2019-10-24 07:51:28 -07:00
Claudiu Belu
8880a4f74f tests: Extends agnhost netexec udp buffers
Currently, the UDP buffer sizes are set to 1024 bytes. Larger requests will not be
read entirely by the UDP handlers, which can lead to tests relying on this to fail.
2019-10-16 04:21:45 -07:00
tanjunchen
de3cf23414 remove the repeat word in documents 2019-10-06 23:32:01 +08:00
Jordan Liggitt
0558e83867 Add /readyz endpoints to converter/webhook test image 2019-08-30 12:52:52 -04:00
Guangming Wang
8ffba14ce4 Cleanup: fix typo in flag help message
Signed-off-by: Guangming Wang <guangming.wang@daocloud.io>
2019-08-22 22:58:18 +08:00
Joe Betz
3f519b0ee2 Upgrade ConversionReview e2e test image to also support v1 2019-08-17 10:28:39 -07:00