Commit Graph

166 Commits

Author SHA1 Message Date
Abhishek Kr Srivastav
95860cff1c Fix Go vet errors for master golang
Co-authored-by: Rajalakshmi-Girish <rajalakshmi.girish1@ibm.com>
Co-authored-by: Abhishek Kr Srivastav <Abhishek.kr.srivastav@ibm.com>
2024-09-20 12:36:38 +05:30
Lan Liang
184c84ba00 Bump alpine to 3.19 for agnhost.
Signed-off-by: Lan Liang <gcslyp@gmail.com>
2024-09-02 05:47:42 +00:00
Kubernetes Prow Robot
9c2302dd3e Merge pull request #126201 from aroradaman/revert-debug-steps
Revert debug steps and logs for #123760
2024-07-23 11:02:38 -07:00
Monis Khan
6a6771b514 svm: set UID and RV on SSA patch to cause conflict on logical create
When a resource gets deleted during migration, the SVM SSA patch
calls are interpreted as a logical create request.  Since the object
from storage is nil, the merged result is just a type meta object,
which lacks a name in the body.  This fails when the API server
checks that the name from the request URL and the body are the same.
Note that a create request is something that SVM controller should
never do.

Once the UID is set on the patch, the API server will fail the
request at a slightly earlier point with an "uid mismatch" conflict
error, which the SVM controller can handle gracefully.

Setting UID by itself is not sufficient.  When a resource gets
deleted and recreated, if RV is not set but UID is set, we would get
an immutable field validation error for attempting to update the
UID.  To address this, we set the resource version on the SSA patch
as well.  This will cause that update request to also fail with a
conflict error.

Added the create verb on all resources for SVM controller RBAC as
otherwise the API server will reject the request before it fails
with a conflict error.

The change addresses a host of other issues with the SVM controller:

1. Include failure message in SVM resource
2. Do not block forever on unsynced GC monitor
3. Do not immediately fail on GC monitor being missing, allow for
   a grace period since discovery may be out of sync
4. Set higher QPS and burst to handle large migrations

Test changes:

1. Clean up CRD webhook convertor logs
2. Allow SVM tests to be run multiple times to make finding flakes easier
3. Create and delete CRs during CRD test to force out any flakes
4. Add a stress test with multiple parallel migrations
5. Enable RBAC on KAS
6. Run KCM directly to exercise wiring and RBAC
7. Better logs during CRD migration
8. Scan audit logs to confirm SVM controller never creates

Signed-off-by: Monis Khan <mok@microsoft.com>
2024-07-18 17:19:11 -04:00
Daman Arora
f6676a2c0e Revert "agnhost/netexec: log hostname"
This reverts commit 90561cb9d9.
2024-07-18 19:52:14 +05:30
Stephen Kitt
5300466a5c Use canonical json-patch v4 import
The canonical import for json-patch v4 is
gopkg.in/evanphx/json-patch.v4 (see
https://github.com/evanphx/json-patch/blob/master/README.md#get-it for
reference).

Using the v4-specific path should also reduce the risk of unwanted v5
upgrade attempts, because they won't be offered as automated upgrades
by dependency upgrade management tools, and they won't happen through
indirect dependencies (see
https://github.com/kubernetes/kubernetes/pull/120327 for context).

Signed-off-by: Stephen Kitt <skitt@redhat.com>
2024-05-28 10:48:22 +02:00
Daman Arora
5aaa37521f agnhost: version bump to v2.52
Signed-off-by: Daman Arora <aroradaman@gmail.com>
2024-04-28 16:44:00 +05:30
Daman Arora
90561cb9d9 agnhost/netexec: log hostname
Signed-off-by: Daman Arora <aroradaman@gmail.com>
2024-04-28 16:44:00 +05:30
John Riendeau
62191f637e Bump base images for agnhost 2024-04-24 04:54:06 -05:00
Daman Arora
ce41bc849f agnhost: version bump to v2.50
Signed-off-by: Daman Arora <aroradaman@gmail.com>
2024-04-22 16:35:13 +05:30
Daman Arora
1c8799f814 agnhost/connect: send and recv data from SCTP server
If the client immediately closes connection after SCTP handshake,
the server will die with EOF, adding send and recv calls in the
client to make sure server client handling loop exits gracefully.

Signed-off-by: Daman Arora <aroradaman@gmail.com>
2024-04-22 16:31:48 +05:30
Daman Arora
8cf4567f3c agnhost/netexec: handle nil pointer dereference for SCTP server
If the client immediately closes connection after SCTP handshake, the
remote-addr fetched by SCTP server can be nil, causing the server to crash.

Signed-off-by: Daman Arora <aroradaman@gmail.com>
2024-04-22 16:31:48 +05:30
Sergey Kanzhelev
e9424f34ed allow agnhost to set TLS gRPC 2024-04-19 21:25:10 +00:00
huweiwen
c134bfe9eb agnhost/mounttest: add new line to output
make the output easier to read.
2024-03-03 23:46:22 +08:00
Akihiro Suda
9c726b015c agnhost: v2.47
agnhost was updated to v2.46 in PR 123258, but the image was not
published due to the failue of `post-kubernetes-push-e2e-agnhost-test-images`
(issue 123266).

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2024-02-14 15:11:31 +09:00
Akihiro Suda
7ee89440c3 agnhost: v2.46
Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2024-02-13 23:21:52 +09:00
Akihiro Suda
07c701fecb agnhost: merge registry.k8s.io/stress:v1 (github.com/vishh/stress)
Merge vishh/stress@eab4e3384b into
agnhost.

Old usage: `stress -mem-alloc-size 12Mi -mem-alloc-sleep 10s -mem-total 4Gi`
New usage: `agnhost stress --mem-alloc-size 12Mi --mem-alloc-sleep 10s --mem-total 4Gi`

This is a part of the steps to migrate from legacy Schema 1 images
(issue 123146)

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2024-02-13 23:21:05 +09:00
Kubernetes Prow Robot
da0a1a05b9 Merge pull request #118125 from humblec/json-serializerwithoptions
test/e2e: Use json.NewSerializerWithOptions in place of json/yaml newSerializers
2023-05-22 07:12:32 -07:00
Humble Chirammal
ad9e264c3c test/e2e: Use json.NewSerializerWithOptions in place of json/yaml newSerializers.
condidering NewSerializer* funcs are deprecated with
NewSerializerWithOptions(), the test functions are adjusted to the same.

Signed-off-by: Humble Chirammal <humble.devassy@gmail.com>
2023-05-22 18:44:30 +05:30
Humble Chirammal
c74790e266 remove redundunt type conversion, unused variable...etc
`Framework` variable has been removed from test/*
unwanted `[]byte` conversion has been removed
import alias has been avoided

Signed-off-by: Humble Chirammal <humble.devassy@gmail.com>
2023-05-19 11:16:11 +05:30
Antonio Ojea
19f7cb23c8 e2e agnhost functionality to RST TCP connections
add a new functionality to the agnhost image to run a server that
closes the connections received by sending a RST.

If a TCP servers closes the connection before all the socket is read,
it sends a RST. This implementations just reads only one byte from the
connection and closes it after that, that means that in order for this
to work the client has to send at least 2 bytes of data.

Using a simple curl is enough to trigger a RST:

curl http://127.0.0.1:8080
curl: (56) Recv failure: Connection reset by peer

Change-Id: I238fba0f790f2c92b37c732f51910a8b125f65db
2023-05-04 08:33:59 +00:00
Tim Hockin
bc302fa414 Replace uses of ObjectReflectDiff with cmp.Diff
ObjectReflectDiff is already a shim over cmp.Diff, so no actual output
or behavior changes
2023-04-12 08:48:03 -07:00
cc
d49bff855f refine: the server-side http Request Body is always non-nil (#115908)
* refine: the server-side http Request Body is always non-nil

* revert changes under vendor

* Update staging/src/k8s.io/pod-security-admission/cmd/webhook/server/server.go

Co-authored-by: Jordan Liggitt <jordan@liggitt.net>

* Update main.go

---------

Co-authored-by: Jordan Liggitt <jordan@liggitt.net>
2023-02-22 07:18:09 -08:00
Shingo Omura
d59af27d69 change the username in the image that is aligned with the group name 2022-10-21 10:18:30 +09:00
Shingo Omura
5beae0c4dc test/images/agnhost: Adds a test user and group in the image for a E2E test case of SupplementalGroups with pre-defined group in the image 2022-10-20 11:17:59 +09:00
Shiming Zhang
0005364363 Fix NPE (#112999)
* Fix NPE

* bump version
2022-10-15 10:43:05 -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
Davanum Srinivas
a9593d634c Generate and format files
- Run hack/update-codegen.sh
- Run hack/update-generated-device-plugin.sh
- Run hack/update-generated-protobuf.sh
- Run hack/update-generated-runtime.sh
- Run hack/update-generated-swagger-docs.sh
- Run hack/update-openapi-spec.sh
- Run hack/update-gofmt.sh

Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2022-07-26 13:14:05 -04:00
Claudiu Belu
14708f23b5 agnhost: Check symlink target's permissions for Windows
We're not interested in checking the file permissions of the
symlink itself, but it's target's permissions.
2022-06-29 09:15:47 -07:00
Anton Protopopov
fd94ff6487 agnhost/netexec: fix an error message
The error message inside the UDP server used a SCTP port instead of a UDP port
2022-06-17 16:03:33 +00: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
Antonio Ojea
2b822161f0 agnhost: fix sigterm shutdown 2022-05-25 12:50:23 +02:00
David Eads
566394467e add readyz handling to netexec 2022-05-23 14:26:09 -04:00
ahrtr
584d994133 replace all the deprecated ioutil with io and os 2022-05-09 15:27:13 +08:00
Andrew Sy Kim
9b5b77ac81 test/images/agnhost: bump agnhost to v2.36
Signed-off-by: Andrew Sy Kim <andrewsy@google.com>
2022-03-17 11:47:04 -04:00
Andrew Sy Kim
ff997ae5a0 agnhost/net: support --delay-shutdown flag
Signed-off-by: Andrew Sy Kim <andrewsy@google.com>
2022-03-16 16:46:43 -04:00
Andrew Sy Kim
d981aa118f agnhost/netexec: support --delay-shutdown flag
Signed-off-by: Andrew Sy Kim <andrewsy@google.com>
2022-03-16 16:46:43 -04:00
Kubernetes Prow Robot
d2ce895e07 Merge pull request #107055 from jsturtevant/remove-unsupported-sac
Remove unsupported Windows SAC  test images
2022-03-11 16:32:23 -08:00
Sergey Kanzhelev
2012358e39 add the grpc-health-checking to agnhost 2022-03-04 21:29:55 +00: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
Alexander Constantinescu
0abaf68651 Add request header retrieval to agnhost netexec
Signed-off-by: Alexander Constantinescu <aconstan@redhat.com>
2022-01-27 12:52:15 +01:00
Antonio Ojea
d126b14838 migrate nolint coments to golangci-lint 2021-11-17 13:58:53 +01:00
Patrick Ohly
21d1bcd6b8 initialize logging after flag parsing
It wasn't documented that InitLogs already uses the log flush frequency, so
some commands have called it before parsing (for example, kubectl in the
original code for logs.go). The flag never had an effect in such commands.

Fixing this turned into a major refactoring of how commands set up flags and
run their Cobra command:

- component-base/logs: implicitely registering flags during package init is an
  anti-pattern that makes it impossible to use the package in commands which
  want full control over their command line. Logging flags must be added
  explicitly now, something that the new cli.Run does automatically.

- component-base/logs: AddFlags would have crashed in kubectl-convert if it
  had been called because it relied on the global pflag.CommandLine. This
  has been fixed and kubectl-convert now has the same --log-flush-frequency
  flag as other commands.

- component-base/logs/testinit: an exception are tests where flag.CommandLine has
  to be used. This new package can be imported to add flags to that
  once per test program.

- Normalization of the klog command line flags was inconsistent. Some commands
  unintentionally didn't normalize to the recommended format with hyphens. This
  gets fixed for sample programs, but not for production programs because
  it would be a breaking change.

This refactoring has the following user-visible effects:

- The validation error for `go run ./cmd/kube-apiserver --logging-format=json
  --add-dir-header` now references `add-dir-header` instead of `add_dir_header`.

- `staging/src/k8s.io/cloud-provider/sample` uses flags with hyphen instead of
  underscore.

- `--log-flush-frequency` is not listed anymore in the --logging-format flag's
  `non-default formats don't honor these flags` usage text because it will also
  work for non-default formats once it is needed.

- `cmd/kubelet`: the description of `--logging-format` uses hyphens instead of
  underscores for the flags, which now matches what the command is using.

- `staging/src/k8s.io/component-base/logs/example/cmd`: added logging flags.

- `apiextensions-apiserver` no longer prints a useless stack trace for `main`
  when command line parsing raises an error.
2021-09-30 13:46:49 +02:00
Kubernetes Prow Robot
40c9203472 Merge pull request #105171 from liggitt/gomodule-staticcheck
Make staticcheck package-compatible
2021-09-21 10:34:23 -07:00
Jordan Liggitt
00622da45e Make staticcheck package-compatible 2021-09-21 12:19:57 -04:00
Antonio Ojea
2bf38ed86b agnhost: allow to disable udp listener on netexec
There are some tests that doesn't need the UDP listener, so they
can disable it.
This is specially needed for tests that use hostNetwork pods, if 2
pods try to bind to the same port, the test will fail because one
of the pod can't be scheduled because of the port conflict.

To keep backwards compatibility, we can add an option to disable
the UDP listener by setting the port number to -1, that is consistent
with the SCTP implementation.
2021-09-20 09:44:20 +02:00
Kubernetes Prow Robot
ff617edd32 Merge pull request #104455 from claudiubelu/test-images/windows-server-2022-part-2
test images: Adds Windows Server 2022 to the BASEIMAGEs (part 2)
2021-08-30 12:07:13 -07:00
Stephen Augustus
481cf6fbe7 generated: Run hack/update-gofmt.sh
Signed-off-by: Stephen Augustus <foo@auggie.dev>
2021-08-24 15:47:49 -04: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
Kubernetes Prow Robot
499a1f99a9 Merge pull request #104489 from liggitt/signal-buffer
Fix buffered signal channel go vet error
2021-08-20 14:53:58 -07:00