Commit Graph

24766 Commits

Author SHA1 Message Date
Qi Ni
2c829cf29b chore: Refactor network load balancer creation in e2e tests
Refactor the code related to creating an internal type load balancer in the e2e tests for network load balancers. The modification removes the check for the "azure" provider and updates it to only check for "gke" and "gce" providers. This change ensures that the test only runs when the cluster is using "gke" or "gce" as the provider. The counterpart test is in the out-of-tree cloud provider azure.
2024-01-29 14:15:25 +08:00
Davanum Srinivas
4716bf8bd4 Fix issues found by linter
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2024-01-28 06:05:04 -05:00
cpanato
ee86ca9f13 [go] Bump images, dependencies and versions to go 1.22rc2
Signed-off-by: cpanato <ctadeu@gmail.com>
2024-01-28 10:10:54 +01:00
cpanato
c9991e4270 [go] Bump images, dependencies and versions to go 1.22rc1
Signed-off-by: cpanato <ctadeu@gmail.com>
2024-01-28 10:10:47 +01:00
Davanum Srinivas
76ea142051 Use gcloud for gce_runner
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2024-01-27 22:23:37 -05:00
Tim Hockin
a7cf7fe55a Bump shellcheck to 0.9.0
Fix everything it flagged.
2024-01-26 16:26:40 -08:00
Alexander Zielenski
7353f52bc8 test: add CRDValidationRatcheting e2e tests 2024-01-26 13:17:17 -08:00
Kubernetes Prow Robot
02aaad0de9 Merge pull request #121876 from pohly/dra-reserve-during-pod-binding
dra: reserve + publish during pod binding
2024-01-26 19:58:01 +01:00
Kubernetes Prow Robot
c4feb19195 Merge pull request #122878 from liggitt/typecheck-kube-proxy-darwin
Re-allow building kube-proxy on all platforms
2024-01-26 16:32:12 +01:00
Patrick Ohly
5d1509126f dra: patch ReservedFor during PreBind
This moves adding a pod to ReservedFor out of the main scheduling cycle into
PreBind. There it is done concurrently in different goroutines. For claims
which were specifically allocated for a pod (the most common case), that
usually makes no difference because the claim is already reserved.

It starts to matter when that pod then cannot be scheduled for other reasons,
because then the claim gets unreserved to allow deallocating it. It also
matters for claims that are created separately and then get used multiple times
by different pods.

Because multiple pods might get added to the same claim rapidly independently
from each other, it makes sense to do all claim status updates via patching:
then it is no longer necessary to have an up-to-date copy of the claim because
the patch operation will succeed if (and only if) the patched claim is valid.

Server-side-apply cannot be used for this because a client always has to send
the full list of all entries that it wants to be set, i.e. it cannot add one
entry unless it knows the full list.
2024-01-26 10:58:03 +01:00
Ben Luddy
ef27338bef Add skeleton CBOR package and introduce library dependency. 2024-01-25 08:32:50 -05:00
Kubernetes Prow Robot
17ad610559 Merge pull request #121321 from charles-chenzz/fix_flaky_PodReadyToStartContainersCondition
[KEP - 3085] Add e2e test for PodReadyToStartContainerCondition when config map is created
2024-01-24 21:57:24 +01:00
Kubernetes Prow Robot
7ff2deceb1 Merge pull request #122937 from dims/remove-vmware-cloud-provider
Drop in-tree cloud provider for vsphere
2024-01-24 18:46:21 +01:00
Hu#
b98e47dd80 tests: Cleanup for Job e2e tests global vars (#121695)
* put var in local

Signed-off-by: husharp <jinhao.hu@pingcap.com>

* revert gomod

Signed-off-by: husharp <jinhao.hu@pingcap.com>

---------

Signed-off-by: husharp <jinhao.hu@pingcap.com>
2024-01-24 14:00:38 +01:00
Davanum Srinivas
65d67101e7 Drop vsphere cloud provider
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2024-01-23 19:57:01 -05:00
Kubernetes Prow Robot
7bb00356f0 Merge pull request #122857 from nilo19/chore/cleanup-azure
chore: Cleanup in-tree credential provider azure and cloud provider a…
2024-01-23 21:31:11 +01:00
charles-chenzz
367bbd01d7 update testcase on podreadytostartcontainercondition 2024-01-23 18:29:35 +06:00
Jordan Liggitt
e92a4debcb Fix lint warning about unchecked error 2024-01-22 20:45:26 -08:00
Jordan Liggitt
8b22cb4696 Revert "Make verify-typecheck.sh only check valid targets for a platform"
This reverts commit e48aa09340.
2024-01-22 20:45:25 -08:00
Kubernetes Prow Robot
445869a59b Merge pull request #122873 from p0lyn0mial/upstream-reflector-usewatchlist-pointer
client-go/reflector: make UseWatchList a pointer
2024-01-22 18:20:58 +01:00
Kubernetes Prow Robot
9c1c603fbe Merge pull request #121145 from Rei1010/apiClean
e2e_api: stop using deprecated framework.ExpectNotEqual
2024-01-22 16:31:09 +01:00
Patrick Ohly
43539c855f e2e framework: unify logging, support skipping helpers
ginkgo.GinkgoHelper is a recent addition to ginkgo which allows functions to
mark themselves as helper. This then changes which callstack gets reported for
failures. It makes sense to support the same mechanism also for logging.

There's also no reason why framework.Logf should produce output that is in a
different format than klog log entries. Having time stamps formatted
differently makes it hard to read test output which uses a mixture of both.
Another user-visible advantage is that the error log entry from
framework.ExpectNoError now references the test source code.

With textlogger there is a simple replacement for klog that can be reconfigured
to let the caller handle stack unwinding. klog itself doesn't support that
and should be modified to support it (feature freeze).

Emitting printf-style output via that logger would work, but become less
readable because the message string would get quoted instead of printing it
verbatim as before. So instead, the traditional klog header gets reproduced
in the framework code. In this example, the first line is from klog, the second
from Logf:

    I0111 11:00:54.088957  332873 factory.go:193] Registered Plugin "containerd"
    ...
      I0111 11:00:54.987534 332873 util.go:506] >>> kubeConfig: /var/run/kubernetes/admin.kubeconfig

Indention is a bit different because the initial output is printed before
installing the logger which writes through ginkgo.GinkgoWriter.

One welcome side effect is that now "go vet" detects mismatched parameters for
framework.Logf because fmt.Sprintf is called without mangling the format
string. Some of the calls were incorrect.
2024-01-20 18:23:31 +01:00
Patrick Ohly
dd0cee4895 e2e node runner: remove dependency on e2e/framework
A stand-alone binary shouldn't import the test/e2e/framework, which is targeted
towards usage in a Ginkgo test suite. This currently works, but will break once
test/e2e/framework becomes more opinionated about how to configure logging.

The simplest solution is to duplicate the one short function that the binary
was calling in the framework.
2024-01-20 18:23:31 +01:00
Qi Ni
3bf2bf8191 chore: Cleanup in-tree credential provider azure and cloud provider azure 2024-01-20 15:18:31 +08:00
Kubernetes Prow Robot
2d4100335e Merge pull request #122866 from pohly/e2e-klog-fatal
e2e: replace klog.Fatal with assertion
2024-01-19 19:22:14 +01:00
Kubernetes Prow Robot
42c89fdc25 Merge pull request #122727 from carlory/fix-122376
Fix flaking test: CSI Mock workload info CSI PodInfoOnMount Update
2024-01-19 17:29:21 +01:00
Lukasz Szaszkiewicz
41e706600a client-go/reflector: make UseWatchList a pointer
until #115478(use streaming against the etcd storage)
is resolved the cacher need a way to disable the streaming.
2024-01-19 14:40:18 +01:00
Patrick Ohly
de014579a1 e2e: enforce usage of WithFlaky instead of [Flaky]
Now that we have it (8a89a1f5a5), let's also make sure that
the new WithFlaky is used everywhere instead if [Flaky]. This way it can be
used for filtering by label.
2024-01-19 12:17:37 +01:00
Patrick Ohly
e3ee4e3585 e2e: replace klog.Fatal with assertion
Using klog.Fatal to abort a test leads to a poor user experience because the
output is buffered in ginkgo.GinkgoWriter and not flushed before killing the
process. The output is also different from other failures. Using the normal
error checking is better.

Before:

    $ KUBECONFIG=/no/such/config go test -v ./test/e2e/
      Jan 19 10:06:58.475: INFO: The --provider flag is not set. Continuing as if --provider=skeleton had been used.
    === RUN   TestE2E
      I0119 10:06:58.475844   99472 e2e.go:109] Starting e2e run "5303f626-ae0e-44d7-abf1-b4956d910ef4" on Ginkgo node 1
    Running Suite: Kubernetes e2e suite - /nvme/gopath/src/k8s.io/kubernetes/test/e2e
    =================================================================================
    Random Seed: 1705655217 - will randomize all specs

    Will run 4678 of 7421 specs
    goroutine 817 [running]:
    k8s.io/klog/v2/internal/dbg.Stacks(0x0)
    	/nvme/gopath/src/k8s.io/kubernetes/vendor/k8s.io/klog/v2/internal/dbg/dbg.go:35 +0x85
    k8s.io/klog/v2.(*loggingT).output(0x9d92b20, 0x3, 0x0, 0xc00069d7a0, 0x2, {0x834c6e8?, 0x9d91c80?}, 0x300000060?, 0x0)
    ...
    k8s.io/klog/v2.Fatal(...)
    	/nvme/gopath/src/k8s.io/kubernetes/vendor/k8s.io/klog/v2/klog.go:1652
    k8s.io/kubernetes/test/e2e.setupSuite({0x7fb49064c078, 0xc003072360})
    	/nvme/gopath/src/k8s.io/kubernetes/test/e2e/e2e.go:187 +0x125
    ...
    FAIL	k8s.io/kubernetes/test/e2e	0.759s
    FAIL

After:

    $ KUBECONFIG=/no/such/config go test -v ./test/e2e/
      Jan 19 10:12:58.889: INFO: The --provider flag is not set. Continuing as if --provider=skeleton had been used.
    === RUN   TestE2E
      I0119 10:12:58.889224  106019 e2e.go:109] Starting e2e run "bed5a77a-f595-42d0-b512-5f601067444b" on Ginkgo node 1
    Running Suite: Kubernetes e2e suite - /nvme/gopath/src/k8s.io/kubernetes/test/e2e
    =================================================================================
    Random Seed: 1705655578 - will randomize all specs

    Will run 4678 of 7421 specs
    ------------------------------
    [SynchronizedBeforeSuite] [FAILED] [0.001 seconds]
    [SynchronizedBeforeSuite]
    /nvme/gopath/src/k8s.io/kubernetes/test/e2e/e2e.go:69

      Timeline >>
      Jan 19 10:12:59.063: INFO: >>> kubeConfig: /no/such/config
      Jan 19 10:12:59.063: INFO: Unexpected error: Error loading client:
          <*errors.errorString | 0xc00182c130>:
          error creating client: error loading KubeConfig: open /no/such/config: no such file or directory
          {
              s: "error creating client: error loading KubeConfig: open /no/such/config: no such file or directory",
          }
      [FAILED] in [SynchronizedBeforeSuite] - /nvme/gopath/src/k8s.io/kubernetes/test/e2e/e2e.go:186 @ 01/19/24 10:12:59.064
      << Timeline

      [FAILED] Error loading client: error creating client: error loading KubeConfig: open /no/such/config: no such file or directory
      In [SynchronizedBeforeSuite] at: /nvme/gopath/src/k8s.io/kubernetes/test/e2e/e2e.go:186 @ 01/19/24 10:12:59.064
    ------------------------------

    Summarizing 1 Failure:
      [FAIL] [SynchronizedBeforeSuite]
      /nvme/gopath/src/k8s.io/kubernetes/test/e2e/e2e.go:186

    Ran 0 of 7421 Specs in 0.001 seconds
    FAIL! -- A BeforeSuite node failed so all tests were skipped.
    --- FAIL: TestE2E (0.18s)
    FAIL
    FAIL	k8s.io/kubernetes/test/e2e	0.769s
    FAIL
2024-01-19 10:14:07 +01:00
carlory
427e0fadba Fix flaking test: CSI Mock workload info CSI PodInfoOnMount Update 2024-01-19 14:28:13 +08:00
Kubernetes Prow Robot
afb1523bf4 Merge pull request #122833 from kannon92/add-density-test-flake
mark density tests as flaky
2024-01-18 19:03:11 +01:00
Kevin Hannon
8a89a1f5a5 mark density tests as flaky 2024-01-18 09:50:39 -05:00
Kubernetes Prow Robot
2624e93d55 Merge pull request #122823 from pohly/e2e-deadcode-removal
e2e: remove dead code
2024-01-17 22:42:51 +01:00
Kubernetes Prow Robot
b26f6dfce9 Merge pull request #121783 from atwamahmoud/ignore-scheduler-tests
Add tests for ignoring scheduler processing
2024-01-17 18:33:47 +01:00
Patrick Ohly
8f4c9c7605 k8s.io/component-base/logs: replace klog text implementation
This replaces the klog formatting and message routing with a simpler
implementation that uses less code. The main difference is that we skip the
entire unused message routing.

Instead, the same split output streams as for JSON gets implemented in the
io.Writer implementation that gets passed to the textlogger.
2024-01-17 13:50:03 +01:00
Patrick Ohly
3aa366a3eb e2e: remove dead code
The dead code was found with:

    deadcode -test -filter=k8s.io/kubernetes/test/e2e/framework/... ./test/e2e ./test/e2e_node ./test/e2e_node ./test/e2e_kubeadm

See https://go.dev/blog/deadcode for an introduction.

Only dead code which is clearly not needed anymore (glog logging),
questionable (skipping based on feature gates) or
redundant (WaitForPodSuccessInNamespaceSlow) gets removed for now. More
removals might make sense in the future.
2024-01-17 12:57:35 +01:00
Kubernetes Prow Robot
c1fff408c0 Merge pull request #120254 from ionutbalutoiu/windows-tests/conn-check-retries
windows-tests: Add retries to Windows `assertConsistentConnectivity` …
2024-01-17 02:21:38 +01:00
Mahmoud Atwa
ec89154276 Handles clean up errors 2024-01-16 11:53:55 +00:00
Mahmoud Atwa
80fbc4c319 Revert using ginkgo.DeferCleanup as it doesn't run in the correct order 2024-01-16 10:45:36 +00:00
Aravindh Puthiyaparambil
66ea02684b e2e: add NodeLogQuery tests for Windows nodes 2024-01-15 16:08:22 -08:00
Kubernetes Prow Robot
591a5c0bff Merge pull request #122764 from sanposhiho/scheduler_perf-doc
doc(scheduler_perf): enrich the documentation
2024-01-15 13:39:26 +01:00
Kensei Nakada
f29d6970c9 doc(scheduler_perf): enrich the documentation 2024-01-15 08:50:08 +00:00
Kubernetes Prow Robot
f174bfd067 Merge pull request #122770 from thockin/run_test_instrumentation_updates
Run test/instrumentation/update-*
2024-01-15 01:08:32 +01:00
Tim Hockin
0c3e49e64c Run test/instrumentation/update-* 2024-01-14 10:24:35 -08:00
Kubernetes Prow Robot
12fc215656 Merge pull request #122663 from aroradaman/drop-ct-state-invalid-rule
pkg/proxy/nftables: drop conntrack state invalid rule
2024-01-13 19:01:16 +01:00
Benjamin Elder
08645984b0 Revert "Save a list of images used by e2e.test"
This reverts commit a3c4a60995.
2024-01-12 13:15:01 -08:00
Mahmoud Atwa
73565cde13 Use gomega.Consistently instead of sleeping 2024-01-12 16:26:06 +00:00
Patrick Ohly
04b772c661 logs benchmark: really write through pipe
While the benchmark is focused on encoding, it becomes a bit more realistic
when actually passing the encoded data to the Linux kernel. Features like
output buffering are more likely to have a visible effect when invoking
syscalls.
2024-01-12 07:49:17 +01:00
Patrick Ohly
7f1a30f8d5 logs benchmark: fix config handling
The logs config must be reset explicitly now when changing it multiple times
per process.
2024-01-12 07:49:17 +01:00
cpanato
a5861a1262 [go] Bump images, dependencies and versions to go 1.21.6 and distroless iptables to 0.4.4
Signed-off-by: cpanato <ctadeu@gmail.com>
2024-01-11 11:54:35 +01:00