Commit Graph

22074 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
eedf0ed221 Merge pull request #112390 from pohly/e2e-storage-helpers
e2e storage: update helpers
2022-09-12 08:07:48 -07:00
Kubernetes Prow Robot
48256c55c2 Merge pull request #112251 from pohly/e2e-storage-proxy-shutdown
e2e storage: close all pending streams when proxy listener gets closed
2022-09-12 08:07:24 -07:00
Alex Katsman
945aea4627 Remove 'DisabledForLargeClusters' tag for LB tests
We performed several internal tests at Google both on GKE and
Kubernetes, and we believe it's safe to re-enable them for large
clusters.
2022-09-12 15:08:42 +02:00
Patrick Ohly
24230b4307 e2e storage: support creating ReplicaSet
This is useful for running a driver on a subset of all ready nodes:

- use e2enode.GetBoundedReadySchedulableNodes with a suitable
  maximum number of nodes to determine how much nodes are available
  for a test
- define pod anti-affinity in the PodTemplate:
      affinity:
        podAntiAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
          - labelSelector:
              matchLabels:
                app.kubernetes.io/instance: xxxxxxx
            topologyKey: kubernetes.io/hostname
- set the ReplicaSetSpec.Replicas value to the number of nodes
2022-09-12 14:38:28 +02:00
Patrick Ohly
b6b25c80de e2e storage: add CreateFile to pod IO operations
This complements the other operations and will be used by some
future tests.
2022-09-12 14:38:27 +02:00
Kubernetes Prow Robot
3e9e41f82c Merge pull request #112389 from pohly/test-cleanup-flake
e2e: avoid random control plane output through GinkoWriter
2022-09-12 05:27:37 -07:00
Patrick Ohly
2e61dfbf1d e2e: avoid random control plane output through GinkoWriter
If the control plane emits anything at the time when the test runs, for example
"unable to sync kubernetes service", the test breaks because that additional
output is unexpected.
2022-09-12 12:02:37 +02:00
Patrick Ohly
d33e66b81b e2e: reduce built time for framework
Pulling the CreateKubeConfig function from the expensive to build
test/utils/apiserver package had a considerable impact on the overall build
time because that package depends on a lot of other packages.

Because only that one function is needed by the framework, that extra build
time can be avoided by moving it into its own package.
2022-09-10 17:56:23 +02:00
SataQiu
bc9c494319 kube-scheduler: add taints filtering logic consistent with TaintToleration plugin for PodTopologySpread plugin
Signed-off-by: SataQiu <shidaqiu2018@gmail.com>
2022-09-10 09:04:30 +08:00
Kubernetes Prow Robot
d9f21e55df Merge pull request #111998 from pohly/e2e-framework-after-each
e2e framework: replace custom cleanup support with Ginkgo v2 mechanisms
2022-09-09 16:17:22 -07:00
Piotr Nosek
3d7855392f HPA E2E Test: CPU / Memory: Average Value / Utilization 2022-09-09 16:06:55 +00:00
Kante Yin
096dafe757 Feat: unify the status handle when return in bindingCycle (#112103)
Signed-off-by: kerthcet <kerthcet@gmail.com>

Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-09-09 08:31:23 -07:00
Piotr Nosek
ed1a3e6f70 Fix flaky and failing HPA E2E Behavior tests 2022-09-09 12:57:48 +00:00
Patrick Ohly
7eb472246f e2e framework: use new apiserver helper package 2022-09-09 13:51:07 +02:00
Patrick Ohly
fc092eb145 e2e: remove cleanup actions
The framework.AddCleanupAction API was a workaround for Ginkgo v1 not invoking
AfterEach callbacks after a test failure. Ginkgo v2 not only fixed that, but
also added a DeferCleanup API which can be used to run some code if (and only
if!) the corresponding setup code ran. In several cases that makes the test
cleanup simpler.
2022-09-09 13:51:07 +02:00
Patrick Ohly
b7529097ca e2e framework: add unit test for test execution
This covers multiple facets of the current framework and of Ginkgo:

- Ginkgo output is verbose and includes detailed progress
  messages (BeforeEach/AfterEach tracing).
- Namespace creation.
- Order of callback invocation.
2022-09-09 13:51:07 +02:00
Patrick Ohly
f6029e4281 test: add helper code for running apiserver inside unit test
This runs etcd and an apiserver using it inside the test process. The caller
can either use the ClientSet or the config file. More options might get added
in the future.

Co-author: Antonio Ojea <antonio.ojea.garcia@gmail.com>
2022-09-09 13:51:04 +02:00
Kubernetes Prow Robot
a7936658ba Merge pull request #112193 from jindijamie/master
Add an option for aggregator
2022-09-08 17:21:24 -07:00
Patrick Ohly
f7864977b6 e2e internal: support Ginkgo v2 log time stamps
When using By or some other Ginkgo output functions, Ginkgo v2 now adds a time
stamp at the end of the line that we need to ignore. Will become relevant when
testing more complete output.
2022-09-08 22:50:01 +02:00
Patrick Ohly
53e1c7b4c3 e2e framework: remove AddAfterEach
For cleanup purposes the ginkgo.DeferCleanup is a better replacement for
f.AddAfterEach:
- the cleanup only gets executed when the corresponding setup code ran
  and can use the same local variables
- the callback runs after the test and before the framework
  deletes namespaces (as before)
- if one callback fails, the others still get executed

For the original purpose (https://github.com/kubernetes/kubernetes/pull/86177 "This is
very useful for custom gathering scripts.") it is now possible to use
ginkgo.AfterEach because it will always get executed. Just beware that its
callbacks run in first-in-first-out order.
2022-09-08 22:50:01 +02:00
Patrick Ohly
cbf94307ef e2e framework: clean up instance after all other code ran
In contrast to ginkgo.AfterEach, ginkgo.DeferCleanup runs the callback in
first-in-last-out order. Using it makes the following test code work as
expected:

    f := framework.NewDefaultFramework("some test")

    ginkgo.AfterEach(func() {
        // do something with f.ClientSet
    })

Previously, f.ClientSet was already set to nil by the framework's cleanup code.
2022-09-08 22:50:01 +02:00
Kubernetes Prow Robot
9188d55689 Merge pull request #112308 from ii/promote-namespace-replace-test
Promote CoreV1NamespaceReplace Test +1 Endpoint
2022-09-08 13:11:43 -07:00
Kubernetes Prow Robot
a7a5bfaef4 Merge pull request #112294 from pohly/importaliases
E2E import aliases
2022-09-08 13:11:31 -07:00
Kubernetes Prow Robot
cc4b7dc3c5 Merge pull request #111986 from enj/enj/i/transformer_leak
kms: fix go routine leak in gRPC connection
2022-09-08 09:49:46 -07:00
Patrick Ohly
2ace9a884e e2e: generalize the framework e2e* import alias rule
All framework sub packages should used e2e<package name> as import alias, also
the daemonset sub package that previously wasn't listed explicitly.
2022-09-08 18:37:52 +02:00
Di Jin
6d78a25374 Add integration test
Add integration test to ensure aggregator is not forwarding redirect response
2022-09-08 09:36:12 -07:00
Monis Khan
4e68e9b5ad kms: fix go routine leak in gRPC connection
Signed-off-by: Monis Khan <mok@microsoft.com>
2022-09-08 11:46:57 -04:00
Stephen Heywood
974f4b8ee1 Promote Namespace e2e test to Conformance 2022-09-08 11:44:05 +12:00
Nabarun Pal
26b33246cd Update Go version in test Makefile to 1.19.1
Signed-off-by: Nabarun Pal <pal.nabarun95@gmail.com>
2022-09-07 22:13:58 +05:30
Patrick Ohly
8349c77e82 e2e storage: better explanation for maxConcurrentConnections
This the same behavior as before, it just wasn't documented.
2022-09-07 17:05:22 +02:00
Kubernetes Prow Robot
a488f4b95c Merge pull request #107515 from MikeSpreitzer/explain-reset-fields-failure
Make TestApplyResetFields exhibit surprising object
2022-09-07 07:14:37 -07:00
Patrick Ohly
0bd9a1a29a e2e storage: close all pending streams when proxy listener gets closed
After updating gRPC in node-driver-registrar from v1.40.0 to v1.47.0 the
behavior of gRPC change in a way such that it no longer detected the
single-sided closing of the stream as a loss of connection. This caused gRPC in
the e2e.test to get stuck, possibly in a Read or Write for the HTTP stream
because those have neither a context nor a timeout.

Changing the connection handling so that all active connections are tracking in
the listener and closing them when the listener gets closed fixed this problem.
2022-09-05 22:46:01 +02:00
Patrick Ohly
41619ace15 stop using deprecated klog flags
Some scripts and tools still relied on the deprecated flags, the ones
which are about to be removed.

This is intentionally not a complete removal of all those flags in the entire
repo. This would lead to much more code churn also in places where commands
still accept the flags because they use klog directly.
2022-09-04 21:02:43 +02:00
Joe Betz
7be77f9ecc changes code to improve output for files under test/e2e/storage 2022-09-02 17:43:41 +05:30
Kubernetes Prow Robot
84a349412b Merge pull request #112166 from SataQiu/clean-cloud-provider-insecureserving
cloud-provider: remove deprecated insecure serving from Config
2022-09-01 08:01:17 -07:00
Kubernetes Prow Robot
bf624aa77f Merge pull request #111951 from sashrith/vsphere_intree_test_fixes
vsphere in-tree driver test fixes
2022-09-01 08:01:06 -07:00
Kubernetes Prow Robot
c870f1ddc7 Merge pull request #111865 from piotrnosek/hpa-tests-batch
Add e2e HPA tests: Scale to zero, scale a CRD targetRef
2022-09-01 05:43:05 -07:00
SataQiu
f09e136aca cloud-provider: remove deprecated insecure serving from Config 2022-09-01 10:54:23 +08:00
Piotr Nosek
e252fcc429 HPA E2E Test: Scale to zero, scale custom CRD 2022-08-31 18:34:52 +00:00
Kubernetes Prow Robot
d0e413e86d Merge pull request #112129 from pohly/e2e-ginkgo-report-after-each
e2e: suppress too verbose output
2022-08-31 10:00:56 -07:00
Kubernetes Prow Robot
cb057985ce Merge pull request #112035 from piotrnosek/owners-autoscaling
Add OWNERS for autoscaling-owned directory
2022-08-31 08:37:01 -07:00
SataQiu
1ae5237a66 controller-manager: remove deprecated insecure serving from Config 2022-08-31 17:32:21 +08:00
Kubernetes Prow Robot
5debf63a74 Merge pull request #112074 from bertinatto/fix-snapshot-timeouts
e2e: use custom timeouts in GetSnapshotContentFromSnapshot()
2022-08-30 13:15:05 -07:00
Patrick Ohly
80d3cc3027 e2e: suppress progress messages for custom progress reporter
The custom progress reporter gets invoked via ginkgo.ReportAfterEach after each
test. The problem was that the e2e framework unconditionally enables Ginkgo's
-progress output which shows execution of all nodes, including this
ReportAfterEach. The effect were over 1000 lines of useless output at the start
of a test run while skipping disabled tests.

The solution is to tell Ginkgo that the ReportAfterEach isn't meant to be
reported.
2022-08-30 19:58:10 +02:00
Kubernetes Prow Robot
4f66f8c408 Merge pull request #112069 from enj/enj/t/aggregated_apis
Expand aggregated API server integration test to include CRUD
2022-08-30 08:52:55 -07:00
Monis Khan
ec283e526b Expand aggregated API server integration test to include CRUD
This change updates TestAggregatedAPIServer and the related test
server wiring to exercise the full network path between the Kube API
server and the aggregated API server.  We now assert that the wardle
API service and Kube API server discovery endpoints are fully healthy.
CRUD operations are performed through the Kube API server to the
wardle API server.

Signed-off-by: Monis Khan <mok@microsoft.com>
2022-08-30 10:44:01 -04:00
Kubernetes Prow Robot
04f8a5c41a Merge pull request #111999 from kerthcet/refactor/handle-failure
fix error type when handling failures in scheduler
2022-08-30 05:47:01 -07:00
Mike Spreitzer
d3081b378a Revise according to review 2022-08-29 23:02:29 -04:00
S R Ashrith
16f541ea8f Skip read only raw block volume test for in-tree vsphere driver 2022-08-27 23:17:29 +05:30
S R Ashrith
41dbdef540 vsphere in-tree driver test fixes 2022-08-27 23:14:40 +05:30