Commit Graph

23336 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
d415647739
Merge pull request #115441 from bobbypage/busybox-mirror-test
test: Use preloaded busybox image in mirror pod test
2023-02-01 12:21:36 -08:00
Sarvesh Rangnekar
9875c1b661 Add integration tests for MultiCIDRRangeAllocator
Adds integration tests for the following scenarios with
MultiCIDRRangeAllocator enabled:
- ClusterCIDR is released when an associated node is deleted.
- ClusterCIDR delete when a node is associated, validate the finalizer
  behavior, make sure that deleted ClusterCIDR is cleaned up after the
  associated node is deleted.
- ClusterCIDR marked as terminating due to deletion must not be used for
  allocating PodCIDRs to new nodes.
- Tie break behavior when multiple ClusterCIDRs are eligible to
  allocate PodCIDRs to a node.
2023-02-01 13:48:07 +00:00
Kubernetes Prow Robot
36450ee422
Merge pull request #115423 from pohly/scheduler-perf-goroutine-leak
scheduler perf: goroutine leak
2023-02-01 04:51:06 -08:00
Patrick Ohly
a7f658e442 test/integration: fix Broadcaster leak
When starting a scheduler, the event broadcaster for it wasn't stopped.
2023-02-01 12:42:50 +01:00
Kubernetes Prow Robot
3a4cef70f2
Merge pull request #115445 from bobbypage/gh-115381
test: Fix node e2e device plugin flake
2023-02-01 02:55:06 -08:00
xin.li
6ad156d80e Cleanup: modify some sentences about statefulset
Signed-off-by: xin.li <xin.li@daocloud.io>
2023-02-01 18:41:08 +08:00
Kubernetes Prow Robot
bb7c9739a3
Merge pull request #114759 from my-git9/chore/k8staint
chore: add k8s node-role.kubernetes.io/control-plane taint
2023-01-31 21:01:17 -08:00
David Porter
225658884b test: Fix node e2e device plugin flake
The device plugin test expects that no other pods are running prior to
the test starting. However, it has been observed that in some cases
some resources may still be around from previous tests. This is because
the deletion of resources from other tests is handled by deleting that
test's framework's namespace which is done asynchronously without
waiting for the other test's namespace to be deleted.

As a result, when the node e2e device plugin starts, there may still be
other pods in process of termination. To work around this, add a retry
to the device plugin test to account for the time it takes to delete the
resources from the prior test.

Signed-off-by: David Porter <david@porter.me>
2023-01-31 17:36:10 -08:00
Kubernetes Prow Robot
046595f11f
Merge pull request #115437 from bobbypage/115219-followup
test: Update runtime class detection logic
2023-01-31 17:05:19 -08:00
Kubernetes Prow Robot
abf8f35356
Merge pull request #113896 from nilekhc/kms-hot-reload-tests
chore: improves tests for hot reload of encryptionconfig
2023-01-31 15:50:53 -08:00
David Porter
a3291a87d7 test: Use preloaded busybox image in mirror pod test
Instead of hardcoding the busybox image, use the one that is preloaded
during the test using imageutils.

Signed-off-by: David Porter <david@porter.me>
2023-01-31 13:34:13 -08:00
David Porter
83652673b6 test: Update runtime class detection logic
In the `NodeSupportsPreconfiguredRuntimeClassHandler`, update the check
for the runtime handler to return a failure if the
`/etc/containerd/config.toml` or `/etc/crio/crio.conf` config files do
not exist. If an error is returned, then the underlying test will be
skipped.

Test manually with starting a kind cluster and moving the containerd
config file and verifying that the test is skipped:

```
$ docker exec -it kind-worker /bin/bash
root@kind-worker:/# mv /etc/containerd/config.toml /etc/containerd/config.toml.bak
```

```
make WHAT="test/e2e/e2e.test"
$ ./_output/bin/e2e.test -kubeconfig /tmp/kubeconfig_kind -ginkgo.focus=".*should run a Pod requesting a RuntimeClass with a configured handler.*" --num-nodes=1 2>&1 -ginkgo.v=1 | tee -i "/tmp/build-log.txt"

[sig-node] RuntimeClass [It] should run a Pod requesting a RuntimeClass with a configured handler [NodeFeature:RuntimeHandler]
test/e2e/common/node/runtimeclass.go:85

  [SKIPPED] Skipping test as node does not have E2E runtime class handler preconfigured in container runtime config: command terminated with exit code 1
```

Signed-off-by: David Porter <david@porter.me>
2023-01-31 11:38:49 -08:00
Antonio Ojea
5b22b13f68 Revert "Add integration tests for MultiCIDRRangeAllocator"
This reverts commit 203b91c486.
2023-01-31 17:13:23 +00:00
Kubernetes Prow Robot
eaa5104dee
Merge pull request #115214 from ii/create-apiservice-test-v4
Write APIService lifecycle test + 4 Endpoints
2023-01-31 07:38:49 -08:00
Kubernetes Prow Robot
c2299bc65f
Merge pull request #115411 from bobbypage/gh-115380
test: Bump timeout for `runPausePod`
2023-01-31 05:25:02 -08: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
Patrick Ohly
5973e2c8cb e2e pod: unit test for pod status + API error
This covers new behavior in gomega.
2023-01-31 13:01:39 +01:00
Patrick Ohly
901928cd54 e2e pod: remove dead code 2023-01-31 13:01:39 +01:00
Patrick Ohly
f5782f1dbd e2e pod: use gomega.Eventually in WaitForRestartablePods 2023-01-31 13:01:39 +01:00
Patrick Ohly
5d8e970be6 e2e pod: convert ProxyResponseChecker into matcher
Instead of pod responses being printed to the log each time polling fails, we
get a consolidated failure message with all unexpected pod responses if (and
only if) the check times out or a progress report gets produced.
2023-01-31 13:01:39 +01:00
Patrick Ohly
3b579fca91 e2e: consolidate pod response checking
This renames PodsResponding to WaitForPodsResponding for the sake of
consistency and adds a timeout parameter. That is necessary because some other
users of NewProxyResponseChecker used a much lower timeout (2min vs. 15min).

Besides simplifying some code, it also makes it easier to rewrite
ProxyResponseChecker because it only gets used in WaitForPodsResponding.
2023-01-31 13:01:39 +01:00
Patrick Ohly
4491c80074 e2e pod: use gomega.Eventually in WaitForPodNotFoundInNamespace 2023-01-31 13:01:39 +01:00
Patrick Ohly
6eea1b2efa e2e: replace WaitForPodToDisappear with WaitForPodNotFoundInNamespace
WaitForPodToDisappear was always called such that it listed all pods, which
made it less efficient than trying to get just the one pod it was checking for.

Being able to customize the poll interval in practice wasn't useful, therefore
it can be replaced with WaitForPodNotFoundInNamespace.
2023-01-31 13:01:39 +01:00
Kubernetes Prow Robot
f8cb002452
Merge pull request #115291 from sarveshr7/multicidr-tests
Add integration tests for MultiCIDRRangeAllocator
2023-01-31 01:47:00 -08:00
Stephen Heywood
27c8184e17 Update Conformance metadata for e2e test 2023-01-31 22:09:42 +13:00
Stephen Heywood
539d0a0f6c Create APIService lifecycle e2e test
The test validates the following endpoints
- deleteApiregistrationV1CollectionAPIService
- patchApiregistrationV1APIServiceStatus
- replaceApiregistrationV1APIService
- replaceApiregistrationV1APIServiceStatus
2023-01-31 20:47:51 +13:00
Patrick Ohly
4740d34edb e2e: consolidate checking a pod list
WaitForPods is now a generic function which lists pods and then checks the pods
that it found against some provided condition. A parameter determines how many
pods must be found resp. match the condition for the check to succeed.
2023-01-31 07:52:26 +01:00
Patrick Ohly
cd0c756c72 e2e pod: use gomega.Eventually in WaitTimeoutForPodReadyInNamespace/WaitForPodCondition
These get converted together because they relied on FinalErr which now isn't
needed anymore.
2023-01-31 07:52:26 +01:00
Patrick Ohly
5c1723d81f e2e framework: support getting list of objects
This is similar to the previous support for getting a single object.
2023-01-31 07:52:26 +01:00
Patrick Ohly
671835e976 e2e pod: use gomega.Eventually in WaitForPodsRunningReady
The code becomes simpler (78 insertions, 91 deletions), easier to read (all
code entirely inside WaitForPodsRunningReady, no need to declare and later
overwrite variables) and possibly more correct (if all API calls failed,
the resulting error was ignored when allowedNotReadyPods > 0).
2023-01-31 07:52:26 +01:00
Patrick Ohly
b6ede21ff1 e2e framework: turn function into gomega.Matcher
The intention is to use this inside a helper function where the
corresponding Expect call is known.
2023-01-31 07:52:26 +01:00
Patrick Ohly
3ebab68c8a e2e: remove unused label filter from WaitForPodsRunningReady
None of the users of the functions passed anything other than nil or an empty
map and the implementation ignore the parameter - it seems like a candidate for
simplification.
2023-01-31 07:52:26 +01:00
Patrick Ohly
1b5da1035a e2e framework: include additional stack backtrace in failures
When a Gomega failure is converted to an error, the stack at the time when the
failure occurs may be useful: error wrapping provides some bread crumbs that
can be followed to determine where the failure really occurred, but error
wrapping may be missing or ambiguous.

To provide the additional information, a FailureError now includes a full stack
backtrace. The backtrace intentionally makes no attempt to exclude framework
functions besides the gomega support itself because helpers like
e2e/framework/pod may be relevant.

That backtrace is not included in the failure message for the sake of
brevity. Instead, it gets logged as part of the test's output.
2023-01-31 07:52:26 +01:00
Patrick Ohly
e8a50b0583 e2e framework: implement pod polling with gomega.Eventually
gomega.Eventually provides better progress reports: instead of filling up the
log with rather useless one-line messages that are not enough to to understand
the current state, it integrates with Gingko's progress reporting (SIGUSR1,
--poll-progress-after) and then dumps the same complete failure message as
after a timeout. That makes it possible to understand why progress isn't
getting made without having to wait for the timeout.

The other advantage is that the failure message for some unexpected pod state
becomes more readable: instead of encapsulating it as "observed object" inside
an error, it directly gets rendered by gomega.
2023-01-31 07:52:26 +01:00
Patrick Ohly
0872e8d927 e2e framework: gomega assertions as errors
Calling gomega.Expect/Eventually/Consistently deep inside a helper call chain
has several challenges:
- the stack offset must be tracked correctly, otherwise the callstack
  for the failure starts at some helper code, which is often not informative
- augmenting the failure message with additional information from each
  caller implies that each caller must pass down a string and/or format
  string plus arguments

Both challenges can be solved by returning errors:
- the stacktrace is taken at that level where the error is
  treated as a failure instead of passing back an error, i.e.
  inside the It callback
- traditional error wrapping can add additional information, if
  desirable

What was missing was some easy way to generate an error via a gomega
assertion. The new infrastructure achieves that by mirroring the
Gomega/Assertion/AsyncAssertion interfaces with errors as return values instead
of calling a fail handler.

It is intentionally less flexible than the gomega APIs:
- A context must be passed to Eventually/Consistently as first
  parameter because that is needed for proper timeout handling.
- No additional text can be added to the failure through this
  API because error wrapping is meant to be used for this.
- No need to adjust the callstack offset because no backtrace
  is recorded when a failure occurs.

To avoid the useless "unexpected error" log message when passing back a gomega
failure, ExpectNoError gets extended to recognize such errors and then skips
the logging.
2023-01-31 07:52:26 +01:00
Patrick Ohly
b3366ce895 e2e storage: remove WaitForPodTerminatedInNamespace
Calling WaitForPodTerminatedInNamespace after testFlexVolume is useless because
the client pod that it waits for always gets deleted by testVolumeClient:

0fcc3dbd55/test/e2e/framework/volume/fixtures.go (L541-L546)

Worse, because WaitForPodTerminatedInNamespace treats "not found" as "must keep
polling", these two tests always kept waiting for 5 minutes:

    Kubernetes e2e suite: [It] [sig-storage] Flexvolumes should be mountable
    when non-attachable 	6m4s

The only reason why these tests passed is that WaitForPodTerminatedInNamespace
used to return the "not found" API error. That is not guaranteed and about to
change.
2023-01-31 07:52:26 +01:00
Kubernetes Prow Robot
f9a3fd2810
Merge pull request #115346 from gnufied/set-staging-path-expansion
Set node_stage_path whenever available
2023-01-30 21:38:47 -08:00
David Porter
71719a6036 test: Bump timeout for runPausePod
The `runPausePod` timeout was 1 minute previously which appears to be
too short and timing out in some tests.

Switch to `f.Timeouts.PodStartShort` which is the common timeout used to wait
for pods to start which defaults to 5min.

Also refactor to remove `runPausePodWithoutTimeout` and instead rely on
`runPausePod` since we do not make the timeout customizable directly
(it can be changed via the test framework if desired).

Signed-off-by: David Porter <david@porter.me>
2023-01-30 21:27:59 -08:00
Kubernetes Prow Robot
981c4d59fb
Merge pull request #115155 from adrianreber/2023-01-18-checkpoint-test-result
Extend checkpoint e2e test to check for results
2023-01-30 18:43:16 -08:00
Kubernetes Prow Robot
4df945853e
Merge pull request #115137 from swatisehgal/topologymgr-metrics
node: topologymgr: add metrics about admission requests and errors
2023-01-30 18:43:00 -08:00
Kubernetes Prow Robot
3244ebd532
Merge pull request #113973 from my-git9/invalidurl
fix invalid url
2023-01-30 18:42:48 -08:00
Kante Yin
3d0894fabf
Fix failure(context canceled) in scheduler_perf benchmark (#114843)
* Fix failure in scheduler_perf benchmark

Signed-off-by: Kante Yin <kerthcet@gmail.com>

* Fatal when error in cleaning up nodes in scheduler perf tests

Signed-off-by: Kante Yin <kerthcet@gmail.com>

* Use derived context to better organize the codes

Signed-off-by: Kante Yin <kerthcet@gmail.com>

* Change log level to 2 in scheduler perf-test

Signed-off-by: Kante Yin <kerthcet@gmail.com>

---------

Signed-off-by: Kante Yin <kerthcet@gmail.com>
2023-01-30 16:21:00 -08:00
Kubernetes Prow Robot
2eb2c88b1d
Merge pull request #109869 from mauriciopoppe/ephemeral-generic-patch-sc
Skip Generic Ephemeral Volume tests if VolumeBindingMode is immediate and it's a multi-topology environment
2023-01-30 16:20:48 -08:00
Nilekh Chaudhari
b3f326722d
chore: improves tests
Signed-off-by: Nilekh Chaudhari <1626598+nilekhc@users.noreply.github.com>
2023-01-30 23:18:14 +00:00
Kubernetes Prow Robot
d863d04adc
Merge pull request #114580 from pohly/e2e-ginkgo-timeout-fixes
e2e ginkgo timeout fixes, III
2023-01-30 13:48:48 -08:00
Sarvesh Rangnekar
203b91c486 Add integration tests for MultiCIDRRangeAllocator
Adds integration tests for the following scenarios with
MultiCIDRRangeAllocator enabled:
- ClusterCIDR is released when an associated node is deleted.
- ClusterCIDR delete when a node is associated, validate the finalizer
  behavior, make sure that deleted ClusterCIDR is cleaned up after the
  associated node is deleted.
- ClusterCIDR marked as terminating due to deletion must not be used for
  allocating Pod CIDRs to new nodes.
- Tie break behavior when multiple ClusterCIDRs are eligible to
  allocate Pod CIDRs to a node.
2023-01-30 20:42:55 +00:00
Chris Henzie
dbc7d8ded0 feat: support preemption for pods using ReadWriteOncePod PVCs
PVCs using the ReadWriteOncePod access mode can only be referenced by a
single pod. When a pod is scheduled that uses a ReadWriteOncePod PVC,
return "Unschedulable" if the PVC is already in-use in the cluster.

To support preemption, the "VolumeRestrictions" scheduler plugin
computes cycle state during the PreFilter phase. This cycle state
contains the number of references to the ReadWriteOncePod PVCs used by
the pod-to-be-scheduled.

During scheduler simulation (AddPod and RemovePod), we add and remove
reference counts from the cycle state if they use any of these
ReadWriteOncePod PVCs.

In the Filter phase, the scheduler checks if there are any PVC reference
conflicts, and returns "Unschedulable" if there is a conflict.

This is a required feature for the ReadWriteOncePod beta. See for more context:
https://github.com/kubernetes/enhancements/tree/master/keps/sig-storage/2485-read-write-once-pod-pv-access-mode#beta
2023-01-30 10:59:22 -08:00
Kubernetes Prow Robot
4b074c816e
Merge pull request #115298 from knelasevero/StartTestServerCtx
Pass context to StartTestServer to get contextualized logger from it during tests
2023-01-30 09:07:12 -08:00
Kubernetes Prow Robot
97636ed781
Merge pull request #115382 from liggitt/typecheck-stdlib
Avoid typechecking stdlib
2023-01-29 16:15:00 -08:00
Jordan Liggitt
a5d7f516d4
Avoid typechecking stdlib 2023-01-28 23:32:50 -05:00
Kubernetes Prow Robot
8e642d3d0d
Merge pull request #115310 from mzaian/etcd-3.5.7-build-image
etcd: Update to version 3.5.7
2023-01-28 10:20:42 -08:00
Kubernetes Prow Robot
86455ae12e
Merge pull request #115094 from GCES-Kubernetes-2022-2/e2e-apps
E2e apps
2023-01-28 08:52:34 -08:00
Paulo Gonçalves Lima
d1278a0830 Fix: Improves the log for failing tests in e2e/apps.
Issue #105678
2023-01-28 02:50:32 -03:00
songxiao-wang87
8c7f3c2116 Making a run test.
Signed-off-by: songxiao-wang87 <wang.xiaosong23@zte.com.cn>
2023-01-28 03:14:57 +00:00
Hemant Kumar
32851bb316 Add e2e for node expansion with missing staging path 2023-01-27 16:51:21 -05:00
Mohamed Zaian
90570b7595 etcd: Update to version 3.5.7 2023-01-27 17:24:00 +01:00
Richa Banker
452343367c Enable ComponentSLIs as beta feature 2023-01-26 17:46:21 -08:00
Richa Banker
eb55e2b980 Add e2e test for checking /metrics/slis endpoint for API server 2023-01-26 17:46:21 -08:00
Kubernetes Prow Robot
cec91d9c00
Merge pull request #115219 from bobbypage/gh-108804-skipper
e2e node: Update runtime class handler skip logic
2023-01-26 17:42:25 -08:00
Kubernetes Prow Robot
0e6f4d3a35
Merge pull request #115271 from kevindelgado/field-validation-conformance
Field validation e2e tests and GA graduation
2023-01-26 09:34:26 -08:00
Kubernetes Prow Robot
ea09f81009
Merge pull request #115311 from atwamahmoud/fix-scaleup-hpa-e2e-tests
Decrease target value for scale up tests in HPA
2023-01-26 07:34:26 -08:00
Kevin Delgado
2d5ceb9b15 drop Enabled() checks for ServerSideFieldValidation feature gate 2023-01-26 14:16:58 +00:00
Kubernetes Prow Robot
3d6c7efc23
Merge pull request #115322 from aojea/hotfix
Fix panic on ClusterIP allocation for /28 subnets
2023-01-26 00:38:26 -08:00
David Porter
6cb022ff4a test: Update Host Exec to support node e2e
Node E2E tests do not run a scheduler, so the host exec pod must have
the `spec.nodeName` set explicitly.

Signed-off-by: David Porter <david@porter.me>
2023-01-26 00:37:01 -08:00
Kubernetes Prow Robot
fab126d7f3
Merge pull request #113121 from aramase/expiring-cache
kmsv2: implement expire cache with clock
2023-01-25 19:04:25 -08:00
Anish Ramasekar
4804baa011
kmsv2: implement expire cache with clock
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>
2023-01-25 22:50:32 +00:00
Antonio Ojea
ea99593fa1 Fix panic on ClusterIP allocation for /28 subnets
The ClusterIP allocator tries to reserve on part of the ServiceCIDR
to allocate static IPs to the Services.

The heuristic of the allocator to obtain the offset was taking into
account the whole range size, not the IPs available in the range, the
subnet address and the broadcast address for IPv4 are not available.

This caused that for CIDRs with 16 hosts, /28 for IPv4 and /124 for
IPv6, the offset calculated was higher than the max number of available
addresses on the allocator, causing this to panic.

Change-Id: I6c6f527b0a600b3612be37769e405b8fb3dd33a8
2023-01-25 20:32:40 +00:00
Mahmoud Atwa
72d96f61d0 Decrease target value for scale up tests in HPA 2023-01-25 12:58:38 +00:00
David Porter
b96290c08f e2e node: Update runtime class handler skip logic
There are two runtime class tests which required the container runtime
config to include explicit configuration for `test-handler`. The current
logic skips these tests in non GCE environments. This skip is too strict
since the test is skipped in node e2e environments and in other
environments such as kind, which support running the test and also
configure `test-handler`.

Instead of skipping based on provider, add a new function
`NodeSupportsPreconfiguredRuntimeClassHandler` which examines the
underlying container runtime config and checks if the config includes
`test-handler`. The check is a bit brittle since it assumes container
runtime config paths, but it is a net improvement over skipping the test
entirely on non GCE environments.

This results in the test working in the common test environments, namely
GCE kube-up, node e2e, and kind.

Signed-off-by: David Porter <david@porter.me>
2023-01-24 14:43:24 -08:00
Lucas Severo Alves
096d2e5895 remove unwanted newlines 2023-01-24 21:45:32 +01:00
Kevin Delgado
3b6c4d307f Graduate field validation to GA 2023-01-24 17:48:57 +00:00
Kubernetes Prow Robot
703361f381
Merge pull request #115283 from daman1807/master
e2e/network_policy: using expected==observed as condition for polling probeConnectivity
2023-01-24 09:04:17 -08:00
Lucas Severo Alves
636f8e1a3e chore: changes needed before #111155 2023-01-24 17:55:32 +01:00
Kubernetes Prow Robot
c801053791
Merge pull request #115259 from MikeSpreitzer/fix115200
More carefully compose RequestURI for metrics request
2023-01-24 03:58:27 -08:00
Kubernetes Prow Robot
765f2ef7c7
Merge pull request #114981 from adisky/revert
[Test] Revert "Fix:[Flake] [sig-node] Restart [Serial] [Slow] [Disruptive] K…
2023-01-24 03:58:15 -08:00
Daman
a832d1dbdf e2e/network_policy: using expected==observed as condition for polling in probeConnectivity function 2023-01-24 03:59:01 +05:30
Kevin Delgado
f45505d19a Conformance tests for server side field validation 2023-01-23 18:30:58 +00:00
Adrian Reber
86b62b86d8
Extend checkpoint e2e test to check for results
When the e2e_node/checkpoint_container.go test was introduced no CRI
implementation supported the new CheckpointContainer RPC yet.

With the release of CRI-O 1.25 the CheckpointContainer is implemented
and the test has been extended to see if the content of the checkpoint
is as expected.

The test is skipped if the ContainerCheckpoint feature gate is disabled
or if the CRI implementation does not support the CheckpointContainer
RPC.

Signed-off-by: Adrian Reber <areber@redhat.com>
2023-01-23 18:07:35 +00:00
Mike Spreitzer
1d199db03e Carefully compute request path for metrics
Preserve the previx before "api/v1".
2023-01-23 09:44:21 -05:00
Patrick Ohly
bc6c7fa912 logging: fix names of keys
The stricter checking with the upcoming logcheck v0.4.1 pointed out these names
which don't comply with our recommendations in
https://github.com/kubernetes/community/blob/master/contributors/devel/sig-instrumentation/migration-to-structured-logging.md#name-arguments.
2023-01-23 14:24:29 +01:00
Kubernetes Prow Robot
0fcc3dbd55
Merge pull request #115240 from thockin/codegen-9-use-ls-files
Use `git ls-files` in a few places instead of `find`
2023-01-23 00:26:21 -08:00
Kubernetes Prow Robot
bec431642e
Merge pull request #115254 from dims/do-not-use-global-variable-for-etcd-url
Do not use a global variable for etcdURL
2023-01-22 15:26:15 -08:00
Tim Hockin
7229364f0a
Make generated-stable-metrics use git ls-files 2023-01-22 15:22:55 -08:00
Kubernetes Prow Robot
5a3540f462
Merge pull request #114825 from pohly/e2e-pod-consistently-pending
e2: fix check of "pod is consistently pending"
2023-01-22 12:56:02 -08:00
Davanum Srinivas
1671efe7a8
Do not use a global variable for etcdURL
we are saving this information in an env variable `KUBE_INTEGRATION_ETCD_URL`

So just pick it up from there when needed. Currently when someone uses
framework.RunCustomEtcd directly, the global variable is *not* set and the
code that uses `GetEtcdURL` returns empty string.

Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2023-01-22 14:11:26 -05:00
Kubernetes Prow Robot
d9c371a2c4
Merge pull request #115207 from daman1807/master
e2e/network_policy: using Poll Immediate for intra pod connectivity probes
2023-01-20 21:18:02 -08:00
Kubernetes Prow Robot
92f0818cf2
Merge pull request #114609 from pohly/log-runtime-verbosity-level
runtime log verbosity level changes
2023-01-20 19:34:02 -08:00
Kubernetes Prow Robot
b0ed87078e
Merge pull request #115113 from smarterclayton/exponential_context
wait: ExponentialBackoffWithContext should take context-aware fn
2023-01-20 07:38:15 -08:00
Daman
faee4c33de e2e/network_policy: using PollImmediate for intra pod connectivity probes 2023-01-20 20:05:28 +05:30
Kubernetes Prow Robot
02f893b6e2
Merge pull request #115125 from adisky/update-cni-version
Update CNI version to 1.2.0
2023-01-20 03:34:15 -08:00
Kubernetes Prow Robot
5fe3563ad7
Merge pull request #114915 from brianwang12/master
test images: Update CudaVectorAdd test image to support arm64
2023-01-19 20:30:14 -08:00
Kubernetes Prow Robot
56a14025b0
Merge pull request #115193 from SataQiu/update-storage-api-20230119
apiserver: update serialization version priority for policy API
2023-01-19 13:44:15 -08:00
Kubernetes Prow Robot
285e7969b2
Merge pull request #114544 from ritazh/kmsv2-keyid-staleness
[KMSv2] Use status key ID to determine staleness of encrypted data
2023-01-19 10:28:16 -08:00
Rita Zhang
510ac9b391
kmsv2: use status key ID to update staleness of encrypted data
Signed-off-by: Rita Zhang <rita.z.zhang@gmail.com>
2023-01-19 08:09:24 -08:00
Swati Sehgal
340db7109d node: e2e: topologymgr: add tests for topology manager metrics
Add node e2e tests to verify population of topology metrics.

Signed-off-by: Swati Sehgal <swsehgal@redhat.com>
2023-01-19 14:40:37 +00:00
Swati Sehgal
51c6a1fbe7 node: e2e: cpumgr: Rename: s/getCPUManagerMetrics/getKubeletMetrics
Since we need to gather kubelet metrics for CPU Manager and Topology
Manager, renaming this function to a more generic name.

Signed-off-by: Swati Sehgal <swsehgal@redhat.com>
2023-01-19 14:18:05 +00:00
SataQiu
571582b5b2 apiserver: update serialization version priority for policy API 2023-01-19 14:42:26 +08:00
briwan01
2aed699d8c test images: Update CudaVectorAdd test image to support arm64
Signed-off-by: briwan01 <Brian.Wang@arm.com>
2023-01-19 10:18:17 +08:00
Kubernetes Prow Robot
dfbe1c0120
Merge pull request #113789 from jsafrane/add-selinux-tests
Add multi-pod tests with SELinux mounts
2023-01-18 14:48:46 -08:00
Mike Danese
6bdb8ed566 switch spdy round trip tests to simple http proxy
github.com/elazarl/goproxy does not properly handle upgrades over HTTP
proxy. The problem is this misinterpretation:

6691876326/vendor/github.com/elazarl/goproxy/proxy.go (L89-L95)

These should be stripped but recalculated then added back:

https://cs.opensource.google/go/go/+/refs/tags/go1.19.3:src/net/http/httputil/reverseproxy.go;l=292-297;drc=f6d844510d5f1e3b3098eba255d9b633d45eac3b

Let's just stop using goproxy, and use the stdlib instead. The
functionality we need is straightforward to implement and goproxy is
overkill.
2023-01-18 18:31:50 +00:00
Viacheslav Panasovets
6adf60fdf4
Do not create endpoints if service of type ExternalName (#114814) 2023-01-18 03:12:34 -08:00
Aditi Sharma
d83c37c311 Update CNI version to 1.2.0
Signed-off-by: Aditi Sharma <adi.sky17@gmail.com>
2023-01-18 13:24:40 +05:30
Kubernetes Prow Robot
46f3821bf4
Merge pull request #114586 from andrewsykim/apiserver-lease-rename
Rename apiserver identity lease labels to apiserver.kubernetes.io/identity
2023-01-17 21:36:34 -08:00
Kubernetes Prow Robot
84200d0470
Merge pull request #115135 from Jefftree/rename-enum-integration
Rename enum openapi test
2023-01-17 16:06:47 -08:00
Kubernetes Prow Robot
c913e6ce62
Merge pull request #114542 from pacoxu/EphemeralContainers
cleanup: EphemeralContainers feature gate related codes
2023-01-17 11:18:34 -08:00
Kubernetes Prow Robot
f7b02260f6
Merge pull request #114922 from ibihim/kmsv2-interface-move
[KMSv2] apiserver/kmsv2: mv Service interface into kmsv2
2023-01-17 10:10:33 -08:00
Jefftree
a26174155d Rename enum integration test 2023-01-17 17:22:24 +00:00
Rahul Rangith
8924b58e2c Cleanup statefulset after e2e test 2023-01-17 10:21:42 -05:00
Rahul Rangith
392cd5ce8c Make e2e test not rely on local volumes 2023-01-17 10:21:42 -05:00
Rahul Rangith
e6a90aa48a PR feedback 2023-01-17 10:21:41 -05:00
Rahul Rangith
c1cc18ccd5 Automatically recreate pvc when sts pod is stuck in pending 2023-01-17 10:21:41 -05:00
Maciej Szulik
3d3da44e96
Wait for logs pod to complete before counting lines 2023-01-17 13:39:35 +01:00
Jan Safranek
b9c2449569 Rework createSELinuxMountPreHook to switch() 2023-01-17 11:23:19 +01:00
Jan Safranek
d2bb866d3f Remove useless Sprintf 2023-01-17 11:22:39 +01:00
Jan Safranek
de4ce7b58c Remove defer
Replace it with ginkgo.DeferCleanup
2023-01-17 11:22:12 +01:00
Patrick Ohly
a41424d4c8 k8s.io/component-base/logs: allow overriding os.Stdout and os.Stderr
This is useful for tests which need to discard or capture the output.
2023-01-17 10:25:57 +01:00
Patrick Ohly
9b86f457e9 k8s.io/component-base/logs: support changing verbosity of JSON output
The GlogSetter method is used by three components to change verbosity at
runtime through HTTP APIs. This used to work only for text output with klog
calls, but not for text output through the klog logger or for JSON output.

Now loggers can also provide a callback for changing their verbosity at
runtime. Implementing that implies that the Create factory method has to be
extended, which is an API break for the Go package, but not an API break for
the configuration file and command line flags, which is what matters for the
"api/v1" component API.
2023-01-17 10:25:54 +01:00
Krzysztof Ostrowski
b7701b00ea
apiserver/kmsv2: mv Service interface into kmsv2
Signed-off-by: Krzysztof Ostrowski <kostrows@redhat.com>
2023-01-17 10:05:16 +01:00
Paco Xu
ae574993c2 cleanup(kubectl-e2e): remove invalid comments 2023-01-17 10:13:21 +08:00
Clayton Coleman
34bfdc3635
wait: ExponentialBackoffWithContext should take context-aware fn
The condition methods will eventually all take a context. Since we
have been provided one, alter the accepted condition type and
change the four references in tree.

Collers of ExponentialBackoffWithContext should use a condition
aware function (ConditionWithContextFunc). If the context can be
ignored the helper ConditionFunc.WithContext can be used to convert
an existing function to the new type.
2023-01-16 14:57:57 -05:00
Kubernetes Prow Robot
62d7937b2e
Merge pull request #115046 from pacoxu/default-container-e2e
add e2e test for kubectl default container annotation
2023-01-16 08:42:50 -08:00
Paco Xu
b45f0a8def move kubectl log e2e to new file & add e2e test for kubectl default container annotation
Signed-off-by: Paco Xu <paco.xu@daocloud.io>
2023-01-16 21:29:43 +08:00
Patrick Ohly
6af5bf0585 e2e: enhance tests that check for pod staying pending
Using WaitTimeoutForPodRunningInNamespace followed by ExpectError was not very
precise (any error passed the check, not just the expected timeout) and
hard to read. Now the test's expectation is spelled out explicitly: the pod
must stay in pending.
2023-01-16 09:12:30 +01:00
Patrick Ohly
6b5f77b163 e2e framework/pod: add gomega matchers
They can be used for polling with a get function and gomega.Eventually or
gomega.Consistently.
2023-01-16 09:05:37 +01:00
Patrick Ohly
17eba2b2f7 e2e framework/pod: add Get helper
This helper will be used by several different tests and makes those tests more
readable.
2023-01-16 09:05:37 +01:00
Patrick Ohly
63ab23200b e2e framework: support polling with Get
These helper functions can be used in combination with
omega.Eventually/Consistently to implement polling of objects that is aware of
Kubernetes apiserver conventions:

- retry on certain errors instead of giving up,
  with "not found" handling decided by the caller (may or may not
  be fatal, depending on the test)
- sleep if requested by apiserver
2023-01-16 09:05:37 +01:00
Patrick Ohly
22341590bd e2e framework: add NamespacedName
The E2E framework contains several functions which only differ in how they get
name and namespace: from an API object (WaitForPodRunningInNamespace) or as
separate parameters (WaitTimeoutForPodRunningInNamespace).

NamespacedName and the NamedObject interface enable writing helper functions
that can be called with both an API object (like *v1.Pod, which implements
Object and thus NamedObject) and name+namespace string (via
NamespacedName).

The other advantage of NamespacedName is that the order of name and namespace
parameter cannot be mixed up.

NamespacedName was derived from k8s.io/apimachinery/pkg/types.NamespacedName. A
separate type in the framework package was chosen a) to avoid additional
imports in test code and b) because the interface might not be suitable for
k8s.io/apimachinery.
2023-01-16 09:05:37 +01:00
Patrick Ohly
1ec4c7a41c e2e framework: add test case for early abort of pod polling
The early exit support was added in 004c1b6441
but without a corresponding test case.
2023-01-16 09:05:36 +01:00
Paco Xu
70e56fa71a cleanup: EphemeralContainers feature gate related codes 2023-01-15 21:15:01 +08:00
Andrew Sy Kim
a7de3e15a5 apiserver: use the identity value in the apiserver identity hash
Signed-off-by: Andrew Sy Kim <andrewsy@google.com>
2023-01-13 16:20:14 -05:00
Andrew Sy Kim
fb066a883d apiserver: update lease identity prefix from kube-apiserver- to apiserver-
Signed-off-by: Andrew Sy Kim <andrewsy@google.com>
2023-01-13 15:37:22 -05:00
Andrew Sy Kim
423539cf96 test/integration/controlplane: add new apiserver identity test TestLeaseGarbageCollectionWithDeprecatedLabels
Signed-off-by: Andrew Sy Kim <andrewsy@google.com>
2023-01-13 15:37:22 -05:00
Andrew Sy Kim
3da0f1809c apiserver: update lease label key to apiserver.kubernetes.io/identity
Signed-off-by: Andrew Sy Kim <andrewsy@google.com>
2023-01-13 15:37:22 -05:00
Michal Wozniak
3833c0c349 PodGC should not add DisruptionTarget condition for pods which are in terminal phase 2023-01-13 18:28:44 +01:00
SataQiu
950c147db5 apiserver: update serialization version priority for flowcontrol API 2023-01-13 22:19:39 +08:00
Kubernetes Prow Robot
067fc449cd
Merge pull request #114260 from aojea/kubeproxylagtimeout
be more strict on e2e network timeouts
2023-01-12 16:03:12 -08:00
cpanato
eb38f1508a
releng: Update images, dependencies and version to Go 1.19.5
Signed-off-by: cpanato <ctadeu@gmail.com>
2023-01-12 13:43:57 +01:00
Kubernetes Prow Robot
457341c3d4
Merge pull request #114647 from kannon92/remove-legacy-job-tracking-job-controller
Removing Legacy Job Tracking Code
2023-01-12 04:38:53 -08:00
Kubernetes Prow Robot
0d6dc14051
Merge pull request #114783 from pohly/e2e-framework-timeouts
e2e framework: consolidate timeouts and intervals
2023-01-12 03:29:08 -08:00
Kubernetes Prow Robot
5b241820b7
Merge pull request #114417 from chendave/ginkgo_fix_spec
e2e: bring back total test spec for Ginkgo v2
2023-01-12 03:28:56 -08:00
Kubernetes Prow Robot
08d9a0ef5b
Merge pull request #113467 from pacoxu/psp-cleanup
Remove PodSecurityPolicy related code except client-go & API type
2023-01-11 14:28:07 -08:00
Rafa de Castro
a887a3b4fd
Changed code to improve output messages on error for files under test/e2e/apps (#109944)
* Improving the output of tests in case of error

* Better error message

Also, the condition in the second case was reversed

* Fixing 2 tests whose condition was inverted

* Again I got the conditions wrong

* Sorry for the confusion

* Improved error messages on failures
2023-01-11 02:11:44 -08:00
Aditi Sharma
0a7b2eeae0 Revert "Fix:[Flake] [sig-node] Restart [Serial] [Slow] [Disruptive] Kubelet should correctly account for terminated pods after restart"
This reverts commit 572360c5a5.
2023-01-11 15:05:49 +05:30
Kubernetes Prow Robot
7e97b4b322
Merge pull request #114868 from apelisse/private-internal-managers
fieldmanager: Make internal managers private
2023-01-10 16:33:19 -08:00
Kubernetes Prow Robot
a11ad04564
Merge pull request #114859 from pohly/e2e-ginkgo-spec-ordering
dependencies: update ginkgo to v2.7.0
2023-01-10 15:25:37 -08:00
Kubernetes Prow Robot
eca8503574
Merge pull request #114742 from Transmitt0r/autoscaling-enhance-assertions
Changed remaining code to improve output for files under test/e2e/autoscaling
2023-01-10 10:39:47 -08:00
Kubernetes Prow Robot
1c30eee9a8
Merge pull request #114693 from wzshiming/fix/test
Fix this e2e failure causes subsequent e2e failures altogether
2023-01-10 10:39:36 -08:00
kannon92
6dfaeff33c Remove Legacy Job Tracking 2023-01-10 14:52:54 +00:00
Kubernetes Prow Robot
2ed47bd81b
Merge pull request #114933 from gnufied/disable-multiple-pv-tests-vsphere
Disable multiple pv mount tests for vsphere intree driver
2023-01-10 03:05:26 -08:00
Patrick Ohly
0424c4654e e2e gcp: use timeout from f.Timeouts
This is simpler, no need to construct an entirely new struct anymore.
2023-01-10 11:36:45 +01:00
Kubernetes Prow Robot
d8b553cce8
Merge pull request #114769 from pohly/e2e-owners-pohly
test/OWNERS: add pohly as approver
2023-01-09 15:11:27 -08:00
Hemant Kumar
58e7b97b49 Disable multiple pv mount tests for vsphere intree driver 2023-01-09 16:20:17 -05:00
Patrick Ohly
cb1edc00ef Revert "e2e storage: define local PersistentVolume tests in deterministic order"
This reverts commit 5636418f10. Ginkgo is
now handling the random spec ordering.
2023-01-09 20:55:26 +01:00
Antoine Pelisse
adfc65ec23 Make internal managers private
This significantly reduces the surface area of the fieldmanager package
by hiding all the private "managers" objects, as well as the interface
that was made specifically for these. There is no reason to configure
these.
2023-01-09 10:10:17 -08:00
Patrick Ohly
0f9a8d38be e2e framework: configure poll interval+duration for gomega
Primarily this protects against accidentally polling with the default interval
of 10ms. Setting these defaults may also make some tests simpler because they
don't need to override the defaults.
2023-01-09 17:29:35 +01:00
Patrick Ohly
16a6f70e11 e2e: add PollInterval()
Various different tests all have their own poll intervals. As a start towards
consolidating that, the interval from test/e2e/framework/pod (as one of the
most common cases for polling) is moved into the framework.

Changing other helper packages and tests needs to follow.
2023-01-09 17:29:35 +01:00
Patrick Ohly
db394db398 e2e: move several timeouts from TestContext into TimeoutContext
This consolidates timeout handling. In the future, configuration of all
timeouts via a configuration file might get added. For now, the same three
legacy command line flags for the timeouts that get moved continue to be
supported.
2023-01-09 17:29:35 +01:00
Jan Safranek
03beb014f9 Update error context messages 2023-01-09 14:00:57 +01:00
Patrick Ohly
b721272a1e test/OWNERS: add pohly as approver
As technical lead in SIG Testing it would be useful to have the right to
approve test changes...
2023-01-09 09:54:10 +01:00
Patrick Ohly
c6da602168 OWNERS: remove sig-testing-approvers
It's not used enough to add any real value. Instead, it obscures the real
ownership when someone looks at an OWNERS file where it is used.
2023-01-09 09:54:10 +01:00
Stephen Heywood
befb7d4a6a Promote SubjectAccessReview e2e test to Conformance 2023-01-09 11:24:05 +13:00
Kubernetes Prow Robot
643353abfe
Merge pull request #114885 from enj/enj/i/etcd_path_all_features
Enable all features during etcd storage path test
2023-01-06 21:01:38 -08:00
Monis Khan
32c44b33e8
Enable all features during etcd storage path test
Signed-off-by: Monis Khan <mok@microsoft.com>
2023-01-06 20:41:46 -05:00
Ian K. Coolidge
cbb985a310 cpuset: Delete 'builder' methods
All usage of builder pattern is convertible to cpuset.New()
with the same or fewer lines of code.

Migrate Builder.Add to a private method of CPUSet, with a comment
that it is only intended for internal use to preserve immutable
propoerty of the exported interface.

This also removes 'require' library dependency, which avoids
non-standard library usage.
2023-01-06 23:32:51 +00:00
Ian K. Coolidge
f3829c4be3 cpuset: Rename 'NewCPUSet' to 'New' 2023-01-06 23:32:51 +00:00
Ian K. Coolidge
e5143d16c2 cpuset: Make 'ToSlice*' methods look like 'set' methods
In 'set', conversions to slice are done also, but with different names:

ToSliceNoSort() -> UnsortedList()
ToSlice() -> List()

Reimplement List() in terms of UnsortedList to save some duplication.
2023-01-06 23:32:51 +00:00
Ian K. Coolidge
a0c989b99a cpuset: Remove *Int64 methods
These are rarely used and can be accommodated with a trivial helper.
2023-01-06 23:32:51 +00:00
Ian K. Coolidge
67a057d4f2 cpuset: Remove 'MustParse' method
Removes exit/fatal from cpuset library.

Usage in podresources test was not necessary.

Library reference in cpu_manager_test was moved to a local function, and
converted to use e2e test framework error catching.
2023-01-06 23:32:51 +00:00
Kubernetes Prow Robot
be9d9a850d
Merge pull request #113959 from Jefftree/jefftree-owners
Update OWNERS for jefftree
2023-01-06 09:59:58 -08:00
Quan Tian
9b9f22f06b Fix unknown field error in deployment lifecycle e2e
The terminationGracePeriodSeconds field was capitalized wrongly, leading
to unknown field warning when running deployment lifecycle e2e:

STEP: patching the Deployment @ 01/06/23 10:59:25.969
W0106 10:59:25.978292  433473 warnings.go:70] unknown field "spec.template.spec.TerminationGracePeriodSeconds"

The issue was undiscovered because the patched value didn't change, so
the test would succeed anyway.

Signed-off-by: Quan Tian <qtian@vmware.com>
2023-01-06 19:10:40 +08:00
Paco Xu
25686a2c77 remove psp in extensions api/apis 2023-01-06 17:07:02 +08:00
Kubernetes Prow Robot
52cb0c28ce
Merge pull request #114820 from TommyStarK/test-integration/replace-deprecated-pointer-function
test/integration: Replace deprecated pointer function
2023-01-05 13:58:11 -08:00
Kubernetes Prow Robot
c6594f6c98
Merge pull request #114848 from TommyStarK/test-e2e/replace-deprecated-pointer-function
test/e2e: Replace deprecated pointer function
2023-01-05 12:54:09 -08:00
Kubernetes Prow Robot
8dd70a16ad
Merge pull request #114699 from kerthcet/feat/distinguish-unschedulabel-with-unresolvable
Distinguish between Unschedulable and UnschedulableAndUnresolvable in scheduler's PostFilter
2023-01-05 12:53:57 -08:00
TommyStarK
a46cfe5d1e test/e2e: Replace deprecated pointer function
Signed-off-by: TommyStarK <thomasmilox@gmail.com>
2023-01-05 18:43:58 +01:00
TommyStarK
9e885bce35 test/integration: Replace deprecated pointer function
Signed-off-by: TommyStarK <thomasmilox@gmail.com>
2023-01-05 18:38:40 +01:00
Jan Safranek
e1f62a9bc5 Add multi-pod tests with SELinux mounts
Check that a volume is fully unmounted (Unstaged) before kubelet starts a
pod with the same volume, but with a different SELinux context.
2023-01-05 13:15:32 +01:00
Kante Yin
2c205e291d Distinguish unschedulable with unresolvable in scheduler
Before, in RunPostFilterPlugins, we didn't distinguish between unschedulable and unresolvable
because we only have one postFilterPlugin by default, now, we have at least two, we should
make sure that once a postFilterPlugin returns unresolvable, we'll return directly

Signed-off-by: Kante Yin <kerthcet@gmail.com>
2023-01-05 16:59:19 +08:00
ZhangKe10140699
572360c5a5 Fix:[Flake] [sig-node] Restart [Serial] [Slow] [Disruptive] Kubelet should correctly account for terminated pods after restart 2023-01-05 09:10:57 +08:00
Kubernetes Prow Robot
b05aa53fa1
Merge pull request #114796 from sanposhiho/sanposhiho/feature-gate-remove
cleanup(scheduler_perf): remove all removed feature gates
2023-01-04 14:30:32 -08:00
Shiming Zhang
080d4a2a9b Fix this e2e failure causing Kubelet not to restart 2023-01-04 16:15:32 +08:00
Kensei Nakada
e8092cc885 cleanup(scheduler_perf): remove all removed feature gates 2023-01-04 01:07:47 +00:00
Kubernetes Prow Robot
12c71fdf1c
Merge pull request #113542 from ardaguclu/fix-shortname-disperancy
Set singular names for core types to pass to discovery
2023-01-03 09:29:43 -08:00
Patrick Ohly
f0cc053544 e2e framework: enable extending TimeoutContext
If we were to add new fields in TimeoutContext, the current users of
NewFrameworkWithCustomTimeouts might run into failures unless they get modified
to also set those new fields. This is error-prone.

A better approach is to let users of NewFrameworkWithCustomTimeouts override
fields by setting just those and use the normal defaults for the others.
2023-01-03 17:01:33 +01:00
Patrick Ohly
cdb0cd0387 e2e framework: simplify timeout defaults
Filling in the default values directly in the struct eliminates the need to
define constants that aren't used anywhere else.
2023-01-03 16:31:13 +01:00
Lukas Grotz
30c586a647
Update test/e2e/autoscaling/cluster_size_autoscaling.go with suggestions
Co-authored-by: Patrick Ohly <patrick.ohly@intel.com>
2023-01-02 20:01:26 +01:00
Patrick Ohly
5636418f10 e2e storage: define local PersistentVolume tests in deterministic order
Ginkgo relies on all workers defining all tests in exactly the same order. This
wasn't guaranteed for these tests, with the result that some tests might have
been executed more than once and others not at all when running in parallel.

This was noticed when some of these tests started to flake and then were
reported both as failure and success, as if they had been retried.
2023-01-02 16:22:11 +01:00
xin.li
10ca605cdd chroe: add k8s node-role.kubernetes.io/control-plane taint
Signed-off-by: xin.li <xin.li@daocloud.io>
2023-01-02 21:04:43 +08:00
Patrick Ohly
6c957c0634 e2e storage: restore timeout behavior in "CSI NodeStage error cases"
In v1.26.0, these tests only used the timeout context while waiting for a CSI
call. This restores that behavior, just in case that it is relevant. No test
flakes are known because of this.
2023-01-02 10:47:09 +01:00
Patrick Ohly
a2722ffa4a e2e: replace WithTimeout with NodeTimeout
The intend of timeout handling (for the entire "It" and not just a few calls)
becomes more obvious and simpler when using ginkgo.NodeTimeout as decorator.
2023-01-02 10:47:00 +01:00
Transmitt0r
50ed17a66e Changed remaining code to improve output for files under test/e2e/autoscaling 2022-12-29 17:42:02 +01:00
Kubernetes Prow Robot
1e523a36b2
Merge pull request #114700 from kerthcet/cleanup/replace-deprecated-function-in-pointer
Replace deprecated pointer function in scheduler tests
2022-12-27 07:59:29 -08:00
Kubernetes Prow Robot
659a792f84
Merge pull request #114709 from thockin/remove_gengo_dep
Remove dep on gengo
2022-12-27 02:15:27 -08:00
Tim Hockin
5b17cd61a9
Remove dep on gengo 2022-12-26 16:23:36 -08:00
Kante Yin
666605498a Replace deprecated pointer function
Signed-off-by: Kante Yin <kerthcet@gmail.com>
2022-12-26 22:06:44 +08:00
Kubernetes Prow Robot
5cdec8f99e
Merge pull request #114667 from Miciah/114666-e2e-remove-kubeadm-ism-in-DNS-HostNetwork-test
e2e: Remove kubeadm-ism in DNS HostNetwork test
2022-12-23 04:11:26 -08:00
Dave Chen
7800dabb62 e2e: comment the known limitation of the ProgressReporter
Signed-off-by: Dave Chen <dave.chen@arm.com>
2022-12-23 18:43:49 +08:00
Patrick Ohly
0c2c027ebc e2e: clean up listing
It doesn't make sense for the E2E framework to have command line options that
don't do anything because then all test suites built with the framework inherit
those options.

For -list-images and -list-conformance-tests the solution is to move the
implementation into the framework (-list-images) respectively move the flag
into test/e2e (-list-conformance-tests).

The placement was decided based on the observation that image patching is
common functionality while conformance testing is specific to one test suite.
2022-12-23 10:36:06 +01:00
Miciah Masters
af258c819d e2e: Remove kubeadm-ism in DNS HostNetwork test
The "[sig-network] DNS HostNetwork should resolve DNS of partial qualified
names for services on hostNetwork pods with dnsPolicy:
ClusterFirstWithHostNet" test assumes that a service named "kube-dns"
exists in the "kube-system" namespace.  This assumption is valid if the
cluster was configured using kubeadm, but the assumption may be invalid
otherwise.

As the test uses dnsPolicy: ClusterFirst (as opposed to dnsPolicy: None),
it does not need to specify the name server in dnsConfig.  Omitting
dnsConfig.nameservers obviates the need to look up the service.

Follow-up to commit add4652352.

* test/e2e/network/dns.go: Don't look up or use the kube-dns cluster IP
address as it might not exist on clusters that were not configured using
kubeadm.
2022-12-22 19:00:29 -05:00
Kubernetes Prow Robot
45f14a93f1
Merge pull request #113787 from gjkim42/update-daemonset-status-despite-error
Update daemonSet status even if syncDaemonSet fails
2022-12-22 15:49:25 -08:00
Kubernetes Prow Robot
2bb77a13b1
Merge pull request #113730 from wojtek-t/generalize_cacher_tests_3
Reuse generic GetList test for watchcache and fix inconsistency issues for both etcd3 and watchcache
2022-12-22 01:29:25 -08:00
Dave Chen
8fe3e8df46 e2e: bring back total test spec for Ginkgo v2
Bring back the number of test spec which was dropped earlier.
It's now available in the reporting node of `ReportBeforeSuite` by extracting
the number from report.PreRunStats.SpecsThatWillBeRun.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2022-12-22 10:44:01 +08:00
Kubernetes Prow Robot
4a5d8a4b08
Merge pull request #114627 from ardaguclu/fix-discovery-flaky
Ignore api-resources not found error until it's ready
2022-12-21 13:53:40 -08:00
Kubernetes Prow Robot
020fb2eb77
Merge pull request #113538 from pohly/e2e-ginkgo-timeline
e2e: ginkgo timeline
2022-12-21 13:53:28 -08:00
Fabian Fulga
407bd6a4af
Revert "Add e2e tests for node log viewer" (#114636)
This reverts commit ff92963551.
2022-12-21 08:07:27 -08:00
Wojciech Tyczyński
cbbc8ec69e Add microbenchmark for listing from watchcache 2022-12-21 08:45:27 +01:00
Arda Güçlü
a5698efff2 Ignore api-resources not found error until it's ready 2022-12-21 10:34:53 +03:00
Patrick Ohly
cbb6ea5ca4 e2e: remove deprecated SuppressProgressReporting
It's not needed anymore and ginkgo warns about it.
2022-12-21 07:55:07 +01:00
Patrick Ohly
766e7e07da e2e framework: verify JUnit result, not the in-memory structs
The old tests were no longer passing with Ginkgo v2.5.0. Instead of keeping the
old approach of checking recorded spec results, now the tests actually cover
what we care about most: the results recorded in JUnit.

This also gets rid of having to repeat the stack backtrace twice (once as part
of the output, once for the separate backtrace field).
2022-12-21 07:55:07 +01:00
Patrick Ohly
f6cdd37046 e2e framework: move JUnit write function
This makes it possible to unit test it.
2022-12-21 07:55:07 +01:00
Patrick Ohly
a53753575a e2e framework: stop overriding ginkgo verbosity/progress
The default settings from Ginkgo are useful enough for Kubernetes since
timeline support was added (https://github.com/onsi/ginkgo/issues/1069).
2022-12-21 07:55:07 +01:00
Patrick Ohly
463d42aebf e2e framework: remove injection of failures and skips into GinkgoWriter
Ginkgo's timeline support will do that for us now.
2022-12-21 07:55:07 +01:00
Patrick Ohly
f4a837affb e2e framework: avoid storing redundant failure message string
All information that we want will be written into the failure XML element's
data. We don't need the message tag and don't want it because our
tools (kettle, testgrid, spyglass) would then just concatenate the two strings.

This gets implemented for us by Ginkgo. However, truncating the failure message
is not supported there at the moment. It's unclear how important that is,
therefore this (recently added feature) gets removed.
2022-12-21 07:55:07 +01:00
Patrick Ohly
6db4b741dd e2e: dump full report information
The Ginkgo CLI output no longer has the full output. We need the reports
generated by Ginkgo for that.
2022-12-21 07:55:07 +01:00
Kubernetes Prow Robot
55181b72a2
Merge pull request #113799 from r4f4/nettest-priv-ip
tests: network: Prefer internal IPs first
2022-12-20 17:37:24 -08:00
Kubernetes Prow Robot
7814d10882
Merge pull request #114611 from soltysh/wait_timeout
Fix wait test timeout
2022-12-20 13:17:25 -08:00
Jefftree
6b443c2304 Add jefftree to OWNERS 2022-12-20 19:30:42 +00:00
Kubernetes Prow Robot
ff23a12e64
Merge pull request #112019 from antoninbas/use-framework-helpers-to-create-namespaces
e2e: Use framework helpers to create namespaces
2022-12-20 10:17:56 -08:00
Maciej Szulik
132f8127a3
Fix wait test timeout 2022-12-20 17:02:23 +01:00
Antonio Ojea
f333e5b4c5 e2e NodePorts should be tested within the cluster
The NodePort functionality can be tested within the cluster.

Testing from outside the cluster assumes that there is connectivity
between the e2e.test binary and the cluster under test, that is not
always true, and in some cases is exposed to external factors  or
misconfigurations like wrong routes or firewall rules that impact
on the test.

Change-Id: Ie2fc8929723e80273c0933dbaeb6a42729c819d0
2022-12-20 10:21:59 +00:00
Antonin Bas
0194705db3 Indicate that manual Namespace creation for local ingress scale tests is intentional
Signed-off-by: Antonin Bas <abas@vmware.com>
2022-12-19 12:44:04 -08:00
Antonin Bas
62b77b7c01 e2e: Use framework helpers to create namespaces for webhook tests
Signed-off-by: Antonin Bas <abas@vmware.com>
2022-12-19 12:43:59 -08:00
Arda Güçlü
369534c6ec
kubectl wait: wire generic context (#114574)
* Wire generic context to better handle timeout

* Add integration test for wait timeout

* kubectl wait: Fix integration test always passing issue

Currently, `kubectl wait` integration test always passes even if
it gets an error. Problem is object check is done after errexit is
turned off.

This PR redirects error to output and correctly assures that
object is expected status and if it is not, test should fail.
2022-12-19 09:21:56 -08:00
Antonio Ojea
e0a23577d2 pass context to gomega
Change-Id: Ibef02a52d8922984a09efa48361b9876fc91287c
2022-12-19 13:14:02 +00:00
Patrick Ohly
a51999e951 e2e framework: support Ginkgo decorators for framework.ConformanceIt
Additional parameters like ginkgo.SpecTimeout may also be relevant for
conformance tests.
2022-12-19 13:53:08 +01:00
Kubernetes Prow Robot
a864583905
Merge pull request #114573 from pohly/e2e-ginkgo-timeout-fixes
e2e ginkgo timeout fixes, II
2022-12-19 04:43:44 -08:00
Kubernetes Prow Robot
c2eb6e69c4
Merge pull request #114576 from pohly/e2e-ginkgo-timeout-fixes-III
e2e storage: fix "Stress with local volumes [Serial] should be able to process many pods and reuse local volumes"
2022-12-19 03:37:44 -08:00
Patrick Ohly
4d7e2894b2 e2e storage: fix "Stress with local volumes [Serial] should be able to process many pods and reuse local volumes"
The background goroutine was started with the context from ginkgo.BeforeEach,
which then led to "context canceled" errors. While at it, the entire goroutine
start/stop gets moved into the BeforeEach and simplified.
2022-12-19 11:23:53 +01:00
Kubernetes Prow Robot
cbd16cf131
Merge pull request #114569 from aojea/e2e_taint_informer
e2e node taints stop controller with context
2022-12-19 01:57:43 -08:00
Patrick Ohly
1bc24630da e2e scheduling: remove redundant stopCh
The ctx.Done() channel associated with the current test can be used
instead. This is a simplification, both approaches work.
2022-12-19 10:00:00 +01:00
Patrick Ohly
29d6d03a3c e2e scheduling: fix scope of context.WithTimeout
The original intend from v1.26.0 was to only apply the timeout to the following
cache.WaitForCacheSync.
2022-12-19 10:00:00 +01:00
Kubernetes Prow Robot
789dc88fd5
Merge pull request #114567 from aojea/e2e_dns_context
e2e dns don't fail if configmap does not exist
2022-12-18 16:05:53 -08:00
Kubernetes Prow Robot
948d5b8d52
Merge pull request #114565 from aojea/fix_e2e_after_contexts
cleanup e2e kubectl  cli tests
2022-12-18 16:05:42 -08:00
Antonio Ojea
8357eead06 e2e node tains stop controller with context
Informers controllers must use the stop channel, and not
cancel the context of the List/Watch.

Change-Id: I42e4ae4bad4fe6ad0da6fe1b3990ebe56c8eabd9
2022-12-18 22:44:20 +00:00
Antonio Ojea
5d8f745e86 e2e dns don't fail if configmap does not exist
don't fail on cleanup if the configmap for kube-dns does not exist

Change-Id: Ia56d9f590baba374e0b687aeda71d547899b1713
2022-12-18 19:23:36 +00:00
Antonio Ojea
e05e96bfdd e2e kubect run tests
These tests create their own pods, however, they were inside a block
that was always creating a pod, that was not used later on the tests,
but can influence on the conditions asserted to succeed the test.

Change-Id: I3bb9a0f123fb0766d75934ef8e197f92e3f5f3b8
2022-12-18 16:22:15 +00:00
Patrick Ohly
2296fc4b1f e2e apps: fix "context canceled" error
Using the ctx of the ginkgo.BeforeEach in callbacks that are invoked after the
BeforeEach is done causes "context canceled" errors. Previously, this code used
context.TODO(). The best solution is to create a new context and cancel it
during test cleanup, then that context can be used for the API calls and as
stop channel.
2022-12-18 16:10:15 +01:00
Patrick Ohly
02b6b6520a e2e kubectl: increase wait timeout
After adding error checking in df5d84ae81, the "[sig-cli] Kubectl client
Simple pod should return command exit codes [Slow] running a failing command
without --restart=Never, but with --rm" test was found to time out.

Doubling the timeout might help. Alternatively, the entire
WaitForPodToDisappear could get removed, which would make this scenario similar
to the others which also don't wait.
2022-12-18 16:10:15 +01:00
Antonio Ojea
c1580e960d e2e kubectl test cleanup
the test uses a BeforeEach block to create a pod with the name defined
but the simplePodName variables, however, some test use the value of
the variable directly.

To avoid future problems use the variable name instead of the value on
all tests.

Change-Id: I21a01019d91fe5ae7e35566184420001978ce355
2022-12-18 13:57:41 +00:00
Kubernetes Prow Robot
7f7bf68c7c
Merge pull request #111178 from lucming/cleanup
clean up code
2022-12-16 19:17:52 -08:00
Kubernetes Prow Robot
a93eda9db3
Merge pull request #112923 from pohly/e2e-ginkgo-timeouts
e2e: ginkgo timeouts: use context provided by ginkgo
2022-12-16 16:59:52 -08:00
Patrick Ohly
2f6c4f5eab e2e: use Ginkgo context
All code must use the context from Ginkgo when doing API calls or polling for a
change, otherwise the code would not return immediately when the test gets
aborted.
2022-12-16 20:14:04 +01:00
Shihang Zhang
4fd09a06d6 lock LegacyServiceAccountTokenNoAutoGeneration 2022-12-16 10:45:35 -08:00
Patrick Ohly
bf1d1dfd0f e2e storage: pass around topologyTest pointer
Copying the instance makes no sense because the fields are meant to be shared
between test and cleanup code.
2022-12-16 19:42:26 +01:00
Kubernetes Prow Robot
093c5964f7
Merge pull request #114289 from gnufied/add-recovery-expansion-tests
Add recovery expansion tests
2022-12-16 06:16:28 -08:00
Kubernetes Prow Robot
64b6cec843
Merge pull request #114533 from songxiao-wang87/runwxs-test7
don't assert error inside wait.Poll loops
2022-12-16 04:52:36 -08:00
Kubernetes Prow Robot
6577fd2203
Merge pull request #114217 from jingxu97/snapshotfix
Fix issues in volumesnapshot test for ephemeral storage
2022-12-16 04:52:17 -08:00
songxiao-wang87
16c813d9b8 Making a run test.
Signed-off-by: songxiao-wang87 <wang.xiaosong23@zte.com.cn>
2022-12-16 08:30:45 +00:00
Kubernetes Prow Robot
8c23f06aaa
Merge pull request #114345 from ii/create-subjectaccessreview-test
Write e2e test for SubjectAccessReview & createAuthorizationV1NamespacedLocalSubjectAccessReview +2 Endpoints
2022-12-15 13:21:47 -08:00
Kubernetes Prow Robot
843b40aeb4
Merge pull request #113985 from lavalamp/improved-has-synced
Propagate HasSynced properly
2022-12-15 12:15:47 -08:00
Kubernetes Prow Robot
c43e83ceed
Merge pull request #110014 from claudiubelu/windows-tests/fix-long-hostname
tests Windows: Fixes test failures related to COMPUTERNAMEs being truncated
2022-12-15 12:15:35 -08:00
Stephen Heywood
247c23abaf Create e2e test for SubjectAccessReview endpoints
e2e test validates the following 2 endpoints
- createAuthorizationV1SubjectAccessReview
- createAuthorizationV1NamespacedLocalSubjectAccessReview
2022-12-16 07:42:50 +13:00
Kubernetes Prow Robot
3d3a180713
Merge pull request #113942 from mengjiao-liu/remove-feature-gate-expansion
Remove volume expansion feature gates
2022-12-15 10:05:38 -08:00
Kubernetes Prow Robot
b30a6a3fc5
Merge pull request #114355 from dengyufeng2206/pr1208
fix msg in /test/e2e/apps/daemon_set.go
2022-12-15 03:27:35 -08:00
Mengjiao Liu
a3d00c15b6 Remove ExpandPersistentVolumes feature gate 2022-12-15 11:43:50 +08:00
Kubernetes Prow Robot
69fe066adc
Merge pull request #114477 from chendave/kubeadm_reviewer
kubeadm: add chendave as kubeadm reviewer
2022-12-14 13:01:36 -08:00
Hemant Kumar
3d33178dab Start adding e2e for recovery from expansion failure 2022-12-14 15:28:05 -05:00
Kubernetes Prow Robot
770b39c65b
Merge pull request #114072 from Tal-or/deflake_e2e_cpumanager_metrics_tests
e2e: cpumanager: proper test clean-up
2022-12-14 11:55:45 -08:00
Kubernetes Prow Robot
7403090e40
Merge pull request #113309 from swatisehgal/devicemgr-e2e-remove-flakiness
node: e2e: device plugins: Deflake e2e tests
2022-12-14 10:47:34 -08:00
Daniel Smith
8100efc7b3 Enable propagration of HasSynced
* Add tracker types and tests
* Modify ResourceEventHandler interface's OnAdd member
* Add additional ResourceEventHandlerDetailedFuncs struct
* Fix SharedInformer to let users track HasSynced for their handlers
* Fix in-tree controllers which weren't computing HasSynced correctly
* Deprecate the cache.Pop function
2022-12-14 18:43:33 +00:00
jinxu
e46172014c Fix issues in volumesnapshot test for ephemeral storage
Make sure snapshot and restored volumes are cleaned up concurrently
without strict ordiering

Change-Id: Id7e567861fa3618e142915b7cd6991526e4eb6a4
2022-12-14 10:21:15 -08:00
Jiahui Feng
5c6d8a939c add int. test for CEL type resolution. 2022-12-14 09:19:36 -08:00
Patrick Ohly
fdc03dd2f8 e2e kubectl: improve Gomega check
gomega.Succeed is the recommend way of checking for an error. gomega.BeNil
prints a less useful failure message.
2022-12-14 07:39:51 +01:00
Patrick Ohly
2695ed6a0a e2e: add missing error checks
Not checking for some error conditions must have been an oversight.
2022-12-14 07:39:51 +01:00
Patrick Ohly
8168434f0c e2e storage: explain why cleanup is done inside the function
This code must run during the test and thus cannot be moved into DeferCleanup.
2022-12-14 07:39:51 +01:00
Patrick Ohly
f30d1867e6 e2e storage: remove obsolete testCleanups 2022-12-14 07:39:48 +01:00
Dave Chen
8995346259 kubeadm: add chendave as kubeadm reviewer
Signed-off-by: Dave Chen <dave.chen@arm.com>
2022-12-14 10:54:03 +08:00
Kubernetes Prow Robot
fa8ef76a8b
Merge pull request #113335 from danwinship/cleanup-sctp-tests
Clean up SCTP tests
2022-12-13 18:33:34 -08:00
Kubernetes Prow Robot
546d4054ac
Merge pull request #113930 from gnufied/refactor-mock-tests
Refactor mock tests in different files
2022-12-13 17:27:34 -08:00
Kubernetes Prow Robot
3ceb213fc1
Merge pull request #113508 from p-slavcheva/fix-diff-osexit
Replace os.Exit in diff
2022-12-13 15:59:34 -08:00
Kubernetes Prow Robot
c2b5457dfa
Merge pull request #109877 from yibozhuang/local-pv-prefilter-result
scheduler volumebinding: leverage PreFilterResult for bound local PVs
2022-12-13 14:53:34 -08:00
Dan Winship
41e1435d97 Remove [Disruptive] from Feature:SCTPConnectivity tests
The Feature:SCTPConnectivity tests cannot run at the same time as the
"X doesn't cause sctp.ko to be loaded" tests, since they may cause
sctp.ko to be loaded. We had dealt with this in the past by marking
them [Disruptive], but this isn't really fair; the problem is more
with the sctp.ko-checking tests than it is with the SCTPConnectivity
tests. So make them not [Disruptive] and instead make the
sctp.ko-checking tests be [Serial].
2022-12-13 16:24:42 -05:00
Dan Winship
4cee7197eb Move two SCTP tests
There were two SCTP tests grouped together in
test/e2e/network/service.go, but one of them wasn't a service test...
so move the SCTP service test to be grouped with the other service
tests, and the SCTP hostport tests to be grouped with other
non-service tests.
2022-12-13 16:24:40 -05:00
Dan Winship
d9981065dd Drop iptables-specific test from SCTP HostPort test
The SCTP HostPort test was checking that creating a pod with an SCTP
HostPort would create a certain iptables rule, but the handling of
HostPorts is now up to CRI, not kubelet, so kubernetes e2e cannot
assume it will implement the feature in any specific way.

(The test still ensures that (a) the apiserver accepts SCTP HostPorts,
and (b) neither kubelet nor the runtime causes the SCTP kernel module
to be loaded as part of creating a pod with an SCTP HostPort.)
2022-12-13 16:22:06 -05:00
Dan Winship
c6cc056675 Replace iptables-proxy-specific SCTP e2e test with a unit test
We had a test that creating a Service with an SCTP port would create
an iptables rule with "-p sctp" in it, which let us test that
kube-proxy was doing vaguely the right thing with SCTP even if the e2e
environment didn't have SCTP support. But this would really make much
more sense as a unit test.
2022-12-13 16:21:12 -05:00
Hemant Kumar
9e5d0828e0 use defercleanup in all the places 2022-12-13 15:54:55 -05:00
Kubernetes Prow Robot
233f9c210a
Merge pull request #114092 from anggao/update_method_name
e2e: Update GetExternalIP and GetInternalIP method name to make them more explicit.
2022-12-13 12:39:46 -08:00
Kubernetes Prow Robot
cffc7a1391
Merge pull request #110473 from lzhecheng/disruptive-skip-ssh-not-working
Skip tests if SSH not working
2022-12-13 12:39:35 -08:00
Hemant Kumar
6dd94f5663 Refactor mock tests in different files
Change code to use pointer for mock driver setup
2022-12-13 14:26:07 -05:00
Kubernetes Prow Robot
bb6edfb96b
Merge pull request #114454 from pohly/e2e-framework-output-test-flake
e2e framework: fix unit test flake
2022-12-13 10:28:15 -08:00
Kubernetes Prow Robot
2df02b3ef5
Merge pull request #114425 from pohly/e2e-ginkgo-timeouts-defer-cleanup
e2e ginkgo timeouts: simplify code
2022-12-13 10:28:09 -08:00
Kubernetes Prow Robot
8280fd9671
Merge pull request #114171 from aojea/loadbalancer_mutability
e2e loadbalancer test connectivity within cluster first
2022-12-13 10:27:45 -08:00
Kubernetes Prow Robot
e6bc669227
Merge pull request #113795 from DangerOnTheRanger/validatingadmissionpolicy-crd-integration-tests
Add CRD integration tests for ValidatingAdmissionPolicy
2022-12-13 10:27:34 -08:00
Kubernetes Prow Robot
19a0aaaaa0
Merge pull request #114261 from alculquicondor/reduce-job-test-load
Reduce load of Job integration test
2022-12-13 08:39:33 -08:00
Claudiu Belu
9b8b378782 tests Windows: Fixes test failures related to COMPUTERNAMEs being truncated
Windows ComputerNames cannot exceed 15 characters. This causes a few tests to fail
when the node names exceed that limit. Additionally, the checks should be case
insensitive.
2022-12-13 08:37:39 -08:00
Swati Sehgal
213a6edc57 node: e2e: Add descriptive messages for operation/error checks
Signed-off-by: Swati Sehgal <swsehgal@redhat.com>
2022-12-13 14:54:48 +00:00
Zhecheng Li
21c41e79e5 Skip tests if SSH not working
Functions involves TestVolumeUnmountsFromDeletedPodWithForceOption
need to check if SSH works.

Signed-off-by: Zhecheng Li <zhechengli@microsoft.com>
2022-12-13 14:38:21 +00:00
Patrick Ohly
0df49542b1 e2e framework: fix unit test flake
The Gingo v2 time suffix is hh:mm:ss without the .xyz sub-second details if the
time stamp happens to land exactly on a second.

This change fixes test flakes like the following:

    -STEP: Building a namespace api object, basename test-namespace
    +STEP: Building a namespace api object, basename test-namespace 12/13/22 11:43:53

    --- FAIL: TestCleanup (36.79s)
2022-12-13 15:29:18 +01:00
petya.slavcheva1
2dce194e16 Replace os.exit in diff 2022-12-13 14:27:35 +01:00
Antonio Ojea
2b0372f873 e2e loadbalancer test connectivity within cluster first
Change-Id: Iaced995e5e0433c9095cb522aa3e1de2105c931e
2022-12-13 12:26:13 +00:00
yulng
7071a8557c
fix:Optimize code for else logic
if block ends with a return statement, so drop this else and outdent its block

Signed-off-by: yulng <wei.yang@daocloud.io>
2022-12-13 20:23:08 +08:00
Patrick Ohly
d4729008ef e2e: simplify test cleanup
ginkgo.DeferCleanup has multiple advantages:
- The cleanup operation can get registered if and only if needed.
- No need to return a cleanup function that the caller must invoke.
- Automatically determines whether a context is needed, which will
  simplify the introduction of context parameters.
- Ginkgo's timeline shows when it executes the cleanup operation.
2022-12-13 08:09:01 +01:00
Kubernetes Prow Robot
dc1e77143f
Merge pull request #114082 from kidddddddddddddddddddddd/refactor_handleSchedulingFailure
pass status to handleSchedulingFailure
2022-12-12 22:05:34 -08:00
kidddddddddddddddddddddd
6ca62eb2cb refactor 2022-12-13 11:36:12 +08:00
Kubernetes Prow Robot
73ed9e70ed
Merge pull request #114052 from ionutbalutoiu/tests/lb-rolling-update
tests: Add DaemonSet with LB rolling update test
2022-12-12 18:47:52 -08:00
Kubernetes Prow Robot
923ee203f3
Merge pull request #110991 from thockin/svc-typenames-starTrafficPolicyType
Svc typenames star traffic policy type
2022-12-12 18:47:33 -08:00
Ang Gao
3540f948e9 Update method name to make it more explicit 2022-12-12 21:50:07 +00:00
Kubernetes Prow Robot
60274a1a0a
Merge pull request #114131 from aojea/noflaky_lb
remove flaky tag for GCE NEG tests
2022-12-12 11:43:33 -08:00
Swati Sehgal
62e4d39c2f node: e2e: address review comments (2022/12/12)
- use `ginkgo.DeferCleanup` instead of clean up in the AfterEach block
- encourage use of ginkgo by not extending expect.go

Signed-off-by: Swati Sehgal <swsehgal@redhat.com>
2022-12-12 16:31:40 +00:00
Ionut Balutoiu
3feea9db7c tests: Add DaemonSet with LB rolling update test
Add a test case with a DaemonSet behind a simple load balancer whose
address is being constantly hit via HTTP requests.

The test passes if there are no errors when doing HTTP requests to the
load balancer address, during DaemonSet `RollingUpdate` operations.

Signed-off-by: Ionut Balutoiu <ibalutoiu@cloudbasesolutions.com>
2022-12-12 17:16:12 +02:00
Swati Sehgal
a9e3689e63 node: e2e: ensure clean cluster state before e2e tests are run
Signed-off-by: Swati Sehgal <swsehgal@redhat.com>
2022-12-12 14:50:36 +00:00
Swati Sehgal
7e880d1bab node: e2e: ensure log rotation pod is deleted after test
Some node e2e tests check for expected number of pods running
on the node to verify the correct state of that node after running
test scenarios. An example of such a check is in the device plugin
end to end test here: [1].

If the node is not left in a clean state after an e2e test finishes
running, it can lead to flaky tests because the node might have
unexpected pods running on the node.

In order to avoid that, we make sure that the test pods are
cleaned up after the test runs.

[1]: https://github.com/kubernetes/kubernetes/blob/master/test/e2e_node/device_plugin_test.go#L189-L190

Signed-off-by: Swati Sehgal <swsehgal@redhat.com>
2022-12-12 14:50:32 +00:00
Patrick Ohly
5c09ca57ff e2e storage: remove context.WithCancel
The context provided by Ginkgo will get cancelled automatically.
2022-12-12 11:30:07 +01:00
Patrick Ohly
896c6fa082 e2e framework: add AnnotatedLocationWithOffset
This is useful in helper functions which themselves don't need to be recorded.
2022-12-12 11:30:07 +01:00
Patrick Ohly
c466c49682 e2e apps: avoid assertions in wait.Until callback
wait.Until catches panics and logs them, which leads to confusing
output. Besides, the test is written so that failures must get reported to the
main goroutine.
2022-12-12 11:30:07 +01:00
Patrick Ohly
2168dd5334 e2e apps: capture expected state before making changes
Looking up the expected nodes in the goroutine raced with the test making
changes to the configuration. When doing (unrelated?) changes, the test started
to fail:

Oct 23 15:47:03.092: INFO: Unexpected error:
    <*errors.errorString | 0xc001154c70>: {
        s: "no subset of available IP address found for the endpoint test-rolling-update-with-lb within timeout 2m0s",
    }
Oct 23 15:47:03.092: FAIL: no subset of available IP address found for the endpoint test-rolling-update-with-lb within timeout 2m0s
2022-12-12 11:30:07 +01:00
Patrick Ohly
7454c3ff81 e2e metrics: remove incorrect comment
The "should report resource usage through the resource metrics api" E2E test
calls getResourceMetrics, which calls GrabKubeletMetricsWithoutProxy.
2022-12-12 11:30:07 +01:00
Patrick Ohly
8c27313cfd e2e storage: don't panic when server stops
Now that everything is connected to a per-test context, the gRPC server might
encounter an error before it gets shut down normally. We must not panic in that
case because it would kill the entire Ginkgo worker process. This is not even
an error, so just log it as info message.
2022-12-12 11:30:07 +01:00
Patrick Ohly
f897c86119 e2e framework: support ignoring "not found" errors during DeferCleanup
The wrapper can be used in combination with ginkgo.DeferCleanup to ignore
harmless "not found" errors during delete operations.

Original code suggested by Onsi Fakhouri.
2022-12-12 11:30:07 +01:00
Patrick Ohly
73b60ba769 e2e framework: don't fail when DumpAllNamespaceInfo is nil
It is set in all of the test/e2e* suites, but not in the ginkgo output
tests. This check is needed before adding a test case there which would trigger
this nil pointer access.
2022-12-12 11:30:07 +01:00
Ang Gao
1931494333 make GetSubnetPrefix IP family agnostic 2022-12-12 01:26:42 +00:00
Tim Hockin
d0e2b06850
ServiceExternalTrafficPolicyType: s/Type//
Rename ServiceExternalTrafficPolicyType => ServiceExternalTrafficPolicy
2022-12-11 13:48:27 -08:00
Kubernetes Prow Robot
23c65ec590
Merge pull request #114411 from aojea/e2e_panic
don't assert error inside goroutines
2022-12-11 10:13:32 -08:00
Kubernetes Prow Robot
f256321e76
Merge pull request #114401 from pohly/e2e-ginkgo-timeouts-callbacks
e2e: accept context from Ginkgo
2022-12-11 09:07:14 -08:00
Antonio Ojea
2956bb39a1 don't assert error inside goroutines
Change-Id: Ifed741d1973e96063378620daf7b8b22647bc2fb
2022-12-11 15:34:17 +00:00
SataQiu
40a6d6306a autoscaling: advance v2 as the preferred API version over v1 2022-12-11 13:09:39 +08:00
Patrick Ohly
a4e6fea164 e2e: fix line numbering in unit tests
Adding the "context" import in the previous commit must get compensated by
removing one of the blank lines in the output unit tests, otherwise the stack
backtrace don't match expectations.
2022-12-10 21:49:05 +01:00
Patrick Ohly
16f05373f4 e2e framework internal: normalize anonymous functions with parameters
This will become relevant for

   ginkgo.BeforeEach(func(ctx context.Context) { ... })
2022-12-10 21:47:17 +01:00
Patrick Ohly
0d73c0d0e5 e2e: fix linter errors
Adding "ctx" as parameter in the previous commit led to some linter errors
about code that overwrites "ctx" without using it.

This gets fixed by replacing context.Background or context.TODO in those code
lines with the new ctx parameter.

Two context.WithCancel calls can get removed completely because the context
automatically gets cancelled by Ginkgo when the test returns.
2022-12-10 20:35:46 +01:00
Patrick Ohly
df5d84ae81 e2e: accept context from Ginkgo
Every ginkgo callback should return immediately when a timeout occurs or the
test run manually gets aborted with CTRL-C. To do that, they must take a ctx
parameter and pass it through to all code which might block.

This is a first automated step towards that: the additional parameter got added
with

    sed -i 's/\(framework.ConformanceIt\|ginkgo.It\)\(.*\)func() {$/\1\2func(ctx context.Context) {/' \
        $(git grep -l -e framework.ConformanceIt -e ginkgo.It )
    $GOPATH/bin/goimports -w $(git status | grep modified: | sed -e 's/.* //')

log_test.go was left unchanged.
2022-12-10 19:50:18 +01:00
Kubernetes Prow Robot
63ff4a2659
Merge pull request #114392 from pohly/e2e-apimachinery-cleanup
e2e apimachinery: simplify cleanup
2022-12-10 09:06:31 -08:00
Kubernetes Prow Robot
a40111cdd0
Merge pull request #114350 from Huang-Wei/fix-flaky-test
Deflake a preemption test that may patch Node incorrectly
2022-12-10 09:06:02 -08:00
Kubernetes Prow Robot
9758911fd5
Merge pull request #114252 from ardaguclu/scale-piped-input
kubectl scale: Use visitor only once
2022-12-10 07:55:19 -08:00
Kubernetes Prow Robot
9f85f6d1f1
Merge pull request #114249 from ardaguclu/improve-exec-multi-error
kubectl exec: return descriptive error message when multi resource passed
2022-12-10 07:55:12 -08:00
Kubernetes Prow Robot
4f28854c09
Merge pull request #114223 from sathyanarays/improve_scheduler_test_coverage
Improving scheduler extender unit tests
2022-12-10 07:54:44 -08:00
Kubernetes Prow Robot
e23139d487
Merge pull request #114196 from elmiko/spellfix-for-daemonset-test
fix spelling error in e2e upgrade apps daemonset test
2022-12-10 07:54:17 -08:00
Kubernetes Prow Robot
2118bc8aec
Merge pull request #114155 from aojea/mirroring_repack
endpointslicemirroring handle endpoints with multiple subsets
2022-12-10 07:53:42 -08:00
Kubernetes Prow Robot
9f46fa2004
Merge pull request #114156 from Riaankl/update-ineligible-endpoints-yaml
update ineligible_endpoints.yaml to include getResourceAPIGroup
2022-12-10 06:04:56 -08:00
Kubernetes Prow Robot
ce9b912ca6
Merge pull request #114085 from saschagrunert/gcb-docker-gcloud-bump
Bump gcb-docker-gcloud to `v20221007-69e0da97ef`
2022-12-10 06:04:33 -08:00
Kubernetes Prow Robot
75b67bf0d3
Merge pull request #114054 from brianpursley/kubectl-1327
i18n: Fix bug where package-level variables are not translated.
2022-12-10 06:04:02 -08:00
Antonio Ojea
ef6d9edea5 endpointslicemirroring handle endpoints with multiple subsets
Endpoints generated by the endpoints controller are in the canonical
form, however, custom endpoints can not be in canonical format
(there was a time they were canonicalized in the apiserver, but this
caused performance issues because the endpoint controller kept
updating them since the created endpoint were different than the
stored one due to the canonicalization)

There are cases where a custom endpoint may generate multiple slices
due to the controller, per example, when the same address is present
in different subsets.

The endpointslice mirroring controller should canonicalize the
endpoints subsets before start processing them to be consistent
on the slices generated, there is no risk of hotlooping because
the endpoint is only used as input.

Change-Id: I2a8cd53c658a640aea559a88ce33e857fa98cc5c
2022-12-10 11:44:10 +00:00
Kubernetes Prow Robot
0cd13e573c
Merge pull request #113196 from mimowo/job-controller-reviewer
Self-nominate mimowo as a reviewer for pkg/controller/job & test/integration/job packages
2022-12-10 02:01:39 -08:00
Gunju Kim
69fcde750a
Update daemonSet status even if syncDaemonSet fails
This ensures that the daemonset controller updates daemonset statuses in
a best-effort manner even if syncDaemonSet fails.

In order to add an integration test, this also replaces
`cmd/kube-apiserver/app/testing.StartTestServer` with
`test/integration/framework.StartTestServer` and adds
`setupWithServerSetup` to configure the admission control of the
apiserver.
2022-12-10 11:45:56 +09:00
Kubernetes Prow Robot
bc5c898b65
Merge pull request #112955 from deads2k/ingress-wait
wait for ingress admission to catch up to the cache during testing
2022-12-09 18:15:39 -08:00
Kubernetes Prow Robot
e1709e59d1
Merge pull request #113922 from alexzielenski/owners-alexzielenski
add alexzielenski to OWNERS
2022-12-09 14:35:24 -08:00
Kubernetes Prow Robot
a8b2f4b695
Merge pull request #113564 from tallclair/audit-config
Combine RequestAuditConfig with RequestAuditConfigWithLevel
2022-12-09 14:34:08 -08:00
Patrick Ohly
d3ad61aa01 e2e apimachiner: simplify cleanup
This is in preparation for
https://github.com/kubernetes/kubernetes/pull/112923: DeferCleanup will
automatically do the right thing when testCleanup gets changed to require a
context parameter.
2022-12-09 20:31:08 +01:00
dengyufeng2206
206669d2ed fix msg in /test/e2e/apps/daemon_set.go 2022-12-08 10:33:17 +08:00
Wei Huang
a75c0709d0
Deflake a preemption test that may patch Node incorrectly 2022-12-07 14:30:34 -08:00
Marko Mudrinić
4f1a51719b
releng: Update images, dependencies and version to Go 1.19.4
Signed-off-by: Marko Mudrinić <mudrinic.mare@gmail.com>
2022-12-05 12:33:55 +01:00
Sathyanarayanan Saravanamuthu
bf4f907bfa Improving schedule extender test coverage
Signed-off-by: Sathyanarayanan Saravanamuthu <sathyanarays@vmware.com>
2022-12-05 12:10:10 +05:30
Aldo Culquicondor
61fe6114b3
Reduce load of Job integration test
Change-Id: If99856aa6640375a8a9feff13fa213d4f974a99a
2022-12-02 12:58:28 -05:00
Antonio Ojea
5eb30f2762 be more strict on network timeouts
Change-Id: Ic4044af837047f31e6d60368b79d34dde1adbb98
2022-12-02 16:31:20 +00:00
Arda Güçlü
76ee3788cc kubectl scale: Add dry-run prefix to indicate result is not applied
Currently, if user executes `kubectl scale --dry-run`, output has no
indicator showing that this is not applied in reality.

This PR adds dry run suffix to the output as well as more integration
tests to verify it.
2022-12-02 16:27:18 +03:00
Arda Güçlü
13be899b42 kubectl scale: Use visitor only once
`kubectl scale` calls visitor two times. Second call fails when
the piped input is passed by returning an
`error: no objects passed to scale` error.

This PR uses the result of first visitor and fixes that piped
input problem. In addition to that, this PR also adds new
scale test to verify.
2022-12-02 16:00:22 +03:00
Arda Güçlü
832644f0b3 kubectl exec: return descriptive error message when multi resource passed
`kubectl exec` command supports getting files as inputs. However,
if the file contains multiple resources, it returns unclear error message;
`cannot attach to *v1.List: selector for *v1.List not implemented`.

Since `exec` command does not support multi resources, this PR
handles that and returns descriptive error message earlier.
2022-12-02 14:05:11 +03:00
David Eads
ffec39cb27 wait for ingress admission to catch up to the cache during testing 2022-12-01 13:16:39 -05:00
Brian Pursley
c0dea5e31a i18n: Fix bug where package-level variables are not translated.
Change i18n.T() to load translations if they have not yet been loaded.

Added new integration tests to test help output translation.
2022-11-29 23:09:57 -05:00
michael mccune
6981a1acf5 fix spelling error in e2e upgrade apps daemonset test 2022-11-29 15:56:15 -05:00
Riaan Kleinhans
0545a0a988
update ineligible endpoints yaml 2022-11-28 08:57:21 +13:00
Antonio Ojea
b89f42be26 remove flaky tag for GCE NEG tests
Fixed by

https://github.com/kubernetes/kubernetes/pull/113858
https://github.com/kubernetes/kubernetes/pull/113562
2022-11-25 08:52:35 +00:00
Paco Xu
75f89875f8 use etcd 3.5.6-0 after promotion 2022-11-24 09:45:56 +08:00
Kubernetes Prow Robot
7530baa9a1
Merge pull request #114044 from andrewsykim/fix-node-proxy-tests
test/e2e_node: set apiserver kubelet preferred addresses
2022-11-23 14:16:03 -08:00
Sascha Grunert
c032d7993a
Bump gcb-docker-gcloud to v20221007-69e0da97ef
Update the container images used in cloudbuild to their latest version.

Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
2022-11-23 16:03:28 +01:00
songxiao-wang87
9ae5af4b6a StorageVersionGC logger
Signed-off-by: songxiao-wang87 <wang.xiaosong23@zte.com.cn>
2022-11-23 03:20:12 +00:00
Talor Itzhak
56c5a95849 e2e: cpumanager: proper test clean-up
One of the cpumanager tests doesn't remove the pod
that got created during the test.

This causes pollution of other tests and failures
from time to time (depends on the test execution order).

In order to defalke the tests, we should delete the pod
and wait for it to be completely remove.

Signed-off-by: Talor Itzhak <titzhak@redhat.com>
2022-11-22 17:25:52 +02: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
Arda Güçlü
43a889fc65 Add integration test to test singularnames for all resources 2022-11-21 09:59:37 +03:00
Kubernetes Prow Robot
57eb5d631c
Merge pull request #113976 from swatisehgal/dra-fix-claim-parameter-name
dra: test examples: ensure that the claim parameter name is consistent
2022-11-18 05:16:30 -08:00
Kubernetes Prow Robot
77022402c5
Merge pull request #113960 from moshe010/doc
[DRA] Add RUNTIME_CONFIG="resource.k8s.io/v1alpha1"
2022-11-18 04:12:30 -08:00
Arda Güçlü
1f54f610e4 minor integration test fixes and more singular resource 2022-11-18 13:11:16 +03:00
Arda Güçlü
d6532f5eb8 run discovery tests if resources are supported 2022-11-18 12:21:13 +03:00
Arda Güçlü
0990ba1cc9 Introduce singularNameProvider for core types
This introduces `singularNameProvider`. This provider will be used
by core types to have their singular names are defined in discovery
endpoint. Thanks to that, core resources singular name always have
higher precedence than CRDs shortcuts or singular names.
2022-11-18 12:21:07 +03:00
Arda Güçlü
ab376e09dd Add integration tests for shortnames expanding to correct resources
This adds new integration tests to test shortnames and
singular names are expanding to correct resources.

In this case, core types have always higher precendence than
CRDs.
2022-11-18 12:18:31 +03:00
Yibo Zhuang
380c7f248e scheduler volumebinding: leverage PreFilterResult
This change will leverage the new PreFilterResult
to reduce down the list of eligible nodes for pod
using Bound Local PVs during PreFilter stage so
that only the node(s) which local PV node affinity
matches will be cosnidered in subsequent scheduling
stages.

Today, the NodeAffinity check is done during Filter
which means all nodes will be considered even though
there may be a large number of nodes that are not
eligible due to not matching the pod's bound local
PV(s)' node affinity requirement. Here we can
reduce down the node list in PreFilter to ensure that
during Filter we are only considering the reduced
list and thus can provide a more clear message to
users when node(s) are not available for scheduling
since the list only contains relevant nodes.

If error is encountered (e.g. PV cache read error) or
if node list reduction cannot be done (e.g. pod uses
no local PVs), then we will still proceed to consider
all nodes for the rest of scheduling stages.

Signed-off-by: Yibo Zhuang <yibzhuang@gmail.com>
2022-11-17 21:37:24 -08:00
Swati Sehgal
4d15502e43 dra: test examples: ensure that the claim parameter name is consistent
In the Dynamic Resource allocation example specs, the claim
parameter name specified was inconsistent.

This commit fixes that with a better/more consistent name,
which is used to define the configmap and referenced in
the `ResourceClaimTemplate` spec.

Signed-off-by: Swati Sehgal <swsehgal@redhat.com>
2022-11-17 14:56:42 +00:00
xin.li
5aeb9db52f fix invalid url
Signed-off-by: xin.li <xin.li@daocloud.io>
2022-11-17 18:24:54 +08:00
Kermit Alexander II
19242ec349 Add TestBindingRemoval. 2022-11-17 02:10:07 +00:00
Kermit Alexander II
cd3d014614 Add TestCRDParams. 2022-11-17 02:09:47 +00:00
Monis Khan
cb3410e1b7
kms: use different context for server lifecycle and initial load
Signed-off-by: Monis Khan <mok@microsoft.com>
2022-11-16 16:44:23 -05:00
Moshe Levi
f46b66088a [DRA] Add RUNTIME_CONFIG="resource.k8s.io/v1alpha1"
This flag is required to enable the DRA resource api

Signed-off-by: Moshe Levi <moshele@nvidia.com>
2022-11-16 23:09:24 +02:00
Kubernetes Prow Robot
43b7a25353
Merge pull request #113923 from claudiubelu/patch-9
e2e tests: Revert windows-nanoserver image version
2022-11-16 06:14:49 -08:00
Aldo Culquicondor
f40debc8c5
Add e2e test to ignore failures with 137 exit code
Change-Id: Iaf71284f34f420f5a30f43aad0bc284c84fc19f9
2022-11-15 14:31:12 -05:00
Kubernetes Prow Robot
dc7fd39eb7
Merge pull request #113738 from andrewsykim/cel-integration-tests
test/integration/apiserver/cel: more tests!
2022-11-15 09:44:41 -08:00
Claudiu Belu
4276f8c023
e2e tests: Revert windows-nanoserver image version
A recent PR [1] updated the image versions we use for E2E tests. However, the ``windows-nanoserver`` image is meant to be in a private authenticated registry: ``gcr.io/authenticated-image-pulling/windows-nanoserver``, which requires credentials to pull images from it. This image is required by the ``[sig-node] Container Runtime blackbox test when running a container with a new image should be able to pull from private registry with secret [NodeConformance]`` test for Windows. The ``v3`` image does not exist, there's no automatic promotion process for that registry. Previously, it was built and pushed manually.

Because of this, the https://testgrid.k8s.io/sig-windows-signal#capz-windows-containerd-master jobs have started to fail.

Reverts the image version to ``v1``.


[1] https://github.com/kubernetes/kubernetes/pull/113900
2022-11-15 19:04:03 +02:00
Alexander Zielenski
10b9a1fe19 add alexzielenski to OWNERS 2022-11-15 08:46:46 -08:00
Kubernetes Prow Robot
d34bdeea41
Merge pull request #113853 from jsafrane/add-volumepath
Fix subpath disruptive tests
2022-11-15 07:56:52 -08:00
Kubernetes Prow Robot
730d1e209f
Merge pull request #113650 from aojea/e2e_lb_conntrack
e2e loadbalancer udp conntrack test
2022-11-15 07:56:40 -08:00
Andrew Sy Kim
34a2d265d7 test/integration/apiserver/cel: update createAndWaitReady to retry on error including 'not yet synced to use for admission'
Signed-off-by: Andrew Sy Kim <andrewsy@google.com>
2022-11-14 22:27:16 -05:00
Andrew Sy Kim
7127f565f6 test/integration/apiserver/cel: add Test_ValidatingAdmissionPolicy_UpdateParamResource
Signed-off-by: Andrew Sy Kim <andrewsy@google.com>
2022-11-14 21:48:12 -05:00
Andrew Sy Kim
0fb038fb15 test/integration/apiserver/cel: add lifecycle tests for deleting/recreating policy, policy bindings, and param resources
Signed-off-by: Andrew Sy Kim <andrewsy@google.com>
2022-11-14 21:48:12 -05:00
Andrew Sy Kim
3f477f847d test/integration/apiserver/cel: update feature gate name CELValidatingAdmission -> ValidatingAdmissionPolicy
Signed-off-by: Andrew Sy Kim <andrewsy@google.com>
2022-11-14 21:48:12 -05:00
Andrew Sy Kim
38d884580b test/integration/apiserver/cel: add tests for match resources and match policy
Signed-off-by: Andrew Sy Kim <andrewsy@google.com>
2022-11-14 21:48:12 -05:00
Kubernetes Prow Robot
3cfa245342
Merge pull request #113900 from marosset/update-e2e-test-image-refs
Updating refs for e2e test images to latest
2022-11-14 17:18:42 -08:00
Mark Rossetti
e6a1f3b626
Removing --alsologtostderr from sample-webhook containers used for e2e tests
Signed-off-by: Mark Rossetti <marosset@microsoft.com>
2022-11-14 16:00:44 -08:00
Kubernetes Prow Robot
9b5782959b
Merge pull request #113895 from marosset/use-pause-3.9
Updating pause image refernces to 3.9
2022-11-14 15:18:41 -08:00
Mark Rossetti
575ee2c782
Updating refs for e2e test images to latest
Signed-off-by: Mark Rossetti <marosset@microsoft.com>
2022-11-14 14:47:16 -08:00
Kubernetes Prow Robot
b6b0e1a0c8
Merge pull request #113814 from sftim/20221110_mark_instrumentation_doc_autogenerated
Fix autogeneration mark for instrumentation doc
2022-11-14 12:00:41 -08:00
Mark Rossetti
534f052a8d
Updating pause image refernces to 3.9
Signed-off-by: Mark Rossetti <marosset@microsoft.com>
2022-11-14 10:24:54 -08:00
Kubernetes Prow Robot
b10731edc3
Merge pull request #113850 from aojea/e2e_service_panic
remove unused afterEach hook on e2e services
2022-11-14 09:50:53 -08:00
Rafael Fonseca
f98aa32c5a tests: network: Prefer internal IPs first
Many clusters block direct requests from internal resources to the nodes
external IPs as best practice. All accesses from internal resources that
want to access resources running on nodes go through load balancers,
nodes being on private or public subnets. Let's prefer internal IPs
first, so the tests can work even when there are security group rules
present blocking requests to the external IPs.

We should not require ExternalIP for Conformance, but should keep
testing ExternalIPs in sig network.

Signed-off-by: Rafael Fonseca <r4f4rfs@gmail.com>
2022-11-14 17:56:46 +01:00
Andrew Sy Kim
894063908f test/integration/apiserver/cel: add additional test cases to Test_ValidateNamespace_NoParams for unguarded params
Signed-off-by: Andrew Sy Kim <andrewsy@google.com>
2022-11-14 11:03:52 -05:00
Andrew Sy Kim
e2ce260f7a test/integration/apiserver/cel: add Test_ValidatingAdmissionPolicy_UpdateParamRef
Signed-off-by: Andrew Sy Kim <andrewsy@google.com>
2022-11-14 11:03:52 -05:00
Andrew Sy Kim
cbcc22eb9c test/integration/apiserver/cel: add Test_ValidatingAdmissionPolicy_UpdateParamKind
Signed-off-by: Andrew Sy Kim <andrewsy@google.com>
2022-11-14 11:03:52 -05:00
Andrew Sy Kim
3d30b97cd8 test/integration/apiserver/cel: add Test_PolicyExemption
Signed-off-by: Andrew Sy Kim <andrewsy@google.com>
2022-11-14 11:03:52 -05:00
Kubernetes Prow Robot
29ddedae1d
Merge pull request #113541 from oscr/update-shellcheck-0.8.0
Update shellcheck version (0.7.2 -> 0.8.0) and fix findings
2022-11-12 02:23:57 -08:00
Kubernetes Prow Robot
d1c0171aed
Merge pull request #111023 from pohly/dynamic-resource-allocation
dynamic resource allocation
2022-11-11 16:21:56 -08:00
Patrick Ohly
99ead56b7c e2e dra: add support for containerd from main in kind
These instructions bring up a kind cluster with containerd 34d078e99, the
latest commit from the main branch. This version of containerd has
support for CDI.
2022-11-12 00:17:17 +01:00
Patrick Ohly
14db9d1f92 e2e dra: add test driver and tests for dynamic resource allocation
The driver can be used manually against a cluster started with
local-up-cluster.sh and is also used for E2E testing. Because the tests proxy
connections from the nodes into the e2e.test binary and create/delete files via
the equivalent of "kubectl exec dd/rm", they can be run against arbitrary
clusters. Each test gets its own driver instance and resource class, therefore
they can run in parallel.
2022-11-12 00:17:15 +01:00
Kubernetes Prow Robot
263ba476ba
Merge pull request #113764 from Jefftree/foobar
Fix bugs with aggregated discovery
2022-11-11 13:11:56 -08:00
Alexander Zielenski
93caf125b9 add discovery integration tests
add crd integration tests
\
2022-11-11 11:19:31 -08:00
Kubernetes Prow Robot
e4d46148de
Merge pull request #113826 from jsafrane/add-openstack
Add CSI migration of OpenStack Cinder volumes
2022-11-11 11:00:07 -08:00
Kubernetes Prow Robot
e451cf5ffe
Merge pull request #113169 from soltysh/use_waitgroup
Use goroutine to speed up volume clenaups
2022-11-11 10:59:55 -08:00
Kubernetes Prow Robot
4b1b42624e
Merge pull request #113848 from atiratree/113036-fix-ds-dedup-histories
integration: fix race with the controller in TestDSCUpdatesPodLabelAfterDedupCurHistories
2022-11-11 09:18:09 -08:00
Jan Safranek
3fdd4ca7a4 Fix subpath disruptive tests
Add volumePath parameter to all disruptive checks, so subpath tests can use
"/test-volume" and disruptive tests can use "/mnt/volume1" for their
respective Pods.
2022-11-11 14:03:33 +01:00
Kubernetes Prow Robot
cc704f9778
Merge pull request #113375 from atiratree/PodHealthyPolicy-api
api: add unhealthyPodEvictionPolicy for PDBs
2022-11-11 04:02:10 -08:00
Antonio Ojea
cccc8da724 remove unused afterEach hook on e2e services 2022-11-11 11:30:13 +00:00
Jan Safranek
6005c3b512 Remove OpenStack cloud provider
And keep OpenStack Cinder CSI translation
2022-11-11 12:04:55 +01:00
Filip Křepinský
1e078f1630 fix race with the controller in TestDSCUpdatesPodLabelAfterDedupCurHistories 2022-11-11 11:52:56 +01:00
Tim Bannister
5ff160e98c Update generated Kubernetes Metrics Reference 2022-11-11 09:19:13 +00:00
Tim Bannister
b61ed2d875 Fix autogenerated mark for instrumentation doc
The https://k8s.io/docs/ website uses this marker to highlight that
pages should not be directly edited in k/website
2022-11-11 09:19:00 +00:00
Kubernetes Prow Robot
cf12a74b18
Merge pull request #113835 from zshihang/master
fix test flake in TestLegacyServiceAccountTokenTracking
2022-11-10 18:36:12 -08:00
Filip Křepinský
2fbbc473b7 integration: add eviction tests for UnhealthyPodEvictionPolicy 2022-11-10 23:32:27 +01:00
Kubernetes Prow Robot
7785ad083b
Merge pull request #113812 from mimowo/handling-pod-failures-beta-enable-e2e-test
Add e2e test for job pod failure policy used to match pod disruption
2022-11-10 13:58:09 -08:00
Shihang Zhang
6784610beb fix test flake in TestLegacyServiceAccountTokenTracking 2022-11-10 13:48:53 -08:00
Kubernetes Prow Robot
3649eeae9c
Merge pull request #113824 from logicalhan/more-docs
update documentation after code freeze
2022-11-10 11:33:26 -08:00
Kubernetes Prow Robot
763f68ef77
Merge pull request #113819 from soltysh/events_beta
Move events command to top level
2022-11-10 11:33:14 -08:00
Patrick Ohly
5cca60f0b8 api: dynamic resource allocation API
This adds a new resource.k8s.io API group with v1alpha1 as version. It contains
four new types: resource.ResourceClaim, resource.ResourceClass, resource.ResourceClaimTemplate, and
resource.PodScheduling.
2022-11-10 20:08:24 +01:00
Patrick Ohly
5433da0419 test: adapt reference data to Pod changes
These tests print a v1.Pod with Sprintf, which includes the new field even when
it is empty.
2022-11-10 20:08:24 +01:00
Jan Safranek
5b284a50b7 Revert "Remove references to openstack and cinder"
This reverts commit 9bbf01bae9.
2022-11-10 18:25:30 +01:00
Han Kang
4c9d3a1c42 update documentation after code freeze
Change-Id: Ifdc6ec5ef8a0070f4f5cae74543671c4ceb01a4d
2022-11-10 08:45:43 -08:00
Kubernetes Prow Robot
d94261e904
Merge pull request #113186 from ttakahashi21/KEP-3294
Introduce APIs to support CrossNamespaceSourceProvisioning
2022-11-10 08:06:54 -08:00
Michal Wozniak
41285a7c91 Add e2e test for job pod failure policy used to match pod disruption 2022-11-10 15:50:02 +01:00
Maciej Szulik
50c7ebb5b4
Move events command to top level 2022-11-10 14:44:22 +01:00
Maciej Szulik
0253397fbd
Use goroutine to speed up volume clenaups
This removes WaitTimeoutForPodNoLongerRunningOrNotFoundInNamespace
introduced in f2b9479f8e and changes
the test to use goroutines to speed up the cleanups.
2022-11-10 13:15:06 +01:00
Jan Safranek
ee12e3ff42 Add [Feature:SELinux] to all tests that require SELinux
Most CI jobs run an OS that does not support SELinux, therefore tests that
need it should be skipped by default.

* [Feature:SELinux] marks tests that need SELinux (for any feature)
* [Feature:SELinuxMountReadWriteOncePod] marks tests that need
  SELinuxMountReadWriteOncePod alpha gate enabled.

Currently, all SELinux tests have both, but it will change in the future.
2022-11-10 10:18:11 +01:00
Kubernetes Prow Robot
77b027936a
Merge pull request #113803 from dashpole/revert-113693-apiserver_tracing_beta
Revert "Graduate API Server tracing to beta"
2022-11-09 23:36:53 -08:00
Cici Huang
2973712486 Rename FG to ValidatingAdmissionPolicy 2022-11-10 03:37:35 +00:00
David Ashpole
e799fcdadd
Revert "Graduate API Server tracing to beta" 2022-11-09 22:37:28 -05:00
Kubernetes Prow Robot
98bd73cfe0
Merge pull request #113724 from kerthcet/cleanup/klog
Replace klog with benchmark log framework in scheduler_perf
2022-11-09 19:34:53 -08:00
Takafumi Takahashi
87c1ca88d4 Add API and validation for CrossNamespaceVolumeDataSource 2022-11-09 20:58:25 +00:00
Kubernetes Prow Robot
8eddcac00a
Merge pull request #113597 from ionutbalutoiu/tests/lifecycle-hooks
tests: Spawn poststart / prestop pods on the same node as the https pod
2022-11-09 11:12:40 -08:00
Kubernetes Prow Robot
f2fccffd9b
Merge pull request #113708 from apelisse/fix-ssa-flaky-test
Ignore error when getting api-resources until it's ready
2022-11-09 08:30:48 -08:00
Kubernetes Prow Robot
7e0e0c8ec3
Merge pull request #113360 from mimowo/handling-pod-failures-beta-enable
Enable the "Retriable and non-retriable pod failures for jobs" feature into beta
2022-11-09 08:30:24 -08:00
Kubernetes Prow Robot
b2c72feca8
Merge pull request #113693 from dashpole/apiserver_tracing_beta
Graduate API Server tracing to beta
2022-11-09 04:54:13 -08:00
Kubernetes Prow Robot
a14601a77f
Merge pull request #113753 from gnufied/fix-broken-e2e-csi-serial-readwrite-once
Fix broken readwriteOncePod serial tests
2022-11-09 03:50:24 -08:00
Antonio Ojea
c8ee2f2f79 e2e loadbalancer udp conntrack test 2022-11-09 10:32:47 +00:00
Kubernetes Prow Robot
1193a9abcb
Merge pull request #113485 from MikeSpreitzer/apf-borrowing
Add borrowing between priority levels in APF
2022-11-09 01:40:12 -08:00
Kubernetes Prow Robot
8058e8eff8
Merge pull request #113171 from Jefftree/aggregated-discovery-generic
Aggregated discovery server changes
2022-11-09 00:08:12 -08:00
Michal Wozniak
818e180300 Add e2e test for adding DisruptionTarget condition to the preemption victim pod 2022-11-09 09:02:40 +01:00
Michal Wozniak
c803892bd8 Enable the feature into beta 2022-11-09 09:02:40 +01:00
Kubernetes Prow Robot
b3c4fb1f78
Merge pull request #113751 from logicalhan/newDesc
clean up errors, ensure they log lines, improve documentation
2022-11-08 23:04:12 -08:00
Mike Spreitzer
feb4227788 apiserver: finish implementation of borrowing in APF
Also make some design changes exposed in testing and review.

Do not remove the ambiguous old metric
`apiserver_flowcontrol_request_concurrency_limit` because reviewers
though it is too early.  This creates a problem, that metric can not
keep both of its old meanings.  I chose the configured concurrency
limit.

Testing has revealed a design flaw, which concerns the initialization
of the seat demand state tracking.  The current design in the KEP is
as follows.

> Adjustment is also done on configuration change … For a newly
> introduced priority level, we set HighSeatDemand, AvgSeatDemand, and
> SmoothSeatDemand to NominalCL-LendableSD/2 and StDevSeatDemand to
> zero.

But this does not work out well at server startup.  As part of its
construction, the APF controller does a configuration change with zero
objects read, to initialize its request-handling state.  As always,
the two mandatory priority levels are implicitly added whenever they
are not read.  So this initial reconfig has one non-exempt priority
level, the mandatory one called catch-all --- and it gets its
SmoothSeatDemand initialized to the whole server concurrency limit.
From there it decays slowly, as per the regular design.  So for a
fairly long time, it appears to have a high demand and competes
strongly with the other priority levels.  Its Target is higher than
all the others, once they start to show up.  It properly gets a low
NominalCL once other levels show up, which actually makes it compete
harder for borrowing: it has an exceptionally high Target and a rather
low NominalCL.

I have considered the following fix.  The idea is that the designed
initialization is not appropriate before all the default objects are
read.  So the fix is to have a mode bit in the controller.  In the
initial state, those seat demand tracking variables are set to zero.
Once the config-producing controller detects that all the default
objects are pre-existing, it flips the mode bit.  In the later mode,
the seat demand tracking variables are initialized as originally
designed.

However, that still gives preferential treatment to the default
PriorityLevelConfiguration objects, over any that may be added later.

So I have made a universal and simpler fix: always initialize those
seat demand tracking variables to zero.  Even if a lot of load shows
up quickly, remember that adjustments are frequent (every 10 sec) and
the very next one will fully respond to that load.

Also: revise logging logic, to log at numerically lower V level when
there is a change.

Also: bug fix in float64close.

Also, separate imports in some file

Co-authored-by: Han Kang <hankang@google.com>
2022-11-08 21:51:44 -08:00
Kubernetes Prow Robot
e62cfabf93
Merge pull request #112050 from nilekhc/kms-hot-reload
Implements hot reload of the KMS `EncryptionConfiguration`
2022-11-08 17:24:12 -08:00
kerthcet
d6ffb47832 Replace klog with benchmark log in scheduler_perf
Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-11-09 09:11:55 +08:00
Kubernetes Prow Robot
d619f60e0f
Merge pull request #113442 from Huang-Wei/kep-3521-C
[KEP-3521] Part 3: Bug fixes, integration & E2E Test
2022-11-08 15:08:15 -08:00
Alexander Zielenski
91d0d48326 add aggregated discovery integration tests
Co-authored-by: Jeffrey Ying <jeffrey.ying86@live.com>
2022-11-08 14:44:50 -08:00
David Ashpole
4be473c774
promote TracingConfiguration to v1beta1 2022-11-08 22:44:07 +00:00
David Ashpole
fc3cec6bf3
graduate API Server tracing to beta 2022-11-08 22:44:07 +00:00
Nilekh Chaudhari
761b7822fc
feat: implements kms encryption config hot reload
This change enables hot reload of encryption config file when api server
flag --encryption-provider-config-automatic-reload is set to true. This
allows the user to change the encryption config file without restarting
kube-apiserver. The change is detected by polling the file and is done
by using fsnotify watcher. When file is updated it's process to generate
new set of transformers and close the old ones.

Signed-off-by: Nilekh Chaudhari <1626598+nilekhc@users.noreply.github.com>
2022-11-08 21:47:59 +00:00
Han Kang
f61fcef706 go fmt
Change-Id: I631ef35f10e8434b5a6deccedab6158f7199faa3
2022-11-08 13:34:17 -08:00
Hemant Kumar
8cc30f5e0b Fix broken readwriteOncePod serial tests
These tests can't yet run in non-alpha clusters
2022-11-08 15:58:53 -05:00
Kubernetes Prow Robot
3a99a5954d
Merge pull request #113629 from andrewsykim/apiserver-identity-beta
Promote APIServerIdentity to Beta
2022-11-08 12:43:10 -08:00
Kubernetes Prow Robot
da735b5415
Merge pull request #113596 from jsafrane/selinux-reconstruction
Reconstruct SELinux  mount label
2022-11-08 12:43:03 -08:00
Kubernetes Prow Robot
6687496832
Merge pull request #113383 from pohly/e2e-failure-handling
e2e: improve failure handling
2022-11-08 12:42:31 -08:00
Wei Huang
abe0c5d5b4
E2E test for KEP Scheduling Readiness Gates 2022-11-08 12:38:21 -08:00
Han Kang
bf7d65c15c clean up errors, ensure they log lines, improve documentation
Change-Id: Icf4da7410dc9ecfb3616511ea55339e1d0690c49
2022-11-08 12:18:08 -08:00
Wei Huang
ae5d430c76
Integration tests for KEP Pod Scheduling Readiness
- test generic integration in plugins_test.go
- test integration with SchedulingGates plugin in queue_test.go
2022-11-08 10:06:44 -08:00
Maciej Szulik
3c93d540c6
Revert "Update daemonSet status even if syncDaemonSet fails"
This reverts commit 2ee024a4df.
2022-11-08 15:01:09 +01:00
Jan Safranek
d6c36736d5 Add mock CSI driver test for SELinux mount 2022-11-08 13:37:09 +01:00
Jan Safranek
802979c295 Add SELinux disruptive test 2022-11-08 12:42:20 +01:00
Kubernetes Prow Robot
aef9a37df9
Merge pull request #113010 from soltysh/promote_job_metrics
Promote job metrics
2022-11-08 03:16:32 -08:00
Oscar Utbult
61cd37b806 Update shellcheck version (0.7.2 -> 0.8.0) and fix findings 2022-11-08 11:53:57 +01:00
Kubernetes Prow Robot
95bd687a28
Merge pull request #113275 from Huang-Wei/kep-3521-B
[KEP-3521] Part 2: Core scheduling implementation
2022-11-07 23:18:19 -08:00
Kubernetes Prow Robot
595ea32411
Merge pull request #113314 from cici37/celIntegration
CEL validation in Admission chain
2022-11-07 17:08:33 -08:00
Kubernetes Prow Robot
2f837dc113
Merge pull request #112905 from alexzielenski/kubectl-apply-csa-migration
kubectl: `apply --server-side` managed fields migration
2022-11-07 17:08:21 -08:00
Andrew Sy Kim
c2d387ce54 test/integration/controlplane: update APIServerIdentity tests to use public lease parameter vars
Signed-off-by: Andrew Sy Kim <andrewsy@google.com>
2022-11-07 19:42:05 -05:00
Antoine Pelisse
7596488769 Ignore error when getting api-resources until it's ready 2022-11-07 16:36:24 -08:00
Andrew Sy Kim
368f9f949a test/e2e/apimachinery: add e2e test for APIServerIdentity, validating behavior when restarting kube-apiserver
Signed-off-by: Andrew Sy Kim <andrewsy@google.com>
2022-11-07 19:36:22 -05:00
Kubernetes Prow Robot
0e9a2e6bcf
Merge pull request #113669 from wojtek-t/clean_shutdown_final
Clean shutdown final
2022-11-07 16:01:45 -08:00
Kubernetes Prow Robot
6ee5e10f02
Merge pull request #113642 from dashpole/more_tracing_tests
Additional integration test validations for apiserver tracing
2022-11-07 16:01:37 -08:00
Kubernetes Prow Robot
1a3db7dd67
Merge pull request #113610 from logicalhan/refactor-stability
update documentation for metrics with deprecated version and k8s version
2022-11-07 16:01:23 -08:00
Kubernetes Prow Robot
68875cf4a7
Merge pull request #113047 from everpeace/improve-supplemental-groups-description
Improve the API  description of `PodSecurityContext.SupplementalGroups` to clarify its unfamiliar behavior
2022-11-07 16:01:00 -08:00
Kubernetes Prow Robot
47952e0917
Merge pull request #112360 from mimowo/handling-pod-failures-beta-kubelet
Add pod disruption conditions for kubelet-initiated failures
2022-11-07 16:00:40 -08:00
Kubernetes Prow Robot
b4f42864f5
Merge pull request #112127 from gjkim42/update-status-despite-error
Update daemonSet status even if syncDaemonSet fails
2022-11-07 16:00:28 -08:00
Kubernetes Prow Robot
fbde6ab05c
Merge pull request #111724 from dobsonj/csi-inline-conformance-tests
CSI Inline Volumes: promote API tests to conformance
2022-11-07 16:00:16 -08:00
Wei Huang
0b27f25252
PreEnqueue implementation
- Add PreEnqueuePlugin to Scheduler Framework
- Implement PreEnqueuePlugin in scheduler queue
- Implementation of SchedulingGates plugin
- Metrics
2022-11-07 14:02:58 -08:00
Cici Huang
e7d83a1fb7 Integrate cel admission with API.
Co-authored-by: Alexander Zielenski <zielenski@google.com>
Co-authored-by: Joe Betz <jpbetz@google.com>
2022-11-07 21:38:55 +00:00
Cici Huang
d86cfa9854 Add integration test.
Co-authored-by: Kermit Alexander II <kermitalexandr@google.com>
2022-11-07 21:35:58 +00:00
Cici Huang
0486e06261 Adding new api version of admissionregistration.k8s.io v1alpha1 for CEL in Admission Control 2022-11-07 20:51:51 +00:00
Han Kang
92c76e5363 fix shellcheck errors
Change-Id: I446cc2fb8b0a8bcf86578562daa5ea41bf8aba16
2022-11-07 12:44:40 -08:00
Kubernetes Prow Robot
7369bd27e0
Merge pull request #113679 from alculquicondor/test-approver
Add alculquicondor to test/integration/framework OWNERS
2022-11-07 12:42:40 -08:00
Kubernetes Prow Robot
3d5725d9c0
Merge pull request #113649 from andrewsykim/apiserver-identity-hash
apiserver identity : use SHA256 hash in lease names
2022-11-07 11:20:49 -08:00
Kubernetes Prow Robot
b1dd1cd2f1
Merge pull request #113529 from enj/enj/i/kms_single_healthz
kms: add wiring to support automatic encryption config reload
2022-11-07 11:20:42 -08:00
David Ashpole
ffae39dbde
additional integration test validations for apiserver tracing 2022-11-07 19:18:46 +00:00
Maciej Szulik
39d9981dc2
Promote job-related metrics to stable 2022-11-07 19:28:40 +01:00
Aldo Culquicondor
337c515db8
Add alculquicondor to test/integration/framework OWNERS
Change-Id: I60c91252abf985e36ba2296f763dc61792cec4d0
2022-11-07 13:13:50 -05:00
Kubernetes Prow Robot
73f6b96f0a
Merge pull request #113615 from kerthcet/feat/add-benchmark-tests
Add nodeInclusionPolicy benchmark tests to scheduler_perf
2022-11-07 09:18:28 -08:00
Monis Khan
22e540bc48
kms: add wiring to support automatic encryption config reload
This change adds a flag --encryption-provider-config-automatic-reload
which will be used to drive automatic reloading of the encryption
config at runtime.  While this flag is set to true, or when KMS v2
plugins are used without KMS v1 plugins, the /healthz endpoints
associated with said plugins are collapsed into a single endpoint at
/healthz/kms-providers - in this state, it is not possible to
configure exclusions for specific KMS providers while including the
remaining ones - ex: using /readyz?exclude=kms-provider-1 to exclude
a particular KMS is not possible.  This single healthz check handles
checking  all configured KMS providers.  When reloading is enabled
but no KMS providers are configured, it is a no-op.

k8s.io/apiserver does not support dynamic addition and removal of
healthz checks at runtime.  Reloading will instead have a single
static healthz check and swap the underlying implementation at
runtime when a config change occurs.

Signed-off-by: Monis Khan <mok@microsoft.com>
2022-11-07 12:03:18 -05:00
Andrew Sy Kim
5b3a9e2d75 apiserver identity : use SHA256 hash in lease names
Signed-off-by: Andrew Sy Kim <andrewsy@google.com>
2022-11-07 12:02:57 -05:00
Kubernetes Prow Robot
ac95e5b701
Merge pull request #113510 from alculquicondor/finalizers-stable
Graduate JobTrackingWithFinalizers to stable
2022-11-07 08:06:41 -08:00
Kubernetes Prow Robot
240f6651e1
Merge pull request #113503 from kerthcet/cleanup/use-string-like-type
Refactor scheduler_perf_test codes
2022-11-07 08:06:29 -08:00
Wojciech Tyczyński
1b976760db Improve debuggability of leaking goroutines 2022-11-07 15:04:08 +01:00
Michal Wozniak
52cd6755eb Add pod disruption conditions for kubelet initiated failures 2022-11-07 11:23:22 +01:00
Wojciech Tyczyński
71d87272de Clean shutdown of apply integration tests 2022-11-07 09:14:15 +01:00
Kubernetes Prow Robot
565f582c4b
Merge pull request #113199 from bobbypage/node_e2e_stop_kubelet
test: Stop kubelet systemd service after node e2e
2022-11-06 01:34:16 -08:00
Shingo Omura
ac1d5fdf37
Improve the description of PodSecurityContext.SupplementalGroups (including cri-api)
so that it explicitly describe group information defined in the
container image will be kept. This also adds e2e test case of
SupplementalGroups with pre-defined groups in the container
image to make the behaivier clearer.
2022-11-06 10:03:13 +09:00
David Ashpole
64af1adace
Second attempt: Plumb context to Kubelet CRI calls (#113591)
* plumb context from CRI calls through kubelet

* clean up extra timeouts

* try fixing incorrectly cancelled context
2022-11-05 06:02:13 -07:00
Alexander Zielenski
33b9552e70 add kubectl server-side apply migrate managedfields
in discussion with SIG, there is a strong interest in keeping the last-applied-configuration around for a bit longer as other tools transition for of it. This is OK since SSA maintains the annotation on kubectl's behalf on the server-side if it exists

migrate client-side-apply fields to SSA when --serverside-side is used

https://github.com/kubernetes/kubernetes/issues/107980

https://github.com/kubernetes/kubernetes/issues/108081

https://github.com/kubernetes/kubernetes/issues/107417

https://github.com/kubernetes/kubernetes/issues/112826

add test to make sure only one apply is needed after migration
2022-11-04 14:09:29 -07:00
Aldo Culquicondor
4948918155
Graduate JobTrackingWithFinalizers to stable
Change-Id: Ifc749a85b1270c0155ac511b91d4681d53236820
2022-11-04 17:05:53 -04:00
Davanum Srinivas
f19589d38a
Switch to newer nvidia installer for m97
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2022-11-04 14:32:04 -04:00
Kubernetes Prow Robot
8a6cd6e76d
Merge pull request #113601 from marosset/use-resource-consumer-1.13
e2e - use resource-consumer:1.13
2022-11-04 10:52:36 -07:00
Kubernetes Prow Robot
b20ddbd75a
Merge pull request #113351 from andrewsykim/endpointslice-terminating-ga
Promote EndpointSliceTerminatingCondition to GA
2022-11-04 09:36:39 -07:00
Kubernetes Prow Robot
ead17f3dc8
Merge pull request #113008 from soltysh/promote_cronjob_metrics
Promote cronjob_job_creation_skew metric to stable
2022-11-04 09:36:27 -07:00
kerthcet
bc15aca26d Refactor SchedulerConfigFile
Rename to SchedulerConfigPath and make it a pointer
to be consist with other fields

Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-11-05 00:30:34 +08:00
kerthcet
48f2c9ec20 Add benchmark tests for nodeInclusionPolicy
Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-11-05 00:13:43 +08:00
kerthcet
20492f5555 Remove GetReadySchedulableNodes in scheduler_perf
When preparing or cleaning up nodes, list all schedulable ones

Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-11-05 00:13:21 +08:00
Kubernetes Prow Robot
c8a3657bde
Merge pull request #113307 from andrewsykim/apiserver-identity-hostname
apiserver identity: use persistent names for lease objects
2022-11-04 07:28:25 -07:00
Kubernetes Prow Robot
1bf4af4584
Merge pull request #111930 from azylinski/new-histogram-pod_start_sli_duration_seconds
New histogram: Pod start SLI duration
2022-11-04 07:28:14 -07:00
Maciej Szulik
4af97e599a
Promote cronjob_job_creation_skew metric to stable 2022-11-04 13:55:32 +01:00
Kubernetes Prow Robot
892a29b93b
Merge pull request #113620 from wojtek-t/clean_shutdown_6
Clean shutdown of nodeipam controller
2022-11-04 05:14:25 -07:00
Kubernetes Prow Robot
6fe5429969
Merge pull request #113273 from bobbypage/restart_test_fix
test: Fix e2e_node restart_test flake
2022-11-04 05:14:14 -07:00
Wojciech Tyczyński
7253f708a8 Decrease goroutines 2022-11-04 10:34:36 +01:00
Kubernetes Prow Robot
8c77820759
Merge pull request #113274 from Huang-Wei/kep-3521-A
[KEP-3521] Part 1: New Pod API .spec.schedulingGates
2022-11-03 21:24:25 -07:00
Andrew Sy Kim
f74f819e1a apiserver identity: update Lease creation integration test to validate new naming format and hostname label
Signed-off-by: Andrew Sy Kim <andrewsy@google.com>
2022-11-03 22:53:56 -04:00
Kubernetes Prow Robot
54d3de0850
Merge pull request #113562 from aojea/e2e_lb
e2e loadbalancer remove after each cleanup
2022-11-03 18:54:13 -07:00
Andrew Sy Kim
9e24680d0b test/integration/endpointslice: remove references to EndpointSliceTerminatingCondition feature gate
Signed-off-by: Andrew Sy Kim <andrewsy@google.com>
2022-11-03 20:26:51 -04:00
Han Kang
dfff6e4364 update documentation for metrics with deprecated version and version of k8s
Change-Id: Ia04d21f6644e7fc498304c0035d6f1ae58766a91
2022-11-03 14:57:57 -07:00
Wei Huang
7b6293b6b6
APIs, Validation and condition enforcements
- New API field .spec.schedulingGates
- Validation and drop disabled fields
- Disallow binding a Pod carrying non-nil schedulingGates
- Disallow creating a Pod with non-nil nodeName and non-nil schedulingGates
- Adds a {type:PodScheduled, reason:WaitingForGates} condition if necessary
- New literal SchedulingGated in the STATUS column of `k get pod`
2022-11-03 14:32:34 -07:00
Mark Rossetti
81e7c9bca0
e2e - use resource-consumer:1.13
Signed-off-by: Mark Rossetti <marosset@microsoft.com>
2022-11-03 11:21:18 -07:00
Kubernetes Prow Robot
3b6b8f9101
Merge pull request #113560 from logicalhan/refactor-stability
refactor static analysis code for stability framework
2022-11-03 10:31:37 -07:00
Ionut Balutoiu
f092343300 tests: Spawn poststart / prestop pods on the same node as the https pod
In the PR https://github.com/kubernetes/kubernetes/pull/86139, two more lifecycle hook tests (poststart / prestop)
were added using HTTPS. They are similar with the existing HTTP tests.

However, this causes failures on Windows due to how networking
works there. We previously fixed this in the HTTP tests via f9e4a015e2.

This commit applies the same fix on the lifecycle hook HTTPS tests.

Signed-off-by: Ionut Balutoiu <ibalutoiu@cloudbasesolutions.com>
2022-11-03 19:25:15 +02:00
Kubernetes Prow Robot
c98aef484d
Merge pull request #112895 from nokia/kep-1435-GA
KEP-1435 Mixed Protocol values in LoadBalancer Service GA
2022-11-03 05:43:35 -07:00
Laszlo Janosi
9d75c958ce Fix review comments. Implement endpoint port validation that verifies the protocol, too. 2022-11-03 10:54:14 +02:00
Kubernetes Prow Robot
a9f87ad6c8
Merge pull request #113384 from pohly/e2e-formatting
e2e: formatting enhancements
2022-11-02 21:40:08 -07:00
Kubernetes Prow Robot
818b13544f
Merge pull request #106242 from thockin/revive-copy-lb-status-type-to-ingress
Copy LoadBalancerStatus from core to networking
2022-11-02 21:39:34 -07:00
Kubernetes Prow Robot
3cf75a2f76
Merge pull request #103177 from arkbriar/support_cancelable_exec_stream
Support cancelable SPDY executor stream
2022-11-02 19:47:36 -07:00
Kubernetes Prow Robot
01a58847e1
Merge pull request #113233 from dashpole/fix_tracing_integration_tests
Fix and extend APIServerTracing integration tests
2022-11-02 18:20:53 -07:00
Kubernetes Prow Robot
4b2aa18bde
Merge pull request #113478 from alculquicondor/finalizer_metric
Add benchmark for large indexed job
2022-11-02 16:29:13 -07:00
Tim Hockin
0153bfad16
Copy LoadBalancerStatus from core to networking
This type should never have been shared between Service and Ingress.
The `ports` field is unfortunate, but it is needed to stay compatible.
2022-11-02 16:13:31 -07:00
Tim Allclair
1a1ca5173e Combine RequestAuditConfig with RequestAuditConfigWithLevel 2022-11-02 15:24:14 -07:00
Antonio Ojea
924b467789 e2e loadbalancer remove after each cleanup
The cloud-provider and the e2e test were racing on deleting the
cloud resources.

Also, the cloud-provider should not leave orphan resources, that will
be detected by the job and fail, thus we should not have additional
logic to cleanup masking these errors.
2022-11-02 22:23:45 +00:00
Han Kang
78704ae47d refactor static analysis code for stability framework
Change-Id: I4049f16063264603fb61cbeb0cdb4010267fc19c
2022-11-02 14:52:31 -07:00
Kubernetes Prow Robot
433787d25b
Merge pull request #113018 from fromanirh/cpumanager-ga-features
node: kubelet: cpumgr: CPU Manager to GA
2022-11-02 14:41:01 -07:00
Kubernetes Prow Robot
2acad1b8c4
Merge pull request #113550 from xmudrii/go-1193
releng: Update images, dependencies and version to Go 1.19.3
2022-11-02 13:17:13 -07:00
Kubernetes Prow Robot
50fecb3e36
Merge pull request #113020 from marosset/resource-consumer-windows-updates
resource-consumer windows image use leak-and-touch for memory allocations
2022-11-02 11:53:06 -07:00
Francesco Romani
ff44dc1932 cpumanager: the FG is locked to default (ON)
hence we can remove the if() guards, the feature
is always available.

Signed-off-by: Francesco Romani <fromani@redhat.com>
2022-11-02 18:41:41 +01:00
Kubernetes Prow Robot
63e40b1ed4
Merge pull request #113548 from aojea/revert_113408
Revert "plumb context from CRI calls through kubelet"
2022-11-02 10:13:14 -07:00
Marko Mudrinić
b928c53522
releng: Update images, dependencies and version to Go 1.19.3
Signed-off-by: Marko Mudrinić <mudrinic.mare@gmail.com>
2022-11-02 17:19:52 +01:00
Aldo Culquicondor
5e03865f65
Add benchmark for large indexed job
Change-Id: I556f0cce5842699c98654cfb5a66e7c8d63b2e2e
2022-11-02 11:56:26 -04:00
Kubernetes Prow Robot
e8449012e2
Merge pull request #113512 from ehashman/rm-ehashman-node
Remove ehashman from sig-node roles
2022-11-02 08:36:00 -07:00
Kubernetes Prow Robot
447706238f
Merge pull request #113419 from chrishenzie/rwop-integration-test
scheduler: integration test for ReadWriteOncePod alpha
2022-11-02 08:35:38 -07:00
Kubernetes Prow Robot
06ba383532
Merge pull request #113329 from RomanBednar/retro-sc-beta
graduate RetroactiveDefaultStorageClass to beta
2022-11-02 08:35:14 -07:00
Kubernetes Prow Robot
07315d10b3
Merge pull request #113513 from dims/fix-sample-apiserver-e2e-image-build-failure
Fix sample-apiserver E2E image build failure
2022-11-02 06:47:27 -07:00
Antonio Ojea
9c2b333925 Revert "plumb context from CRI calls through kubelet"
This reverts commit f43b4f1b95.
2022-11-02 13:37:23 +00:00
Laszlo Janosi
82ce61afc7 KEP-1435 Mixed Protocol values in LoadBalancer Service GA
Removed the unit tests that test the cases when the MixedProtocolLBService feature flag was false - the feature flag is locked to true with GA
Added an integration test to test whether the API server accepts an LB Service with different protocols.
Added an e2e test to test whether a service which is exposed by a multi-protocol LB Service is accessible via both ports.
Removed the conditional validation that compared the new and the old Service definitions during an update - the feature flag is locked to true with GA.
2022-11-02 13:44:52 +02:00
Kubernetes Prow Robot
548d135ea6
Merge pull request #113185 from everpeace/update-agnhost-e2e-image-for-supplementalgroups
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-11-02 03:58:47 -07:00
Roman Bednar
8209066c4c graduate RetroactiveDefaultStorageClass to beta
Change feature to beta and remove e2e test feature flags since they're
not needed anymore.
2022-11-02 09:25:10 +01:00
Patrick Ohly
80c554c5b0 e2e framework: simplify failure and skip handling
The original intention (adding more information for later analysis)
is probably obsolete because there is no code which does anything
with the extended error.

The code in upgrade_suite.go collected it in an in-memory JUnit report, but
then didn't do anything with that field. The code also wouldn't work for
failures detected by Ginkgo itself, like the upcoming timeout handling. If the
upgrade suite needs the information, it probably should get it from Gingko with
a ReportAfterSuite call instead of depending in some fragile interception
mechanism.
2022-11-02 09:23:01 +01:00
Kubernetes Prow Robot
e17a4f64d7
Merge pull request #113518 from logicalhan/custom-collectors
add support for parsing custom collectors from the stability framework
2022-11-01 20:00:04 -07:00
Kubernetes Prow Robot
9bbd0fbdb2
Merge pull request #113476 from marosset/hpc-to-stable
Promoting WindowsHostProcessContainers to stable
2022-11-01 19:59:43 -07:00
Kubernetes Prow Robot
d377a1fc7b
Merge pull request #113455 from ii/promote-resourcequota-status-test
Promote test for ResourceQuota status to Conformance +3 Endpoints
2022-11-01 19:59:37 -07:00
Kubernetes Prow Robot
7b84436168
Merge pull request #113408 from dashpole/kubelet_context
Plumb context to Kubelet CRI calls
2022-11-01 19:59:08 -07:00
Kubernetes Prow Robot
5c8e3a423f
Merge pull request #113296 from claudiubelu/retrigger-test-images
test images: Retrigger failing images
2022-11-01 19:58:56 -07:00
Kubernetes Prow Robot
4a0bb39d2a
Merge pull request #113282 from xmcqueen/master
Image Version Bump in Manifest for Node Perf Test tf-wide-deep
2022-11-01 19:58:45 -07:00
Han Kang
26b7e3a1e9 refactor static analysis code
Change-Id: I888585cc151e97fee08889a57fc20118733a60a5
2022-11-01 15:56:25 -07:00
Chris Henzie
2d0afbc054 scheduler: integration test for ReadWriteOncePod alpha
Tests scheduler enforcement of the ReadWriteOncePod PVC access mode.

- Creates a pod using a PVC with ReadWriteOncePod
- Creates a second pod using the same PVC
- Observes the second pod fails to schedule because PVC is in-use
- Deletes the first pod
- Observes the second pod successfully schedules
2022-11-01 15:08:01 -07:00
Mark Rossetti
498d065cc5
Promoting WindowsHostProcessContainers to stable
Signed-off-by: Mark Rossetti <marosset@microsoft.com>
2022-11-01 14:06:25 -07:00
Han Kang
12d58d0875 update documentation with custom collector metrics
Change-Id: I78f2ca39bb4750e9596fba171136ffbe3ad35538
2022-11-01 13:57:10 -07:00
Han Kang
c2f67ac141 add support for parsing custom collectors from the stability framework
Change-Id: I1053b9f6956de571700c95b96e05c4377806a3cc
2022-11-01 13:56:57 -07:00
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
Elana Hashman
9d2d392802
Remove ehashman from sig-node roles 2022-11-01 12:16:43 -07:00
kerthcet
cfc53ee524 Refactor code and annotations for readability
Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-11-01 17:44:45 +08:00
kerthcet
21e8a69a22 Use operationCode instead of string directly
Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-11-01 17:01:22 +08:00
Han Kang
13e7fd8ed1 update documentation for stability framework
Change-Id: Id3fea91aac9c6faf2c920b1a0bec721e930a99ae
2022-10-31 15:17:24 -07:00
Stephen Heywood
168fa73b60 Promote ResourceQuota e2e test to Conformance 2022-11-01 09:20:38 +13:00
David Ashpole
f830d971b8
fix and extend apiserver tracing tests 2022-10-31 19:42:14 +00:00
Kubernetes Prow Robot
62b21069d7
Merge pull request #113119 from marosset/hpc-local-account-e2e
Adding e2e test for running Windows hostprocess containers as members of a local usergroup
2022-10-31 11:50:45 -07:00
Han Kang
fbdd02da40 update paths for documentation
Change-Id: I369b6972b2b6af2bab4561b1af824812ead95e0e
2022-10-31 09:20:39 -07:00
Michał Woźniak
3628532311
Extend metrics with the new labels (#113324)
* Extend job metrics

* Refactor TestMetrics to extract its checks into dedicated tests per feature
2022-10-31 08:50:45 -07:00
Kubernetes Prow Robot
d0e86111ef
Merge pull request #112855 from fromanirh/cpumanager-metrics
node: metrics: cpumanager: add metrics about pinning
2022-10-31 03:12:56 -07:00
Stephen Heywood
cdfdf0f6ce Promote Namespace e2e test to Conformance 2022-10-31 09:48:28 +13:00
Kubernetes Prow Robot
526650fc13
Merge pull request #109525 from jonyhy96/feat-wait
feat: make jsonpath wait logics consistent with condition
2022-10-30 09:12:43 -07:00
Patrick Ohly
5a01a52b0c test: extend gomega to use YAML for API types
Some of our API types contain fields that get rendered very poorly by
gomega.format.Object because they contain lots of internal information, for
example CreationTimestamp. As a result, dumping full API object typically gets
truncated.

What we want is a representation that is a) multi-line (in contrast to the
stringer implemented by our types) and b) drops empty fields where it
was defined that this is okay.

The normal YAML representation fits that requirement. We just need to teach
gomega how and when to do that. This cannot be done for each type through a
generated GomegaString method (lots of code, additional dependency in public
API on YAML encoder), but it can be done inside tests by adding a formatting
handler (new gomega feature).
2022-10-28 15:43:48 +02:00
Patrick Ohly
023baa5e45 e2e framework: truncate too long failure messages when writing JUnit
Our tooling cannot handle very long failure messages well:
- when unfolding a test in the spyglass UI, it fills the entire screen
- failure correlation for http://go.k8s.io/triage has resource constraints

We cannot enforce that all tests only produce short failure messages and even
if we could, depending on the test failure, including more information may be
useful to understand it.

To achieve both goals (summary for correlation and overview, all details
available when digging deeper), too longer failure messages now get truncated,
with the full message guaranteed to be captured in the test output.

"Too long" is arbitrarily chosen to be similar to the gomega.MaxLength because
that has been a limit for failure message size in the past.
2022-10-28 15:43:48 +02:00
Patrick Ohly
b3f4cd66cd e2e framework: add -gomega-max-length parameter
When gomega.format exceeds the default size of 4000, it truncates and prints:

  Gomega truncated this representation as it exceeds 'format.MaxLength'.
  Consider having the object provide a custom 'GomegaStringer' representation
  or adjust the parameters in Gomega's 'format' package.

  Learn more here: https://onsi.github.io/gomega/#adjusting-output

These instructions don't help the user of the e2e.test binary unless we provide
a command line flag.
2022-10-28 15:43:48 +02:00
Kubernetes Prow Robot
3df170d1c4
Merge pull request #113198 from pacoxu/kubectl-alpha-events
kubectl-alpha-events: e2e ignore some timeout errors(flake)
2022-10-28 00:42:41 -07:00
Kubernetes Prow Robot
5de293c425
Merge pull request #113413 from logicalhan/doc
update documentation generator
2022-10-27 20:20:40 -07:00
David Ashpole
f43b4f1b95
plumb context from CRI calls through kubelet 2022-10-28 02:55:28 +00:00
Kubernetes Prow Robot
f163fae7d5
Merge pull request #113409 from gnufied/disable-generic-ephemeral-expansion
Disable expansion in SC, if driver does not support it
2022-10-27 13:20:42 -07:00
Han Kang
86dfa784bf update documentation generator
Change-Id: I6c4825dc62ee288adcb8cf86bc4225550b456154
2022-10-27 14:27:32 -04:00
Hemant Kumar
fa242ff102 Disable expansion in SC, if driver does not support it 2022-10-27 13:35:36 -04:00
Francesco Romani
bdc08eaa4b e2e: node: add tests for cpumanager metrics
Add tests to verify the cpumanager metrics are populated.

Signed-off-by: Francesco Romani <fromani@redhat.com>
2022-10-27 14:40:56 +02:00
Patrick Ohly
2a7f9723ec e2e framework: fix incorrect backtrace in Failf
Commit 99e9096034 was only supposed to remove the
FailfWithOffset function, but it also changed the behavior by skipping one
additional stack frame. That makes no sense and is inconsistent with Fail, which
also logs the direct caller.
2022-10-27 12:24:00 +02:00
Rita Zhang
c3df726c7b
Enable encryption for custom resources
Signed-off-by: Rita Zhang <rita.z.zhang@gmail.com>
2022-10-26 13:37:11 -07:00
Kubernetes Prow Robot
9acd38e07d
Merge pull request #113343 from logicalhan/doc
Add support to metrics framework to auto-generate documentation for metrics
2022-10-26 07:34:51 -07:00
Jonathan Dobson
5d1725f17b CSI Inline Volumes: promote API tests to conformance 2022-10-26 07:41:01 -06:00
Artur Żyliński
9f31669a53 New histogram: Pod start SLI duration 2022-10-26 11:28:17 +02:00
Kubernetes Prow Robot
bb12faf15b
Merge pull request #113141 from dobsonj/csi-inline-pod-test-flake
test: remove flaky pod update test in CSIInlineVolumes e2e
2022-10-25 16:26:45 -07:00
Han Kang
fa2eb8e3ea make changes suggested by sig docs
Change-Id: I793eea636e7a83da7f87b23a3aa4e7ddfaf42ec6
2022-10-25 17:08:00 -04:00
Han Kang
1e99f54bb6 adjust sizes and documentation
Change-Id: Icd89c0c5bd6fbfb616255132db602b4db5ee2fe9
2022-10-25 16:32:55 -04:00
Han Kang
eb7253dfd5 ignore golint error
Change-Id: I696ab9ae8cb47407208e5a848b5ab852f1319037
2022-10-25 16:11:19 -04:00
Han Kang
8dffb57188 add documentation about auto-generating auto-documentation
Change-Id: I6bfa6a7e8d83d211f4e52865e033b9911f607c58
2022-10-25 15:09:54 -04:00
Han Kang
325f09045f add automated documentation generation from our static analysis pipeline
Change-Id: I66a0b4fd836ad3b51873517f16eb5a73b05bf329
2022-10-25 14:44:09 -04:00
Jonathan Dobson
e377d071bb test: remove flaky pod update test in CSIInlineVolumes e2e 2022-10-25 11:55:59 -06:00
Kubernetes Prow Robot
74e33de9aa
Merge pull request #113297 from claudiubelu/test-images/fixes-failing-images
test images: Fixes httpd-new image
2022-10-24 14:40:45 -07:00
Shihang Zhang
569cd70a52 track legacy service account tokens 2022-10-24 09:37:53 -07:00
Kubernetes Prow Robot
7ad4b04632
Merge pull request #113303 from claudiubelu/update-windowsservercore-cache
test images: Revert windows-servercore-cache version
2022-10-24 08:28:25 -07:00
Kubernetes Prow Robot
9b9a963a8d
Merge pull request #113238 from pacoxu/storage-quantity-warning
pvc storage request warning for fractional byte value
2022-10-24 06:30:37 -07:00
Claudiu Belu
ae3885b889 test images: Revert windows-servercore-cache version
The Windows Server Core images are quite large (~2GB each), and pulling
it for multiple build jobs / E2E images is inefficient, especially if
have to build for multiple OS versions.

The windows-servercore-cache image is meant to simply cache the Windows files
we need from the Windows Server core images, so we can pull the small cache image
instead of the entire image. It is never meant to be a promotable image,
the version is not meant to be bumped.

The other images (e.g.: agnhost) rely on the version 1.0 images.
2022-10-23 13:50:42 -07:00
Brian McQueen
08c22d6d9a bumped version of tf-wide-deep image to 1.3 in test manifest, and removed the data download from the tf-wide-deep pod spec command 2022-10-23 10:13:13 -07:00
Claudiu Belu
fb7aaab3b9 test images: Fixes httpd-new image
httpd-2.4.48-win64-VC15.zip no longer exists. Use httpd-2.4.54-win64-VC15.zip
instead.
2022-10-23 10:07:17 -07:00
Claudiu Belu
fab91f2de2 test images: Retrigger failing images
Building multiarch images may flake if multiple images are being built
on the same host. Some of the E2E test image failed to build because of
this.
2022-10-23 09:49:57 -07:00
Paco Xu
140502af8c add warning for PVC template in statefulset and in pod ephemeral volume source 2022-10-22 09:14:03 +08:00
Mark Rossetti
7a50b719cf
Adding e2e test for running Windows hostprocess containers as members of a local usergroup
Signed-off-by: Mark Rossetti <marosset@microsoft.com>
2022-10-21 17:17:44 -07:00
David Porter
efc9e73266 test: Fix e2e_node restart_test flake
In the `should correctly account for terminated pods after restart`, the
test first creates a set of `restartNever` pods, followed by a set of
`restartAlways` pods. Both the `restartNever` and `restartAlways` pods
request an entire CPU. As a result, the `restartAlways` pods will not be
admitted, if the `restartNever` pods did not terminate yet.

Depending on the timing/how fast the pods terminate, the test can pass
sometimes fail which results in flakes. To de-flake the test, the test
should wait until the `restartNever` pods enter a terminal `Succeeded`
phase, before creating the `restartAlways` pods.

To do this, generalize the function `waitForPods` to accept a pod
condition (`testutils.PodRunningReadyOrSucceeded`, or
`testutils.PodSucceeded`). Also introduce a new "Succeeded" pod
condition, so the test can explicitly wait until the pods enter the
Succeeded phase.

Signed-off-by: David Porter <david@porter.me>
2022-10-21 17:14:56 -07:00
Kubernetes Prow Robot
76fe4039e5
Merge pull request #113149 from marosset/hpc-inclusterconfig-e2e
Add e2e test to validate that hostProcess containers can use inclusterclient
2022-10-21 16:21:56 -07:00
Kubernetes Prow Robot
19aaafbe10
Merge pull request #113219 from marosset/fix-hpc-e2e-metrics
HostProcess containers metrics e2e test fixes
2022-10-21 15:05:56 -07:00
Mark Rossetti
8d915ea979
Add e2e test to validate that hostProcess containers can use inclusterclient
Signed-off-by: Mark Rossetti <marosset@microsoft.com>
2022-10-21 14:15:31 -07:00
Mark Rossetti
da0b66b3fe
Add e2e to validate stats for Windows hostprocess containers
Signed-off-by: Mark Rossetti <marosset@microsoft.com>
2022-10-21 10:07:38 -07:00
Kubernetes Prow Robot
4d50d28777
Merge pull request #113193 from kerthcet/cleanup/remove-unnecessary-tests
Remove unuseful multi scheduler testcases
2022-10-21 08:32:03 -07:00
Kubernetes Prow Robot
18b81513b6
Merge pull request #112025 from kerthcet/refactor/handle-scheduling-failure
Refactor schedulingCycle and bindingCycle in scheduler
2022-10-21 08:31:51 -07:00
kerthcet
f7f857814f Refactor schedulingCycle and bindingCycle in scheduler
Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-10-21 13:53:18 +08:00
Kubernetes Prow Robot
2313e2b825
Merge pull request #113176 from alculquicondor/finalizer_metric
Add metric for terminated pods with tracking finalizer
2022-10-20 20:52:01 -07:00
Kubernetes Prow Robot
f3ae27f5ef
Merge pull request #113213 from pohly/e2e-instrumentation-dead-code-removal
test/e2e/instrumentation/logging/utils: remove dead package
2022-10-20 18:25:14 -07: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
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
Kubernetes Prow Robot
fc866d87dc
Merge pull request #113208 from soltysh/azure_timeouts
Set default test timeouts first, only then modify the required ones
2022-10-20 12:07:20 -07:00
Kubernetes Prow Robot
fb9b466f30
Merge pull request #113159 from pacoxu/patch-3
flake: wait for crd ready in kubectl apply script
2022-10-20 12:06:56 -07:00
Kubernetes Prow Robot
dbb3b4f340
Merge pull request #113212 from pohly/e2e-progress-on-stdout-removal
e2e: remove JSON progress output on stdout
2022-10-20 10:29:12 -07:00
Kubernetes Prow Robot
0a08757181
Merge pull request #113128 from pohly/e2e-storage-cleanup
e2e storage: cleanup with context
2022-10-20 10:29:00 -07:00
Aldo Culquicondor
12d308f5c4 Add metric for terminated pods with tracking finalizer
Change-Id: I26f3169588c30ed82250cb7baff8e277f8d13bb7
2022-10-20 11:35:20 -04:00
Patrick Ohly
3e560e8341 e2e: remove JSON progress output on stdout
The original intention was to address "frustration of end users running the e2e
suite is that they take a significant amount of time and it is difficult to
gauge progress".

But Ginkgo's output is different now than it was in Kubernetes 1.19. If users
want to see progress, then "ginkgo --progress" might provide enough
information.

Printing to os.Stdout doesn't work as intended anyway when output redirection
is enabled (the default for parallel runs) and causes these JSON snippets to
appear as "show stdout" for each failed test in a Prow job, which is
distracting.
2022-10-20 16:33:10 +02:00
Maciej Szulik
24d30bf8b2
Set default test timeouts first, only then modify the required ones 2022-10-20 15:35:17 +02:00
Patrick Ohly
f15d7f6cca e2e storage: eliminate context.TODO and cleanup callbacks
Tests should accept a context from Ginkgo and pass it through to all functions
which may block for a longer period of time. In particular all Kubernetes API
calls through client-go should use that context. Then if a timeout occurs,
the test returns immediately because everything that it could block on will
return.

Cleanup code then needs to run in a separate Ginkgo node, typically
DeferCleanup, which ensures that it gets a separate context which has not timed
out yet.
2022-10-20 13:56:59 +02:00
Patrick Ohly
d8d3dc9476 e2e storage: eliminate explicit test driver cleanup
Cleanup can be handled inside the setup code with ginkgo.DeferCleanup. This
simplifies the code.
2022-10-20 13:56:59 +02:00
Patrick Ohly
f314c6b831 test/e2e/instrumentation/logging/utils: remove dead package
The code is not imported anywhere in k/k and therefore should
be removed.
2022-10-20 10:59:31 +02:00
Paco Xu
05de50e1a5 kubectl-alpha-events: e2e ignore some timeout errors(flake) 2022-10-20 16:41:29 +08:00
Michal Wozniak
b1e575aaf7 Self-nominate mimowo as a reviewer for pkg/controller/job & test/integration/job
I think I'm ready to start review and LGTM code changes within this
package, but not necessarily for the entire sig-apps.

My PRs to the packages:
https://github.com/kubernetes/kubernetes/pull/110292
https://github.com/kubernetes/kubernetes/pull/111113
https://github.com/kubernetes/kubernetes/pull/112948

PRs to the packages I contributed reviews to:
https://github.com/kubernetes/kubernetes/pull/113166
https://github.com/kubernetes/kubernetes/pull/110294
2022-10-20 09:22:35 +02:00
kerthcet
26ad401b7a Remove unuseful multi scheduler testcases
Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-10-20 15:15:49 +08:00
Paco Xu
da070707de flake: wait for crd ready in kubectl apply script 2022-10-20 12:58:04 +08: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
Kubernetes Prow Robot
ad26b315f2
Merge pull request #86139 from jasimmons/pr_normalize_probes_lifecycle_handlers
Normalize HTTP  lifecycle handlers with HTTP probers
2022-10-19 17:44:56 -07:00
Mark Rossetti
fa2603906b
HostProcess containers metrics e2e test fixes
Signed-off-by: Mark Rossetti <marosset@microsoft.com>
2022-10-19 16:10:09 -07:00
Kubernetes Prow Robot
05b46d7ce2
Merge pull request #113166 from alculquicondor/simply_job_metrics_test
Simplify tests for job metrics by resetting them
2022-10-19 13:57:32 -07:00
Kubernetes Prow Robot
45636684a4
Merge pull request #112897 from fromanirh/podresources-metrics-e2e-tests
register podresources metrics
2022-10-19 13:57:18 -07:00
Kubernetes Prow Robot
1e4e17973f
Merge pull request #113012 from xmcqueen/master
Fix node-perf test tf-wide-deep: bumped image version, and removed arm64 arch testing #109295
2022-10-19 11:35:07 -07:00
Aldo Culquicondor
b8bd168180 Simplify tests for job metrics by resetting them
Change-Id: I20a0acbbb179bf895953b9d7af72625a2191b8eb
2022-10-19 13:52:00 -04:00
Kubernetes Prow Robot
126986016e
Merge pull request #113167 from alculquicondor/job_test_owners
Add SIG Apps owners for job integration tests
2022-10-19 10:03:14 -07:00
Kubernetes Prow Robot
bf14677914
Merge pull request #112546 from oscr/the-the
grammar: replace all occurrences of "the the" with "the"
2022-10-19 10:03:02 -07:00
Jason Simmons
5a6acf85fa Align lifecycle handlers and probes
Align the behavior of HTTP-based lifecycle handlers and HTTP-based
probers, converging on the probers implementation. This fixes multiple
deficiencies in the current implementation of lifecycle handlers
surrounding what functionality is available.

The functionality is gated by the features.ConsistentHTTPGetHandlers feature gate.
2022-10-19 09:51:52 -07:00
Kubernetes Prow Robot
42c1f881cc
Merge pull request #113165 from swatisehgal/e2e-deviceplugin-logs
node: e2e: device plugins: Add more logs for clarity
2022-10-19 08:59:14 -07:00
Aldo Culquicondor
f21cd0c53d Add SIG Apps owners for job integration tests
Change-Id: I5c6198d10388ee7ce1fb7ae8d2f2b2144993688b
2022-10-19 10:38:07 -04:00
Kubernetes Prow Robot
68e110b53c
Merge pull request #113150 from seans3/flaky-test-cmd-fix
Removes test of deprecated --dry-run value
2022-10-19 07:23:13 -07:00
Swati Sehgal
ef54dbb5cc node: e2e: device plugins: Add more logs for clarity
The device plugin test in https://testgrid.k8s.io/sig-node-release-blocking#node-kubelet-serial-containerd
has been flaky for a while now when it runs on the test infrastructure.
Locally running this test resulted in test passing without issues.

Based on the existing logs, it is not clear why podresource
API endpoint is returning 3 pods rather than the expected
two pods (device plugin pod and the test pod requesting
devices). For more clarity and debugaability on why an
addtional pod seems to be appearing we expose the output
from podresource API endpoint.

Signed-off-by: Swati Sehgal <swsehgal@redhat.com>
2022-10-19 13:57:47 +01:00
Kubernetes Prow Robot
ab8563b6de
Merge pull request #113158 from pacoxu/fix-flake-kubectl
kubectl-e2e: the event rendering may have 3 or 4 whitespaces
2022-10-19 04:51:02 -07:00
Paco Xu
6c0d294138 kubectl-e2e: the event rendering may have 3 or 4 whitespaces 2022-10-19 15:33:29 +08:00
Mohammad Zuber Khan
f86acbad68
add superuser fallback to authorizer (#111558)
* add superuser fallback to authorizer

* change the order of authorizers

* change the order of authorizers

* remove the duplicate superuser authorizer

* add integration test for superuser permissions
2022-10-18 18:57:00 -07:00
Kubernetes Prow Robot
7dee7c8a6f
Merge pull request #113148 from logicalhan/merge-buckets
move MergeBuckets into component-base so we can properly support it for static-analysis
2022-10-18 16:27:19 -07:00
Kubernetes Prow Robot
6be327c053
Merge pull request #113046 from jsafrane/add-multiplepv-cap
Add capability for tests with multiple PVs with the same VolumeHandle
2022-10-18 16:27:12 -07:00