Commit Graph

48204 Commits

Author SHA1 Message Date
Dan Winship
19f19e2f4f Merge the ExternalTrafficPolicy: Local tests together
Merge TestOnlyLocalExternalIPs, TestOnlyLocalLoadBalancing, and
TestOnlyLocalNodePorts together into TestExternalTrafficPolicyLocal.
Drop the assertIPTablesRulesEqual tests in favor of
runPacketFlowTests.

Remove TestOnlyLocalNodePortsNoClusterCIDR; the relevant bits of the
"no local detector" case are already fully covered by
TestInternalExternalMasquerade.
2023-09-26 13:01:23 -04:00
Dan Winship
ff5f5bc161 Merge several NodePort tests into TestNodePorts
Previously we had TestNodePort, which tested basic NodePort behavior,
plus Test{Enable,Disable}LocalhostNodePorts{IPv4,IPv6} to test the
behavior of --localhost-nodeports under IPv4 and IPv6, plus
TestDisableLocalhostNodePortsIPv4WithNodeAddress to test
--nodeport-addresses.

Merge all of these together into TestNodePorts, and use
runPacketFlowTests to check the results rather than
assertIPTablesRulesEqual.

The packet tracer is not full-featured enough to be able to check the
"anti martian packet spoofing" rule, so we check the iptables dump for
that manually.

(This also fixes the --localhost-nodeport tests to use the same IP
ranges as most of the other tests now.)
2023-09-26 12:01:28 -04:00
Dan Winship
f38231d568 Merge all the "reject when no endpoints" tests together
Merge TestClusterIPReject, TestExternalIPsReject, TestNodePortReject,
and TestLoadBalancerReject into a single test.

Also remove the assertIPTablesRulesEqual tests because the packet flow
tests cover all of the details we care about here.
2023-09-26 12:00:19 -04:00
Dan Winship
2435da11d5 Rewrite TestClusterIPEndpointsMore as TestClusterIPGeneral
Create some ClusterIP services and use runPacketFlowTests to test
general functionality:

  - normal connection
  - hairpin connection
  - multiple endpoints
  - port != targetPort
  - multiple protocols on same port

Remove the assertIPTablesRulesEqual test because the packet flow tests
cover all of the details we care about here.
2023-09-26 12:00:19 -04:00
Dan Winship
ce7ffa8175 Extend iptables packet tracer to support multiple node IPs 2023-09-26 12:00:17 -04:00
Dan Winship
0910fe4b98 Extend iptables packet tracer to check the protocol 2023-09-22 11:41:21 -04:00
Dan Winship
a25fb03c00 Add assertIPTablesChainEquals, to streamline a few tests
Rather than checking the entire iptables dump, only check a single
chain.
2023-09-22 11:41:21 -04:00
Dan Winship
0ab0e404b8 Drop the now-unused assertIPTablesRulesNotEqual
Previously this was used to assert "something changed since the last
sync", but we already have packet flow tests in all of those cases now
to assert that the *specific* something we care about changed.
2023-09-22 11:41:21 -04:00
Dan Winship
4438f5e436 Remove assertIPTablesRulesEqual checks from terminating endpoints tests
The flow tests sufficiently check the results.

Also remove some irrelevant bits of the Service definition that don't
affect these tests.
2023-09-22 11:41:17 -04:00
Dan Winship
d57a51d0a9 Remove assertIPTablesRulesEqual from InternalTrafficPolicy test
Just use the flow tests. Also, add a new test for a missing case.
2023-09-22 11:07:53 -04:00
Dan Winship
43db55e93d Rename and extend TestOverallIPTablesRulesWithMultipleServices
Rename TestOverallIPTablesRulesWithMultipleServices to just
TestOverallIPTablesRules, and add one rule type we weren't previously
testing (session affinity).
2023-09-22 11:06:45 -04:00
Kubernetes Prow Robot
f170340524 Merge pull request #120723 from princepereira/ppereira-kubeproxy-mock-test-fix
Fix for Kubeproxy Mock framework where hcn object is holding always new object and not the pointer reference
2023-09-21 01:06:19 -07:00
Kubernetes Prow Robot
bf421d52f2 Merge pull request #120777 from atiratree/reintroduce-resource-quota-monitor
reintroduce resourcequota.NewMonitor
2023-09-20 21:22:25 -07:00
Kubernetes Prow Robot
89b4153d4d Merge pull request #116884 from mengjiao-liu/contextual-logging-scheduler-plugin-nodevolumelimits
Change the scheduler plugins FactoryAdapter function to use context parameter to pass logger
2023-09-20 11:26:00 -07:00
Filip Křepinský
c816601d83 reintroduce resourcequota.NewMonitor
- this function is used by other packages and  was mistakenly removed
  in 397cc73dc9
- let resource quota controller use this constructor instead of an
  object instantiation
2023-09-20 17:18:55 +02:00
Kubernetes Prow Robot
fd5f36e6a0 Merge pull request #120175 from kannon92/move-pod-failure-policy-constant
move reasons to api package for job controller
2023-09-20 03:06:00 -07:00
Mengjiao Liu
a7466f44e0 Change the scheduler plugins PluginFactory function to use context parameter to pass logger
- Migrated pkg/scheduler/framework/plugins/nodevolumelimits to use contextual logging
- Fix golangci-lint validation failed
- Check for plugins creation err
2023-09-20 17:49:54 +08:00
Kubernetes Prow Robot
355feb21fd Merge pull request #120649 from andrewsykim/fix-cronjob-controller-already-exists-err
cronjob controller: ensure already existing jobs are added to active list
2023-09-20 02:00:00 -07:00
Kubernetes Prow Robot
963c9b3cb9 Merge pull request #119317 from mochizuki875/fix_ds_rolling_update_118823
Exclude nodes from rolling update depending on tolerations
2023-09-19 16:50:17 -07:00
Kevin Hannon
a62eb45ae2 Rename job reasons to JobReasons as part of api review 2023-09-19 13:10:22 -04:00
Andrew Sy Kim
301aa69fec cronjob controller: ensure already existing jobs are added to Active list of cronjobs
Signed-off-by: Andrew Sy Kim <andrewsy@google.com>
2023-09-19 15:18:44 +00:00
Aleksandra Malinowska
5ed60a72f6 Revert "Make StatefulSet restart pods with phase Succeeded" 2023-09-19 15:49:36 +02:00
mochizuki875
2a82776745 change rolling update logic to exclude sunsetting nodes 2023-09-19 11:39:32 +00:00
Kubernetes Prow Robot
12dc19d46f Merge pull request #119393 from saschagrunert/debian-base
Update debian-base for test images and others
2023-09-19 00:48:55 -07:00
Kubernetes Prow Robot
f9f00da6bc Merge pull request #118761 from TommyStarK/gh_113831
move common logic of highestSupportedVersion to util package
2023-09-18 13:59:25 -07:00
TommyStarK
42356bfbb3 move common logic of highestSupportedVersion to util package
Signed-off-by: TommyStarK <thomasmilox@gmail.com>
2023-09-18 21:25:29 +02:00
Kubernetes Prow Robot
76a22d3b32 Merge pull request #120711 from charles-chenzz/unify_fake_pod_scheduler
scheduler test: unify util to fake pod
2023-09-18 09:26:31 -07:00
Kubernetes Prow Robot
82bca6304b Merge pull request #119464 from TommyStarK/dra/cleanup-manager-unit-tests
dra: cleanup manager unit tests
2023-09-18 07:08:43 -07:00
Kubernetes Prow Robot
9d6180559b Merge pull request #119099 from palnabarun/authz-config
[StructuredAuthorizationConfiguration] Implement API types and wire kube-apiserver to use them
2023-09-18 07:08:31 -07:00
charles-chenzz
c8b9d64d81 scheduler test: unify util to fake pod. 2023-09-18 20:05:01 +08:00
Kubernetes Prow Robot
3cfdf3c33d Merge pull request #120434 from pohly/scheduler-backoff-metric-test
scheduler: fix TestIncomingPodsMetrics unit test
2023-09-18 03:00:31 -07:00
Prince Pereira
1a27531d2e Fix for Kubeproxy Mock framework where hcn object is holding always new object and not the pointer reference. 2023-09-18 11:59:01 +05:30
Nabarun Pal
108d195595 use AuthorizationConfiguration in kube-apiserver for storing authorizer config
Signed-off-by: Nabarun Pal <pal.nabarun95@gmail.com>
2023-09-18 11:33:18 +05:30
Kubernetes Prow Robot
4fd8bd9975 Merge pull request #118568 from qiutongs/node-startup-latency
Create a node startup latency tracker
2023-09-15 13:00:12 -07:00
Stephen Kitt
3cb0b520d6 Scheduler CSI tests: switch maxVols to int32
This ends up stored in an int32 Count, use the target type throughout
to avoid narrowing conversions.

Signed-off-by: Stephen Kitt <skitt@redhat.com>
2023-09-15 09:52:50 +02:00
Kubernetes Prow Robot
d393d4e151 Merge pull request #120574 from logicalhan/cslis
promote component SLIs to GA; remove feature gates for component slis
2023-09-14 22:52:12 -07:00
Kevin Hannon
c6e9fba79b move reasons to api package for job controller 2023-09-14 13:24:29 -04:00
Kubernetes Prow Robot
fc786dcd1d Merge pull request #119396 from wackxu/NodeUnschedulableHintFunc
NodeUnschedulable: scheduler queueing hints
2023-09-14 09:20:12 -07:00
Kubernetes Prow Robot
a68093a3ff Merge pull request #120506 from alexzielenski/import-restrictions
Update e2e import restrictions
2023-09-13 21:56:22 -07:00
wackxu
28dbe8a34d scheduler/NodeUnschedulable: reduce pod scheduling latency
Signed-off-by: wackxu <xushiwei5@huawei.com>
2023-09-14 10:23:43 +08:00
Kubernetes Prow Robot
716b8b9d83 Merge pull request #120623 from aojea/service_status_Finalizer
sync Service API status rest storage
2023-09-13 17:56:11 -07:00
Kubernetes Prow Robot
3eca0a5f78 Merge pull request #120398 from aleksandra-malinowska/sts-restart-always
Make StatefulSet restart pods with phase Succeeded
2023-09-13 12:40:12 -07:00
Kubernetes Prow Robot
a08ee80807 Merge pull request #119829 from cvvz/fix-volumemanager-logs
fix: implement MarshalLog for structures in volumemanager for structured-logging.
2023-09-13 07:46:12 -07:00
Antonio Ojea
21e26486ac sync Service API status rest storage
The Service API Rest implementation is complex and has to use different
hooks on the REST storage. The status store was making a shallow copy of
the storage before adding the hooks, so it was not inheriting the hooks.

The status store must have the same hooks as the rest store to be able
to handle correctly the allocation and deallocation of ClusterIPs and
nodePorts.

Change-Id: I44be21468d36017f0ec41a8f912b8490f8f13f55
Signed-off-by: Antonio Ojea <aojea@google.com>
2023-09-13 11:35:42 +00:00
Stephen Kitt
9990307146 kube-scheduler: drop deprecated pointer package
This replaces deprecated k8s.io/utils/pointer functions with their ptr
equivalent.

Signed-off-by: Stephen Kitt <skitt@redhat.com>
2023-09-13 09:42:19 +02:00
carlory
5fcffcf4e4 Add APIGroup ratcheting validation to PVC.DataSource 2023-09-13 13:10:22 +08:00
Kubernetes Prow Robot
a06e5a7307 Merge pull request #120330 from rohitssingh/master
Retry NodeStageVolume if CSI Driver Is Missing; Treat this Error as Transient
2023-09-12 17:44:30 -07:00
Kubernetes Prow Robot
db49b13ccd Merge pull request #120252 from kerthcet/cleanup/framework-import
Move framework testing libraries to the right place
2023-09-12 17:44:11 -07:00
Patrick Ohly
819eddaf9a scheduler: fix TestIncomingPodsMetrics unit test
addUnschedulablePodBackToBackoffQ happened to put the pod into the backoff
queue because
- the pod was not popped earlier and thus not in flight
- the PodInfo had UnschedulablePlugins set
- determineSchedulingHintForInFlightPod has code for "if UnschedulablePlugins
  is set and pod not in flight -> internal error, use backoff"

Relying on such special code is not good. A better way to force backoff is by
recording some concurrent event. isPodWorthRequeuing then calls the
queueHintReturnQueueAfterBackoff function and the pod goes to the backoff
queue.
2023-09-12 08:38:53 +02:00
kerthcet
6fbb8ec7e4 Move scheduler testing utils to /scheduler/testing
Signed-off-by: kerthcet <kerthcet@gmail.com>
2023-09-12 13:42:38 +08:00