Commit Graph

49040 Commits

Author SHA1 Message Date
NoicFank
227c1915db enhancement(scheduler): share waitingPods among profiles 2024-02-01 10:06:23 +08:00
Kubernetes Prow Robot
4128848655 Merge pull request #122914 from alexanderConstantinescu/kep-3836-beta
KEP 3836 - promote to beta
2024-01-23 23:51:55 +01:00
Kubernetes Prow Robot
7bb00356f0 Merge pull request #122857 from nilo19/chore/cleanup-azure
chore: Cleanup in-tree credential provider azure and cloud provider a…
2024-01-23 21:31:11 +01:00
kerthcet
8371e4cf93 quick break when met
Signed-off-by: kerthcet <kerthcet@gmail.com>
2024-01-23 19:40:15 +08:00
Kubernetes Prow Robot
745a364422 Merge pull request #120866 from bzsuni/cleanup/sets/api
use generic Set in api
2024-01-22 18:20:48 +01:00
Alexander Constantinescu
31de75f62c KEP 3836 - promote to beta 2024-01-22 17:47:41 +01:00
Kubernetes Prow Robot
7c0c4fb104 Merge pull request #122876 from danwinship/dead-scheduler-config
Remove some dead options in KubeSchedulerConfiguration
2024-01-22 15:05:30 +01:00
Qi Ni
3bf2bf8191 chore: Cleanup in-tree credential provider azure and cloud provider azure 2024-01-20 15:18:31 +08:00
Dan Winship
ed289f875e Remove some dead options in KubeSchedulerConfiguration
The v1beta1 API had MetricsBindAddress and HealthzBindAddress fields
but they were removed in v1, and then never got removed from the
unversioned type when the v1beta1 API went away.
2024-01-19 13:47:23 -05:00
Kubernetes Prow Robot
c6887b1c00 Merge pull request #117803 from sourcelliu/preFilterState
Optimize the performance of the Clone method of preFilterState
2024-01-19 10:57:20 +01:00
Kubernetes Prow Robot
eb1ae05cf0 Merge pull request #122030 from carlory/121799
fix issue with using feature HonorPVReclaimPolicy in csi-provisioner
2024-01-19 04:35:48 +01:00
Kubernetes Prow Robot
eabd6e4584 Merge pull request #122704 from carlory/fix-introactive-storageclass
If a pvc has an empty storageclass name, don't try to assign a default StorageClass
2024-01-18 20:10:41 +01:00
Kubernetes Prow Robot
6180759dba Merge pull request #122738 from benluddy/client-go-feature-gate-adapter
Inject feature gate instance into client-go for kube components.
2024-01-17 18:33:56 +01:00
Kubernetes Prow Robot
909faa3a9b Merge pull request #116627 from claudiubelu/unittests-8
unittests: Fixes unit tests for Windows (part 8)
2024-01-17 05:43:54 +01:00
carlory
5ff42b2368 fix issue with using feature HonorPVReclaimPolicy in csi-provisioner 2024-01-17 10:57:30 +08:00
Lukasz Szaszkiewicz
8a32f346a0 kube/features: improve unit testing known/registered features
Co-authored-by: Ben Luddy <bluddy@redhat.com>
2024-01-16 12:51:00 -05:00
Ben Luddy
995135973d Inject feature gate instance into client-go for kube components.
In order to avoid a dependency cycle between component-base and client-go, client-go maintains
parallel definitions of component-base's feature types and constants. Passing kube's default feature
gate instance to client-go requires an adapter.
2024-01-16 12:51:00 -05:00
Kubernetes Prow Robot
9b5e2dc54d Merge pull request #122231 from ardaguclu/get-cronjob-timezone
Add timezone column in cronjob get command
2024-01-16 12:53:18 +01:00
Kubernetes Prow Robot
72d30a588b Merge pull request #122754 from KubeKyrie/fix/replace-expected-field
expected and actual field position adjustment
2024-01-16 06:42:03 +01:00
Kubernetes Prow Robot
ebb79e5cf9 Merge pull request #122768 from danwinship/conntrack-cleanup
conntrack cleanup cleanup
2024-01-16 01:15:29 +01:00
Dan Winship
fcb51554a1 Plumb the conntrack.Interface up to the proxiers
And use the fake interface in the unit tests, removing the dependency
on setting up FakeExec stuff when conntrack cleanup will be invoked.

Also, remove the isIPv6 argument to CleanStaleEntries, because it can
be inferred from the other args.
2024-01-15 13:09:05 -05:00
Dan Winship
cdf934d5bc Remove redundant iptables/nftables conntrack cleanup tests
The iptables and nftables proxy backends had 2 unit tests
(TestDeleteEndpointConnections and TestProxierDeleteNodePortStaleUDP)
that were effectively testing that:

  - If the proxy saw various Service/EndpointSlice events this would
    result in specific changes to the service/endpoints trackers, AND

  - If the service/endpoints trackers changed in those specific ways
    this would result in specific UpdateServiceMapResult and
    UpdateEndpointsMapResult values being generated, AND

  - If you passed those specific UpdateServiceMapResult and
    UpdateEndpointsMapResult values to conntrack.CleanStaleEntries it
    would make specific calls to the lower-level conntrack methods,
    AND

  - If you called the lower-level conntrack methods with those
    specific arguments, it would result in specific executions of the
    conntrack binary, mixed with a specific number of klog
    invocations.

This... is not a good unit test. We already test the change tracker
behavior in other unit tests, and we already tested the
Update{Service,Endpoints}MapResult behavior in the pkg/proxy unit
tests, and we already tested the conntrack exec behavior in
pkg/proxy/conntrack/conntrack_test.go, and we now test the
CleanStaleEntries behavior in pkg/proxy/conntrack/cleanup_test.go. So
there is no need to try to test the top-to-bottom behavior as a "unit
test".
2024-01-15 13:08:52 -05:00
Dan Winship
db12cbe2ae Add conntrack.Interface, test CleanStaleEntries
Add an interface between CleanStaleEntries and the lower-level
conntrack helpers (ClearEntriesForIP, etc), and a fake implementation
of that interface, so that we can explicitly test CleanStaleEntries's
logic.

Remove some comments from conntrack.go that were explaining the
functions' callers rather than explaining the functions themselves
(and which were redundant with other comments in the callers anyway).
2024-01-15 13:08:36 -05:00
Dan Winship
51063cb5c4 Clean up conntrack unit tests
Fix the test names to match the functions they are testing.

Abstract out the repetitive FakeExec handling.

Explicitly specify the "expectCommand" in each one, to make it clearer
that that's really the part that we're testing.

For everything except TestExec(), test each case with both a "success"
result and a "nothing to delete" result from the conntrack binary.
2024-01-15 13:07:08 -05:00
Kubernetes Prow Robot
29bf09136e Merge pull request #122732 from ahutsunshine/typo
fix version typo of pod namespace indexer
2024-01-15 16:23:28 +01:00
Kubernetes Prow Robot
f38ff3feea Merge pull request #121716 from kerthcet/cleanup/add-log
Add more logs to scheduler event handler
2024-01-15 16:23:19 +01:00
Kubernetes Prow Robot
be77b0b82b Merge pull request #118389 from amewayne/support_nodeannotationschanged
support nodeAnnotationsChanged event to trigger rescheduling
2024-01-15 10:50:41 +01:00
Kubernetes Prow Robot
908a958bb1 Merge pull request #122771 from thockin/make_verify-fieldname-docs_actually_error
Make verify-fieldname-docs actually error
2024-01-14 23:57:44 +01:00
Tim Hockin
8b8f0a70cd Make verify-fieldname-docs actually error
Sadly, cmd/fieldnamedocscheck did not exit non-zero when it needed to.

Fix the one thing it flagged.
Add it to verify-quick
2024-01-14 10:32:08 -08:00
Kubernetes Prow Robot
12fc215656 Merge pull request #122663 from aroradaman/drop-ct-state-invalid-rule
pkg/proxy/nftables: drop conntrack state invalid rule
2024-01-13 19:01:16 +01:00
carlory
8af9a177b2 If a pvc has an empty storageclass name, don't try to assign a default StorageClass to it. 2024-01-13 21:25:43 +08:00
KubeKyrie
9860e12d6e expected and actual field position adjustment
Signed-off-by: KubeKyrie <shaolong.qin@daocloud.io>
2024-01-13 12:16:14 +08:00
ahutsunshine
6cd25f43a6 fix version typo of namespace indexer 2024-01-12 20:50:00 +08:00
Kubernetes Prow Robot
4b94168c0f Merge pull request #122687 from danwinship/nftables-packet-flow
Document the nftables kube-proxy packet flow
2024-01-12 02:52:24 +01:00
Dan Winship
5ca73197b3 Document the nftables kube-proxy packet flow 2024-01-11 12:59:21 -05:00
Paco Xu
56321a7779 Revert "Graduate Evented PLEG to Beta"
This reverts commit d971809b49.
2024-01-11 15:27:23 +08:00
Kubernetes Prow Robot
c9158e9a19 Merge pull request #122595 from dims/support-building-with-and-without-cloud-providers
KUBE_PROVIDERLESS - Support building with and without cloud providers
2024-01-11 05:42:23 +01:00
Daman Arora
4ffa12b9d9 pkg/proxy/nftables: drop ct-state-invalid rule
Signed-off-by: Daman Arora <aroradaman@gmail.com>
2024-01-10 22:53:09 +05:30
amewayne
71c3593f85 support nodeAnnotationsChanged event to trigger rescheduling 2024-01-10 22:38:54 +08:00
Kubernetes Prow Robot
fc691e8ffd Merge pull request #122476 from kerthcet/feat/support-annotation
Support annotation in nodewrapper
2024-01-10 14:05:58 +01:00
Kubernetes Prow Robot
c74cd5fec4 Merge pull request #122524 from AxeZhan/testPQupdate
[Scheduler] refactor TestPriorityQueue_Update
2024-01-10 02:46:59 +01:00
Kubernetes Prow Robot
95a159299b Merge pull request #122614 from tnqn/nftables-firewall
kube-proxy: fix LoadBalancerSourceRanges not working for nftables mode
2024-01-09 22:27:16 +01:00
Kubernetes Prow Robot
13fad117aa Merge pull request #122630 from uablrek/kube-proxy-ip-types
Kube-proxy: use type net.IP for addresses
2024-01-09 21:18:25 +01:00
Kubernetes Prow Robot
ccb1d08162 Merge pull request #121834 from vaibhav2107/eviction-update
Added Imagefs inodes in default Eviction Hard
2024-01-09 21:18:16 +01:00
Quan Tian
f21f8d9984 kube-proxy: fix LoadBalancerSourceRanges not working for nftables mode
Previously, the firewall-check chain was run in input, forward, and
output hook but not prerouting hook. When the LoadBalancer traffic
arrived at input or forward hook, it had been DNATed to endpoint IP and
port, so the firewall-check chain didn't take effect, traffic from out
of LoadBalancerSourceRanges was not dropped.

It was not detected by unit test because the chains were sorted by
priority only, while hook should be taken into consideration.

The commit links the firewall-check chain to prerouting hook and unlinks
it from input and forward hook to ensure the traffic is filtered before
DNAT. The priorities of filter chains are updated from "DNATPriority-1"
to "DNATPriority-10" to allow third parties to insert something else
between them.

Signed-off-by: Quan Tian <qtian@vmware.com>
2024-01-09 17:34:16 +08:00
Lars Ekman
50b3ffc71f kube-proxy: LoadBalancerSourceRanges as *net.IPNet 2024-01-09 09:17:56 +01:00
Lars Ekman
9eac24c656 kube-proxy: store ExternalIPs as net.IP
They were stored as strings which could be non-canonical
and cause problems
2024-01-09 09:17:50 +01:00
Lars Ekman
d2294007b0 kube-proxy: store LoadBalancerVIPs as net.IP
They were stored as strings which could be non-canonical
and cause problems
2024-01-09 09:17:43 +01:00
Lars Ekman
564b80b1e1 kube-proxy: don't use invalid cidrs in unit test
CIDRs like 192.168.200.3/24 and fd00:20::1/64 replaced with
192.168.200.0/24 and fd00:20::/64
2024-01-09 09:17:31 +01:00
Lars Ekman
41ba76d23e kube-proxy: don't use invalid cidrs in unit test
CIDRs like 192.168.200.3/24 and fd00:20::1/64 replaced with
192.168.200.0/24 and fd00:20::/64
2024-01-09 09:14:20 +01:00