160 Commits
Author SHA1 Message Date
Jordan Liggitt fbc5386508 Cleanup inactive approvers 2026-10-22 13:34:00 -04:00
Patrick Ohly c13f052503 ktesting: move to staging
This moves the existing code unchanged, updates package and module name, and
updates all import statements.
2026-10-07 11:08:22 +02:00
Patrick Ohly 2579861734 kube-controller-manager: use context-aware client-go
Kubernetes 1.37 finished the introduction of context-aware client-go APIs.
Components like kube-controller-manager which are meant to support contextual
logging should use those new APIs.

This is not enforced yet because existing code must be updated first. Once
that is done, enforcement of everything touched here can be enabled tree-wide.
2026-09-07 16:49:09 +02:00
Joe Betz e89ecc6af0 generate 2026-06-30 18:02:28 -04:00
Joe Betz 119a1460c1 Generate deepcopy 2026-05-11 12:27:56 -04:00
Davanum Srinivas 5d3e8d9db6 nodeipam: buffer TestNodeSyncResync report notifications
TestNodeSyncResync closes opChan after observing the first resync and then
waits for the loop to exit. There is still a small window where the 1ms
resync timer fires again before the select notices the closed channel.
When that happens ReportResult sends a second notification on the
unbuffered reportChan, the loop blocks in the send, and the test waits
forever on doneChan.

Allow one queued notification so the loop can drain that race and reach
the closed opChan case. The test still validates that a resync happened;
it just stops depending on exact scheduling between two ready events.

Tested:
go test -race ./pkg/controller/nodeipam/ipam/sync -run TestNodeSyncResync -count=200
2026-03-14 11:58:31 -04:00
VijetaPriya47 4795edadee Fix goroutine leak in TestNodeSyncResync 2025-11-11 21:19:28 +05:30
Ondra Kupka 34e688eb3d controller/nodeipam: Improve goroutine mgmt
Make sure all threads are terminated when Run returns.
2025-10-29 19:04:38 +01:00
Mayank Agrawal 5e216ae34d Replace HandleCrash and HandleError calls to use context-aware alternatives 2025-10-07 22:40:10 -07:00
Aditi Gupta f58d1e101f refactor(controller): Use WithContext variants in cloud node controllers
This change refactors the cloud-specific versions of the node lifecycle
and node IPAM controllers to use a context.Context for cancellation and
contextual logging, replacing the legacy stopCh pattern.

This is a follow-up to PR #133985, where these controllers were
separated out due to their use in the legacy Cloud Controller Manager
(CCM).

It is a known issue that the CCM's startup logic does not pass the
controller name via the context. This change proceeds with the
refactoring to unify the cancellation logic across controllers, while
acknowledging that contextual logs will be less detailed when these
controllers are run in the CCM.

Signed-off-by: Aditi Gupta <aditigpta@google.com>
2025-09-17 00:17:38 -07:00
Feruzjon Muyassarov 4c6971007b Refine logging levels in Job, IPAM, and ReplicaSet controllers.
Adjust logging levels in Job, IPAM, and ReplicaSet controllers from
V(0) to V(2), V(4), V(4) respectively to reduce noise. These logs
provide minimal value at the debug level (V(0)), so they have been
adjusted for better log clarity

Signed-off-by: Feruzjon Muyassarov <feruzjon.muyassarov@est.tech>
2025-03-11 10:25:16 +02:00
Kubernetes Prow Robot e8615e2712 Merge pull request #129054 from pohly/remove-import-name
remove import doc comments
2024-12-12 09:58:35 +01:00
Patrick Ohly 8a908e0c0b remove import doc comments
The "// import <path>" comment has been superseded by Go modules.
We don't have to remove them, but doing so has some advantages:

- They are used inconsistently, which is confusing.
- We can then also remove the (currently broken) hack/update-vanity-imports.sh.
- Last but not least, it would be a first step towards avoiding the k8s.io domain.

This commit was generated with
   sed -i -e 's;^package \(.*\) // import.*;package \1;' $(git grep -l '^package.*// import' | grep -v 'vendor/')

Everything was included, except for
   package labels // import k8s.io/kubernetes/pkg/util/labels
because that package is marked as "read-only".
2024-12-02 16:59:34 +01:00
Adrian Moisey 90922f5c94 Fix linting issue in test
Lint error was introduced in
https://github.com/kubernetes/kubernetes/pull/128305 and backported in https://github.com/kubernetes/kubernetes/pull/128806

It was merged before I could fix it, so I thought I'd make a follow up
PR to fix it.

I won't be backporting this lint as it's only in tests (unless it makes
sense to backport?)
2024-11-19 12:20:02 +02:00
Adrian Moisey 4d2f3ed8e6 Ensure that a node's CIDR isn't released until the node is deleted
Fixes https://github.com/kubernetes/kubernetes/issues/127792

Fixes bug where a node's PodCIDR was released when the node was given a
delete time stamp, but was hanging around due to a finalizer.
2024-10-24 13:19:34 +02:00
Joe Betz 2595aa1309 generate 2024-09-03 14:26:26 -04:00
Davanum Srinivas 60fe406f67 remove vestiges of providerless tag
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2024-06-06 12:18:38 -04:00
Davanum Srinivas efdb2961b6 drop unused code pointed out by linter
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2024-05-01 09:03:57 -04:00
Davanum Srinivas bf268f02a3 Remove gcp in-tree cloud provider and credential provider
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2024-05-01 09:03:53 -04:00
bells17 1c917aa463 component-helpers: Support structured and contextual logging (#120637) 2024-04-24 03:06:15 -07:00
Kubernetes Prow Robot fd40d68a39 Merge pull request #123238 from MirrorShih/master
Fix infinite loop and replace channel with queue
2024-04-18 14:30:07 -07:00
Krzysztof Dąbrowski 170d143b1a Revert changes in tests 2024-03-30 20:47:29 +01:00
Krzysztof Dąbrowski 5e94ffe90b nodeipam: poll nodes immediately 2024-03-29 20:56:08 +01:00
MirrorShih 62f89972b6 Fix infinite loop and replace channel with queue 2024-03-05 17:32:11 +00:00
Mengjiao Liu b584b87a94 kube-controller-manager: readjust log verbosity
- Increase the global level for broadcaster's logging to 3 so that users can ignore event messages by lowering the logging level. It reduces information noise.
- Making sure the context is properly injected into the broadcaster, this will allow the -v flag value to be used also in that broadcaster, rather than the above global value.
- test: use cancellation from ktesting
- golangci-hints: checked error return value
2024-02-26 14:51:56 +08:00
Antonin Bas 75a3069294 Remove unused lookupIP field in NodeIPAM Controller struct
I am not sure why this was originally required, but it doesn't seem to
have been used for years.

Signed-off-by: Antonin Bas <antonin.bas@broadcom.com>
2024-02-14 13:28:35 -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
Antonio Ojea e46778a246 remove dead code
Change-Id: I8e1fd101ecb32436d82363c76fa84c476b171d52
2024-01-08 13:15:28 +00:00
Davanum Srinivas b7012da2ad Remove providerless tag in controller_test.go
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2024-01-08 07:03:49 -05:00
Davanum Srinivas 7a236bd7e0 Add providerless tags appropriately in test/
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2024-01-07 08:16:05 -05:00
ii2day 4b1408c2e7 Fix typos: update registerCidrsetMetrics to registerCIDRSetMetrics
Signed-off-by: ii2day <ji.li@daocloud.io>
2023-12-04 10:09:52 +08:00
Antonio Ojea c2d473f0d4 remove ClusterCIDR
KEP-2593 proposed to expand the existing node-ipam controller
to be configurable via a ClusterCIDR objects, however, there
were reasonable doubts on the SIG about the feature and after
several months of dicussions we decided to not move forward
with the KEP intree, hence, we are going to remove the existing
code, that is still in alpha.

https://groups.google.com/g/kubernetes-sig-network/c/nts1xEZ--gQ/m/2aTOUNFFAAAJ

Change-Id: Ieaf2007b0b23c296cde333247bfb672441fe6dfc
2023-10-14 19:06:22 +00:00
Ziqi Zhao dfc1838379 Migrated pkg/controller/volume|util|replicaset|nodeipam to contextual logging
Signed-off-by: Ziqi Zhao <zhaoziqi9146@gmail.com>
2023-07-06 07:39:52 +08:00
Tobias Klauser e7c679c362 cidrset, multicidrset: directly use getIndexForIP method
Instead of constructing a *net.IPnet whose .Mask field is never used,
call the getIndexForIP method of *CidrSet and *MultiCIDRSet directly.
2023-05-11 10:53:03 +02:00
Antonio Ojea fd62265d19 unexport buggy function nodeSelectorAsSelector
Change-Id: I1e48ac0dd0b33c367fa9be4f4adb11a4531849f9
2023-03-09 16:58:25 +00:00
Paco Xu 0e6636eb33 nodeipam: return error instead of panics 2023-03-08 12:47:14 +08:00
Paco Xu 4fdca4c5f6 node ipam ut: run test in parallel to avoid timeout; and optimize the panic check 2023-03-08 11:10:51 +08:00
JunYang 780ef3afb0 use klog.InfoS instead of klog.V(0),Info 2023-03-07 15:50:01 +08:00
Antonio Ojea 3bb203e7eb replace nodeipam custom logic by a workqueue
Change-Id: I242174b9d92606b1225a4af29a0730b7cd7d3c03
2023-02-06 19:34:29 +00:00
Sarvesh Rangnekar c791d69b3e Fix the nodeSelector key creation mechanism
Fixes the issue caused when multile ClusterCIDR objects have the same
nodeSelector values, order of the requirements in the nodeSelector is
not preserved when nodeSelector is marshalled and converted to a string.
2023-02-01 13:48:07 +00:00
Sarvesh Rangnekar a8f120b76c Fix the delete flow for ClusterCIDR objects
Fixes the deletion of ClusterCIDR object, when a Node is associated(has
Pod CIDRs allocated from this ClusterCIDR) with it. Currently the
ClusterCIDR finalizer is never cleaned up as there is no reconciliation
happening after the associated Node has been deleted. This commit fixes
the issue by adding workitems from all events to a worker queue and
reconcile until the delete is successful.
2023-01-30 19:35:41 +00: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
JunYang 29086e2b04 use klog instead of klog.V(0) 2023-01-14 21:15:50 +08:00
Sanskar Jaiswal b501d6036a add metric for max no. of CIDRs that can be allocated from MultiCIDRSet
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2022-12-05 15:18:45 +00:00
Sanskar Jaiswal 37f4d4624b add metric for max no. of CIDRs that can be allocated from CidrSet
Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
2022-12-05 15:18:45 +00:00
Kubernetes Prow Robot 694698ca38 Merge pull request #110485 from Octopusjust/k8s-pr
cidr_set.go :  fix several typo
2022-11-08 13:51:00 -08:00
Wojciech Tyczyński e0002c7e26 Clean shutdown of nodeipam controller 2022-11-04 10:34:36 +01:00
Wojciech Tyczyński c84c27b6ac Clean shutdown of event broadcaster in controllers 2022-11-02 21:08:43 +01:00
Kubernetes Prow Robot 28ced69b76 Merge pull request #113054 from logicalhan/proxy-metric
remove rate limiter metric as it is not in use
2022-10-17 11:09:18 -07:00
Kubernetes Prow Robot 5e775e3c83 Merge pull request #112558 from aojea/ipam_owners
update sig-network reviewers/approvers on controller manager
2022-10-14 10:54:46 -07:00