Commit Graph

210 Commits

Author SHA1 Message Date
Davanum Srinivas
64f8c6939f Replace -E with --setenv for systemd-run parameter
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2023-11-17 10:50:11 -05:00
Sohan Kunkerkar
ad7b9b56f5 test/e2e_node: add e2e test for Kubeletconfig drop-in dir
Signed-off-by: Sohan Kunkerkar <sohank2602@gmail.com>
Co-authored-by: Peter Hunt <pehunt@redhat.com>
2023-11-03 17:49:22 -04:00
Davanum Srinivas
3e5fafd57a Drop docker.log and add cloud-init-output.log
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2023-06-28 18:08:40 -04:00
Dr. Stefan Schimanski
764da8a01d FIXUP: cmd/kube-apiserver/app/options: split apart controlplane part 2023-06-26 21:50:38 +02:00
Dr. Stefan Schimanski
6e079545c4 cmd/kube-apiserver: move options completion into options package 2023-06-26 15:20:40 +02:00
HirazawaUi
5289a7b029 fix fd leaks and failed file removing for test directory 2023-05-09 09:22:31 -05:00
Kubernetes Prow Robot
602ba9a714 Merge pull request #116611 from dims/missed-registering-kubelet-config-file-for-make-test-e2e-node-usecase
missed registering kubelet-config-file for the command line use case running test-e2e-node target
2023-03-14 19:27:21 -07:00
Sergey Kanzhelev
1e6281e4a2 first iteration to add standalone mode 2023-03-14 20:46:41 +00:00
Davanum Srinivas
ee294de56d missed registering kubelet-config-file for the command line use case running test-e2e-node target
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2023-03-14 15:46:31 -04:00
Kubernetes Prow Robot
bab2774b21 Merge pull request #116517 from dims/re-organize-remote-e2e-test-to-be-pluggable
re-organize remote e2e test to be pluggable
2023-03-14 10:41:00 -07:00
Davanum Srinivas
a889cc7f79 prevent initializing the same flag more than once
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2023-03-13 17:07:00 -04:00
Sergey Kanzhelev
009a2cbbc8 initialize feature gates in test project 2023-03-13 16:16:03 +00:00
Kubernetes Prow Robot
185cd95b9c Merge pull request #113443 from yangjunmyfm192085/namespace-contextual-logging
namespace controller: use contextual logging
2023-03-13 04:34:44 -07:00
JunYang
f5bd8c86d4 namespace controller: use contextual logging 2023-03-13 14:59:17 +08:00
Patrick Ohly
136f89dfc5 e2e: use error wrapping with %w
The recently introduced failure handling in ExpectNoError depends on error
wrapping: if an error prefix gets added with `fmt.Errorf("foo: %v", err)`, then
ExpectNoError cannot detect that the root cause is an assertion failure and
then will add another useless "unexpected error" prefix and will not dump the
additional failure information (currently the backtrace inside the E2E
framework).

Instead of manually deciding on a case-by-case basis where %w is needed, all
error wrapping was updated automatically with

    sed -i "s/fmt.Errorf\(.*\): '*\(%s\|%v\)'*\",\(.* err)\)/fmt.Errorf\1: %w\",\3/" $(git grep -l 'fmt.Errorf' test/e2e*)

This may be unnecessary in some cases, but it's not wrong.
2023-02-06 15:39:13 +01:00
Antonio Ojea
7f5ae1c0c1 Revert "e2e: wait for pods with gomega" 2023-02-06 12:08:22 +01:00
Patrick Ohly
222f655062 e2e: use error wrapping with %w
The recently introduced failure handling in ExpectNoError depends on error
wrapping: if an error prefix gets added with `fmt.Errorf("foo: %v", err)`, then
ExpectNoError cannot detect that the root cause is an assertion failure and
then will add another useless "unexpected error" prefix and will not dump the
additional failure information (currently the backtrace inside the E2E
framework).

Instead of manually deciding on a case-by-case basis where %w is needed, all
error wrapping was updated automatically with

    sed -i "s/fmt.Errorf\(.*\): '*\(%s\|%v\)'*\",\(.* err)\)/fmt.Errorf\1: %w\",\3/" $(git grep -l 'fmt.Errorf' test/e2e*)

This may be unnecessary in some cases, but it's not wrong.
2023-01-31 13:01:39 +01:00
Andrew Sy Kim
6c8eacb157 test/e2e_node: set apiserver kubelet preferred addresses
Signed-off-by: Andrew Sy Kim <andrewsy@google.com>
2022-11-21 15:09:04 -05:00
David Porter
048ed7ddc0 test: Stop kubelet systemd service after node e2e
Currently, when running node e2e it's not possible to use the ginkgo `--repeat`
flag to run the test suite multiple times. This is useful when debugging tests
and ensuring they are not flaky by re-running them several times. Currently if
using `--repeat` ginkgo flag, the 2nd run of the test will fail due to kubelet
not starting with message like:

```
Failed to start transient service unit: Unit kubelet-20221020T040841.service already exists.
```

This is because during the test startup, kubelet is started as a transient unit
file via `systemd-run`. The unit is started with the `--remain-after-exit` flag
to ensure that the unit will remain even if the kubelet is restarted. The test
suite currently uses `systemd kill` command to stop kubelet. This works fine for
stopping the kubelet, but on the second run, when `systemd-run` is used to start
systemd unit again it will fail because the unit already exists. This is because
`systemd kill` will not delete the systemd unit, only send SIGTERM signal to it.

To fix this, add `unitName` as a field to the `server` struct. When
kubelet server is constructed, set the unit name. As part of e2e test
termination, in `E2EServices.Stop()``, stop the kubelet systemd unit. By
stopping the kubelet systemd unit, systemd will delete the systemd
transient unit, allowing it to be created and started again in a
subsequent e2e run.

Signed-off-by: David Porter <david@porter.me>
2022-10-20 13:31:23 -07:00
Patrick Ohly
41619ace15 stop using deprecated klog flags
Some scripts and tools still relied on the deprecated flags, the ones
which are about to be removed.

This is intentionally not a complete removal of all those flags in the entire
repo. This would lead to much more code churn also in places where commands
still accept the flags because they use klog directly.
2022-09-04 21:02:43 +02:00
Kubernetes Prow Robot
c1ad54dfe3 Merge pull request #109649 from pohly/e2e-feature-gates
e2e: move feature gate support from test/e2e to test/e2e_node
2022-05-04 02:35:18 -07:00
Patrick Ohly
2664740043 e2e: move feature gate support from test/e2e to test/e2e_node
The test/e2e suite has never supported feature gates:
- it cannot discover at runtime how the cluster is configured
- its --feature-gates parameter had no effect

Despite that, tests were written that used
e2eskipper.SkipUnlessFeatureGateEnabled even though that function then only
checked the default feature gate state.  To catch such mistakes, e2e tests
suites now must explicitly enable feature gate checking via
e2eskipper.InitFeatureGates. They also must register their own command line
flag. When that is not done, then using SkipUnlessFeatureGateEnabled or
SkipIfFeatureGateEnabled leads to a test failure.

test/e2e_node does both and therefore continues to work as before.
2022-04-25 15:41:41 +02:00
Abhijit Hoskeri
49dc59873b e2e_node/{service,util}: use kubelet healthz port.
The readonly port could be disabled.

Since we are only using the /healthz endpoint,
we can use the healthz port for this.

Change-Id: Ie0e05a5ab4ec6f51e4d3c63226aa23c1b3a69956
2022-04-22 16:14:31 -07:00
Ciprian Hacman
7d5afb322d Remove unused --container-runtime e2e.test flag
Signed-off-by: Ciprian Hacman <ciprian@hakman.dev>
2022-02-14 08:49:56 +02:00
ahrtr
fe95aa614c io/ioutil has already been deprecated in golang 1.16, so replace all ioutil with io and os 2022-02-03 05:32:12 +08:00
Sergey Kanzhelev
7e7bc6d53b remove DynamicKubeletConfig logic from kubelet 2022-01-19 22:38:04 +00:00
cyclinder
07999dac70 Clean up dockershim flags in the kubelet
Signed-off-by: cyclinder <qifeng.guo@daocloud.io>
Co-authored-by: Ciprian Hacman <ciprian@hakman.dev>
Signed-off-by: Ciprian Hacman <ciprian@hakman.dev>
2022-01-14 16:02:50 +02:00
Elana Hashman
5401551d12 Append node e2e logs to file where possible
Functionality added in systemd 240:
1977d1477f/NEWS (L3919-L3921)
2021-11-11 11:16:51 -08:00
Danielle Lancashire
4ae64bd799 e2e_node: add a default kubeletconfig fallback 2021-11-02 15:10:29 +01:00
Danielle Lancashire
a4cf3a90a2 e2e_node: support passing kubelet-config-file to local runs 2021-11-02 15:10:29 +01:00
Danielle Lancashire
6e9e436026 e2e_node: kubelet config: move to file where possible 2021-11-02 15:10:28 +01:00
Danielle Lancashire
4097a3d472 e2e_node: allow customizing the base kubeletconfig
This commit forces Kubelet Configuration files to always be generated
and when possible will use the kubeletconfig file that has been provided
by the test orchestrator
2021-11-02 15:09:56 +01:00
Antonio Ojea
0cd75e8fec run hack/update-netparse-cve.sh 2021-08-20 10:42:09 +02:00
Elana Hashman
a77f4f4c29 Log e2e-node kubelet output directly to file
For some reason when we send them to journald, many log lines are
consistently dropped as soon as the PLEG is started.

If we log directly to file, we don't have this problem. As a bonus, if
the tests crash, the kubelet logs will always be available since they
were already written; otherwise we normally wait until the end of the
test run to collect them from journald, meaning that we often end up
with empty logs.
2021-07-30 15:35:42 -07:00
Ryan Phillips
163e4974b6 e2e node server: fix crash in log line 2021-07-30 12:36:00 -05:00
Kubernetes Prow Robot
af60bebde3 Merge pull request #97028 from knabben/e2e-restart-kubelet
Adding restart kubelet flag on e2e test
2021-06-22 21:00:09 -07:00
Shihang Zhang
925900317e allow multiple of --service-account-issuer 2021-04-19 09:54:11 -07:00
Kubernetes Prow Robot
40a411a61a Merge pull request #99912 from dims/capture-logs-from-containerd-installation-service
Capture logs from containerd-installation service
2021-03-08 22:53:38 -08:00
Amim Knabben
0341e4c2f3 Enabling runtime config on E2E node tests 2021-03-08 15:45:06 -05:00
Davanum Srinivas
ce35b2f2e7 capture additional logs related to containerd
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2021-03-07 13:48:07 -05:00
Benjamin Elder
56e092e382 hack/update-bazel.sh 2021-02-28 15:17:29 -08:00
he.qingguo
ced98afe56 remove unused constant of kubeletPort in e2e test
Signed-off-by: he.qingguo <he.qingguo@zte.com.cn>
2021-01-02 12:16:07 +08:00
Amim Knabben
00da68dbc2 Adding restart kubelet flag on e2e test 2020-12-02 18:05:22 -05:00
Kubernetes Prow Robot
941e9242a5 Merge pull request #96128 from MHBauer/node-e2e-partial-fix
reenable e2e_node services & debugging improvements
2020-11-03 14:58:17 -08:00
Morgan Bauer
9b8c1dcd19 reenable e2e_node services & debugging improvements
- re-enable e2e_node services
 - call GenerateSecureToken for e2e_node Conformance test-suite
 - add log messages indicating location in process
 - move log messages to some more accurate locations
2020-11-03 10:09:56 -08:00
Kubernetes Prow Robot
1968e96165 Merge pull request #95856 from knight42/refactor/disable-apiserver-insecure-port
refactor(apiserver): disable insecure port
2020-10-29 10:47:58 -07:00
knight42
cfc2b330a7 refactor(apiserver): ignore the insecure flags
Leave the insecure flags intact but stop serving on insecure port.
2020-10-29 23:20:17 +08:00
Kubernetes Prow Robot
1a37266208 Merge pull request #95411 from MHBauer/log-containerd
always collect containerd logs during e2e-node tests
2020-10-28 16:16:59 -07:00
knight42
d321ac52a2 refactor: migrate node e2e tests off insecure port
Signed-off-by: knight42 <anonymousknight96@gmail.com>
2020-10-20 00:12:58 +08:00
Morgan Bauer
459a20c607 always collect containerd logs
containerd is almost always running, even below docker
2020-10-08 12:40:01 -07:00