Commit Graph

3350 Commits

Author SHA1 Message Date
Patrick Ohly
25c646cbdd json: never call fsync for stdout or stderr
We don't need to worry about data loss once the data has been written to an
output stream. Calling fsync unnecessarily has been the reason for performance
issues in the past.
2022-01-11 09:56:22 +01:00
Patrick Ohly
9a867c555c logs: benchmark write performance
The recent regression https://github.com/kubernetes/kubernetes/issues/107033
shows that we need a way to automatically measure different logging
configurations (structured text, JSON with and without split streams) under
realistic conditions (time stamping, caller identification).

System calls may affect the performance and thus writing into actual files is
useful. A temp dir under /tmp (usually a tmpfs) is used, so the actual IO
bandwidth shouldn't affect the outcome. The "normal" json.Factory code is used
to construct the JSON logger when we have actual files that can be set as
os.Stderr and os.Stdout, thus making this as realistic as possible.

When discarding the output instead of writing it, the focus is more on the rest
of the pipeline and changes there can be investigated more reliably.

The benchmarks automatically gather "log entries per second" and "bytes per
second", which is useful to know when considering requirements like the ones
from https://github.com/kubernetes/kubernetes/issues/107029.
2022-01-11 09:56:22 +01:00
Patrick Ohly
b8501fc10b logs: work around logcheck
logcheck complains:
Additional arguments to ErrorS should always be Key Value pairs. Please check if there is any key or value missing.

That check is intentional, but not applicable here. The check can be worked
around by calling the functions through variables.
2022-01-11 09:56:22 +01:00
Patrick Ohly
072859c967 logs: create separate test/integration directory
The benchmark depends on k8s.io/api (for v1.Container). Such a dependency is
not desirable for k8s.io/component-base/logs, even if it's just for
testing. The solution is to create a separate directory where such a dependency
isn't a problem.

The alternative, a separate package with its own go.mod file under
k8s.io/component-base/logs wouldd have been more complicated to maintain (yet
another go.mod file and different whitelisted dependencies).
2022-01-11 09:56:22 +01:00
Kubernetes Prow Robot
ca4af7a981 Merge pull request #104716 from sanposhiho/feature/scheduler_perf/unused-template-params
test/integration/scheduler_perf: check for unused template parameters
2022-01-10 16:21:16 -08:00
Kubernetes Prow Robot
559091ba4f Merge pull request #107339 from andrewsykim/internal-traffic-policy-external-name-validation
Add Service integration tests for internalTrafficPolicy when Type=ExternalName
2022-01-09 02:47:12 -08:00
Joe Julian
60c1d58d02 remove unwanted values returned from dry-run
Remove the uid and the resourceVersion from dry-run results per kep 576

https://github.com/kubernetes/enhancements/blob/master/keps/sig-api-machinery/576-dry-run/README.md#generated-values
2022-01-06 15:44:05 -08:00
Joe Julian
48994c1518 add test to dry-run for unwanted generated values
[kep 576, dry
run](https://github.com/kubernetes/enhancements/blob/master/keps/sig-api-machinery/576-dry-run/README.md#generated-values), states:

```
The UID and the generated name would have a different value in a dry-run and non-dry-run creation. These values will be left empty when performing a dry-run.
```

and

```
ResourceVersion will also be left empty on creation
```

This tests ensures this behavior.
2022-01-06 15:08:09 -08:00
Andrew Sy Kim
aead636249 add integration test validating that converting a Service to ExternalName results in the field being dropped on read
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2022-01-05 12:41:53 -05:00
Andrew Sy Kim
9c3c3d8a3a add integration test to validate that ExternalName Services can set internalTrafficPolicy, but the field is dropped on read
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2022-01-05 12:41:53 -05:00
Andrew Sy Kim
7aa20122bc add integration test to check that Service internalTrafficPolicy is no longer defaulting when Type is ExternalName
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2022-01-05 12:41:53 -05:00
Kubernetes Prow Robot
adfc35d249 Merge pull request #107200 from pacoxu/test/cronjob-conflict-flake
flake: remove the error handler for cronjob integration test
2022-01-05 09:23:09 -08:00
Kubernetes Prow Robot
84f1d6834f Merge pull request #106619 from chendave/ga
Graduate `PreferNominatedNode` to GA
2022-01-04 15:21:19 -08:00
Paco Xu
fd099ffaf2 flake fix: remove the error handler for cronjob integration test 2021-12-23 16:50:12 +08:00
Kubernetes Prow Robot
62faf2cdc2 Merge pull request #106721 from aojea/apiserver_dual_service
apiserver endpoint reconciler ip families
2021-12-17 15:23:54 -08:00
Kubernetes Prow Robot
a1e8a5bf39 Merge pull request #107027 from Nordix/disable-nodeport-ga
Prepare AllocateLoadBalancerNodePorts for GA
2021-12-17 13:24:05 -08:00
Kubernetes Prow Robot
8ade75465a Merge pull request #104799 from RyanAoh/cronjob_dev
fix the error when cleaning up finished jobs for cronjob
2021-12-17 13:23:53 -08:00
Wei Huang
2433b083a9 clear pod's .status.nominatedNodeName when necessary 2021-12-16 10:55:13 -08:00
Lars Ekman
1ef96752da Mark ServiceLBNodePortControl as GA 2021-12-16 16:48:58 +01:00
Antonio Ojea
cd9b22aabc apiserver endpoint reconciler ip families
The apiserver may be configured to generate the Service
kubernetes.default and its endpoints addresses.

This service is single-stack, hence, the endpoints and the ClusterIP
must have the same IP family.
2021-12-13 15:43:41 +01:00
Jordan Liggitt
0b90b6ec5e Add field paths to expected unknown/duplicate errors 2021-12-13 09:38:13 -05:00
Wojciech Tyczyński
b7257a4d6a Graduate EfficientWatchResumption feature to GA 2021-12-10 10:20:51 +01:00
Davanum Srinivas
9405e9b55e Check in OWNERS modified by update-yamlfmt.sh
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2021-12-09 21:31:26 -05:00
Kubernetes Prow Robot
d7f8234b6d Merge pull request #106747 from ahg-g/ahg-test
Added an integration test for NodeResourcesFit scoring
2021-12-07 19:28:06 -08:00
Kubernetes Prow Robot
874dc871a5 Merge pull request #106676 from HecarimV/fix-typo-2021112506
fix typo in /test/integration
2021-12-07 18:27:30 -08:00
Kubernetes Prow Robot
bf5b5496a0 Merge pull request #106522 from aojea/e2e_disable_nodeport_lb
Add e2e tests for disable nodeport lb feature
2021-12-07 18:25:53 -08:00
Abdullah Gharaibeh
33a04dc5f5 Added an integration test for NodeResourcesFit scoring 2021-11-30 12:13:30 -05:00
HaoJie Liu
1dc1a37294 fix typo in /test/integration 2021-11-25 18:59:31 +08:00
Jordan Liggitt
88ab0d03b7 Revert "update expected ordering"
This reverts commit fbc8ac9c96.
2021-11-24 11:19:27 -05:00
Dave Chen
8609358975 Graduate PreferNominatedNode to GA
Signed-off-by: Dave Chen <dave.chen@arm.com>
2021-11-24 14:50:53 +08:00
Aohan Yang
ad4fe13528 fix the error when cleaning up jobs for cronjob 2021-11-22 17:06:22 +08:00
Jordan Liggitt
d4d34085e4 Clean up field validation test logs 2021-11-21 21:29:06 -05:00
Jordan Liggitt
8fa1c612fd Speed up field validation tests 2021-11-21 21:29:06 -05:00
Kevin Delgado
e50e2bbc88 Server Side Field Validation
Implements server side field validation behind the
`ServerSideFieldValidation` feature gate. With the
feature enabled, any create/update/patch request
with the `fieldValidation` query param set to
"Strict" will error if the object in the request
body have unknown fields. A value of "Warn"
(also the default when the feautre is enabled)
will succeed the request with a warning.

When the feature is disabled (or the query param
has a value of "Ignore"), the request will succeed
as it previously had with no indications of any
unknown or duplicate fields.
2021-11-19 21:24:36 +00:00
Antonio Ojea
2ea3d320b0 integration tests service node port control
When a service is created with AllocateLoadBalancerNodePorts to false
it should not allocate node ports.
If the same service is updated to set AllocateLoadBalancerNodePorts
to true, it should allocate node ports.

When a service is updated from ClusterIP type to LoadBalancer type,
and AllocateLoadBalancerNodePorts is set to false, it should not
allocate node ports.
2021-11-18 09:38:30 +01:00
Hanna Lee
07a883d8e6 Remove //lint:ignore pragmas that aren't being used anymore 2021-11-17 08:56:54 +01:00
Hanna Lee
c8fde197f5 Add more //nolint:staticcheck for failures caught in PR tests 2021-11-17 08:56:02 +01:00
Kubernetes Prow Robot
f784891854 Merge pull request #105945 from Jefftree/openapi-v3-test
OpenAPI v3
2021-11-16 21:14:05 -08:00
Kubernetes Prow Robot
c0b5ed7556 Merge pull request #105611 from damemi/simplified-multipoint-extension
Scheduler simplified MultiPoint plugin config
2021-11-16 17:44:12 -08:00
Kermit Alexander
3180012c1b Add integration tests for OpenAPI v3. 2021-11-16 17:38:54 -08:00
Kubernetes Prow Robot
e14bdbaa1c Merge pull request #105057 from jiahuif-forks/feature/enum-types-feature-enablement
Add Support for OpenAPIEnum in OpenAPI v2
2021-11-16 16:35:55 -08:00
Mike Dame
420c5308bb Add MultiPoint scheduler plugin config field 2021-11-16 14:56:33 -05:00
Joe Betz
ba6db69c39 Add integration tests for CRD validation rules feature 2021-11-15 21:49:32 -05:00
Neha Lohia
fa1b6765d5 move pkg/util/node to component-helpers/node/util (#105347)
Signed-off-by: Neha Lohia <nehapithadiya444@gmail.com>
2021-11-12 07:52:27 -08:00
Mike Dame
80c01707e0 Wire contexts to Batch controllers (#105491)
* Wire contexts to Batch controllers

* (hold) feedback + updates that overlap with Apps controllers

* fixup errors
2021-11-10 14:56:46 -08:00
Jiahui Feng
a8175212aa integration test for OpenAPI feature enablement. 2021-11-10 11:06:03 -08:00
Kubernetes Prow Robot
9351ea291a Merge pull request #105873 from MikeSpreitzer/more-seat-metrics
More seat metrics for APF
2021-11-10 02:23:26 -08:00
Jiahui Feng
9c05de2f31 prune enum when OpenAPIEnums is disabled. 2021-11-09 13:00:00 -08:00
wangyysde
d2abddd909 rename v2beta2 to v2
Signed-off-by: wangyysde <net_use@bzhy.com>

Generation swagger.json.

Use v2 path for hpa_cpu_field.

run update-codegen.sh

Signed-off-by: wangyysde <net_use@bzhy.com>
2021-11-09 10:34:54 +08:00
Kubernetes Prow Robot
8e2d7a3d64 Merge pull request #105983 from jiahuif-forks/dep/bump-smd
Upgrade sigs.k8s.io/structured-merge-diff/v4 to v4.2.0
2021-11-03 15:24:32 -07:00