Commit Graph

18206 Commits

Author SHA1 Message Date
Jefftree
9ad7d96451 Add metrics for OpenAPI V3 2023-03-15 00:07:37 +00:00
Kubernetes Prow Robot
de9ce03f19 Merge pull request #116542 from enj/enj/f/go1.20
Explicit bump to go 1.20
2023-03-13 13:24:55 -07:00
Kubernetes Prow Robot
077ca3b736 Merge pull request #116477 from twz123/synctrack-64bit-alignment
Properly align synctrack.SingleFileTracker struct
2023-03-13 12:15:02 -07:00
Kubernetes Prow Robot
087868a436 Merge pull request #116476 from smarterclayton/context_wait_2
wait: Split the wait package up into individual files to make refactors easier
2023-03-13 10:39:00 -07:00
Monis Khan
ba471884fb Explicit bump to go 1.20
Signed-off-by: Monis Khan <mok@microsoft.com>
2023-03-13 12:47:36 -04:00
Kubernetes Prow Robot
a0b1bee7c5 Merge pull request #115840 from atosatto/remove-taint-manager-cli
Remove enable-taint-manager and pod-eviction-timeout CLI flags
2023-03-13 08:13:10 -07:00
Kubernetes Prow Robot
4a7ba05691 Merge pull request #116510 from flant/whoami-beta
Promote whoami kubectl command
2023-03-13 05:56:47 -07:00
Tom Wieczorek
ffcf653e06 Properly align synctrack.SingleFileTracker struct
count is used with atomic operations so it must be 64-bit aligned,
otherwise atomic operations will panic. Having it at the top of the
struct will guarantee that, even on 32-bit arches.

This fixes panics like that one observed in kube-apiserver:

    E0310 13:48:47.476124     676 runtime.go:77] Observed a panic: unaligned 64-bit atomic operation
    goroutine 141 [running]:
    k8s.io/apimachinery/pkg/util/runtime.logPanic({0x2482378, 0x2db2ff8})
    	vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:75 +0x94
    k8s.io/apimachinery/pkg/util/runtime.HandleCrash({0x0, 0x0, 0x0})
    	vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:49 +0x78
    panic({0x2482378, 0x2db2ff8})
    	/usr/local/go/src/runtime/panic.go:884 +0x218
    runtime/internal/atomic.panicUnaligned()
    	/usr/local/go/src/runtime/internal/atomic/unaligned.go:8 +0x24
    runtime/internal/atomic.Load64(0x685f794)
    	/usr/local/go/src/runtime/internal/atomic/atomic_arm.s:280 +0x14
    k8s.io/client-go/tools/cache/synctrack.(*SingleFileTracker).HasSynced(0x685f790)
    	vendor/k8s.io/client-go/tools/cache/synctrack/synctrack.go:115 +0x3c
    k8s.io/client-go/tools/cache.(*processorListener).HasSynced(0x6013e60)
    	vendor/k8s.io/client-go/tools/cache/shared_informer.go:907 +0x20
    k8s.io/client-go/tools/cache.WaitForCacheSync.func1()
    	vendor/k8s.io/client-go/tools/cache/shared_informer.go:332 +0x50
    k8s.io/apimachinery/pkg/util/wait.ConditionFunc.WithContext.func1({0x2dcf274, 0x607c600})
    	vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:222 +0x1c
    k8s.io/apimachinery/pkg/util/wait.runConditionWithCrashProtectionWithContext({0x2dcf274, 0x607c600}, 0x6382050)
    	vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:262 +0x64
    k8s.io/apimachinery/pkg/util/wait.waitForWithContext({0x2dcf274, 0x607c600}, 0x64a6060, 0x6382050)
    	vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:649 +0x11c
    k8s.io/apimachinery/pkg/util/wait.poll({0x2dcf274, 0x607c600}, 0x1, 0x64a6060, 0x6382050)
    	vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:600 +0xc4
    k8s.io/apimachinery/pkg/util/wait.PollImmediateUntilWithContext({0x2dcf274, 0x607c600}, 0x5f5e100, 0x6382050)
    	vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:551 +0x60
    k8s.io/apimachinery/pkg/util/wait.PollImmediateUntil(0x5f5e100, 0x6298020, 0x607c600)
    	vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:542 +0x48
    k8s.io/client-go/tools/cache.WaitForCacheSync(0x607c600, {0x6298000, 0x3, 0x3})
    	vendor/k8s.io/client-go/tools/cache/shared_informer.go:329 +0x80
    k8s.io/client-go/tools/cache.WaitForNamedCacheSync({0x283c5e1, 0xf}, 0x607c600, {0x6298000, 0x3, 0x3})
    	vendor/k8s.io/client-go/tools/cache/shared_informer.go:316 +0xe8
    created by k8s.io/kubernetes/plugin/pkg/auth/authorizer/node.AddGraphEventHandlers
    	plugin/pkg/auth/authorizer/node/graph_populator.go:65 +0x5b0
    panic: unaligned 64-bit atomic operation [recovered]
    	panic: unaligned 64-bit atomic operation

    goroutine 141 [running]:
    k8s.io/apimachinery/pkg/util/runtime.HandleCrash({0x0, 0x0, 0x0})
    	vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:56 +0xf4
    panic({0x2482378, 0x2db2ff8})
    	/usr/local/go/src/runtime/panic.go:884 +0x218
    runtime/internal/atomic.panicUnaligned()
    	/usr/local/go/src/runtime/internal/atomic/unaligned.go:8 +0x24
    runtime/internal/atomic.Load64(0x685f794)
    	/usr/local/go/src/runtime/internal/atomic/atomic_arm.s:280 +0x14
    k8s.io/client-go/tools/cache/synctrack.(*SingleFileTracker).HasSynced(0x685f790)
    	vendor/k8s.io/client-go/tools/cache/synctrack/synctrack.go:115 +0x3c
    k8s.io/client-go/tools/cache.(*processorListener).HasSynced(0x6013e60)
    	vendor/k8s.io/client-go/tools/cache/shared_informer.go:907 +0x20
    k8s.io/client-go/tools/cache.WaitForCacheSync.func1()
    	vendor/k8s.io/client-go/tools/cache/shared_informer.go:332 +0x50
    k8s.io/apimachinery/pkg/util/wait.ConditionFunc.WithContext.func1({0x2dcf274, 0x607c600})
    	vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:222 +0x1c
    k8s.io/apimachinery/pkg/util/wait.runConditionWithCrashProtectionWithContext({0x2dcf274, 0x607c600}, 0x6382050)
    	vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:262 +0x64
    k8s.io/apimachinery/pkg/util/wait.waitForWithContext({0x2dcf274, 0x607c600}, 0x64a6060, 0x6382050)
    	vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:649 +0x11c
    k8s.io/apimachinery/pkg/util/wait.poll({0x2dcf274, 0x607c600}, 0x1, 0x64a6060, 0x6382050)
    	vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:600 +0xc4
    k8s.io/apimachinery/pkg/util/wait.PollImmediateUntilWithContext({0x2dcf274, 0x607c600}, 0x5f5e100, 0x6382050)
    	vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:551 +0x60
    k8s.io/apimachinery/pkg/util/wait.PollImmediateUntil(0x5f5e100, 0x6298020, 0x607c600)
    	vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:542 +0x48
    k8s.io/client-go/tools/cache.WaitForCacheSync(0x607c600, {0x6298000, 0x3, 0x3})
    	vendor/k8s.io/client-go/tools/cache/shared_informer.go:329 +0x80
    k8s.io/client-go/tools/cache.WaitForNamedCacheSync({0x283c5e1, 0xf}, 0x607c600, {0x6298000, 0x3, 0x3})
    	vendor/k8s.io/client-go/tools/cache/shared_informer.go:316 +0xe8
    created by k8s.io/kubernetes/plugin/pkg/auth/authorizer/node.AddGraphEventHandlers
    	plugin/pkg/auth/authorizer/node/graph_populator.go:65 +0x5b0
2023-03-13 08:37:13 +01:00
Kubernetes Prow Robot
3c6e419cc3 Merge pull request #116450 from vinaykul/restart-free-pod-vertical-scaling-api
Rename ContainerStatus.ResourcesAllocated to ContainerStatus.AllocatedResources
2023-03-12 16:06:40 -07:00
m.nabokikh
c2cadd2b60 Promote whoami kubectl command
Signed-off-by: m.nabokikh <maksim.nabokikh@flant.com>
2023-03-12 15:24:31 +01:00
Kubernetes Prow Robot
36b29b38bb Merge pull request #116436 from wojtek-t/fix_watch_cache_2
Fix incorrect watch events when watch is initialized simultanously with reinitializing watchcache
2023-03-10 12:41:19 -08:00
Kubernetes Prow Robot
94e30facdb Merge pull request #114497 from dgrisonnet/pod-logs-metrics
Remove redundant subsystem in kube-apiserver pod logs metrics name
2023-03-10 12:40:41 -08:00
Kubernetes Prow Robot
211291222b Merge pull request #116216 from skitt/add-generic-set-clear
Add a Clear() function to generic sets
2023-03-10 11:44:54 -08:00
Kubernetes Prow Robot
7529178924 Merge pull request #111372 from HeavenTonight/master
code cleanup
2023-03-10 11:44:40 -08:00
Kubernetes Prow Robot
3ed9c61864 Merge pull request #116366 from ardaguclu/fix-shareprocess-explicit
kubectl debug: Not share process namespace if user explicitly disables it
2023-03-10 10:48:50 -08:00
Kubernetes Prow Robot
d8fe845415 Merge pull request #116108 from Jefftree/agg-discovery-enb
Enable Aggregated Discovery for Beta
2023-03-10 10:48:39 -08:00
Damien Grisonnet
1efa1a65ee pkg/registry: rename pod logs metrics
The pod_logs subsystem was inadvertently made redundant in the following
kube-apiserver metrics:
- kube_apiserver_pod_logs_pods_logs_backend_tls_failure_total
- kube_apiserver_pod_logs_pods_logs_insecure_backend_total

To safely rename them, it is required to deprecate them in 1.27 whilst
introducing the new metrics replacing them.

Signed-off-by: Damien Grisonnet <dgrisonn@redhat.com>
2023-03-10 17:43:09 +01:00
Clayton Coleman
a1aed50a79 wait: Split methods into files by role
No code changes, will make future refactorings easier.
2023-03-10 10:16:19 -06:00
Clayton Coleman
df3e8ee175 wait: Group ExponentialBackoff* functions together in file
No code change other than movement.
2023-03-10 10:02:27 -06:00
Kubernetes Prow Robot
fcfe5dfc21 Merge pull request #116435 from pohly/client-go-cache-reflector-leak
client-go: shut down watch reflector as soon as stop channel closes
2023-03-10 07:45:01 -08:00
Kubernetes Prow Robot
2e3c5003b9 Merge pull request #115630 from Jefftree/agg-discovery-metrics
Add metrics for aggregated discovery
2023-03-10 07:44:41 -08:00
vinay kulkarni
565fd4116d Rename ContainerStatus.ResourcesAllocated to ContainerStatus.AllocatedResources - generated files 2023-03-10 14:49:26 +00:00
vinay kulkarni
01b96e7704 Rename ContainerStatus.ResourcesAllocated to ContainerStatus.AllocatedResources 2023-03-10 14:49:26 +00:00
Kubernetes Prow Robot
90c3232de7 Merge pull request #110772 from p0lyn0mial/upstream-reflector-gets-stream
client-go: Add support for API streaming to the reflector
2023-03-10 05:34:39 -08:00
Kubernetes Prow Robot
4b7bd457c4 Merge pull request #115204 from alexanderConstantinescu/kccm-del-taint-pred
[KCCM - service controller]: KEP-3458 implementation
2023-03-10 04:35:06 -08:00
Lukasz Szaszkiewicz
966b26d55c cache/controller: Add ENABLE_CLIENT_GO_WATCH_LIST_ALPHA 2023-03-10 12:16:13 +01:00
Lukasz Szaszkiewicz
194ffd779e reflector watchlist tests 2023-03-10 12:16:08 +01:00
Lukasz Szaszkiewicz
51ec7305aa reflector: use watchlist 2023-03-10 11:56:47 +01:00
Lukasz Szaszkiewicz
2fed6b8a19 reflector: introduce watchList 2023-03-10 10:33:44 +01:00
Stephen Kitt
57b0f7aa38 Add a Clear() function to generic sets
This is useful when a given set is shared through pointers, and
therefore can't be replaced with a new empty set. This replaces
set.Delete(set.UnsortedList()...), and allows the compiler to optimize
the function to a call to runtime.mapclear() when the set content type
is reflexive for ==. That optimization *is* currently accessible using

    s := Set[...]{}
    ...
    for i := range s {
        delete(s, i)
    }

but this circumvents the published API for sets; calling s.Delete(i)
instead can't be optimized in this fashion.

Alternatives considered but discarded include:

* turning sets into a pointer type (this isn't possible because
  pointer types can't be receivers)

* using a pointer receiver for the Clear() function, i.e.

    func (s *Set[T]) Clear() {
        *s = New[T]()
    }

  but this doesn't update shared references.

Signed-off-by: Stephen Kitt <skitt@redhat.com>
2023-03-10 10:03:44 +01:00
cpanato
3b12382529 update go to 1.19.7 in publishing bot rules for active release branches
Signed-off-by: cpanato <ctadeu@gmail.com>
2023-03-10 09:57:14 +01:00
cpanato
43c841fa56 drop 1.23 config due to EOL
Signed-off-by: cpanato <ctadeu@gmail.com>
2023-03-10 09:56:49 +01:00
Wojciech Tyczyński
6fb59e94a3 Fix setting resource version after init events for RV=0 case 2023-03-10 07:48:58 +01:00
Wojciech Tyczyński
0bc0ad01c9 Fix the bug of returning future data in watch 2023-03-10 07:48:58 +01:00
Kubernetes Prow Robot
61050182b5 Merge pull request #116384 from liggitt/fixup-after-roundtrip
Detect and clean up unneeded  after_roundtrip fixtures
2023-03-09 22:44:10 -08:00
Kubernetes Prow Robot
a034962173 Merge pull request #116349 from apelisse/use-smarter-cache
Update kube-openapi to 15aac26d736a
2023-03-09 22:44:02 -08:00
Kubernetes Prow Robot
16d2d55bc0 Merge pull request #115969 from DangerOnTheRanger/messageExpression-for-crd
Add messageExpression field for CRD validation
2023-03-09 22:43:19 -08:00
Kubernetes Prow Robot
beacb8d7af Merge pull request #115480 from alexzielenski/kubectl/explain/openapiv3/alias-legacy
kubectl-explain: add --output plaintext-openapiv2 fallback
2023-03-09 22:42:58 -08:00
Kubernetes Prow Robot
8fbfbd9653 Merge pull request #115260 from pwschuurman/kep-3335-statefulset-start-ordinal-beta
Move StatefulSetStartOrdinal feature gate to beta
2023-03-09 21:34:30 -08:00
Kubernetes Prow Robot
e8ae6658ed Merge pull request #115065 from apelisse/apimachinery-managed-fields
managedfields: Move most of fieldmanager package to managefields
2023-03-09 21:34:22 -08:00
Kubernetes Prow Robot
315f94d2dc Merge pull request #114682 from brianpursley/get-cmd-arg
cmd/get: Remove cmd argument from Run()
2023-03-09 21:34:07 -08:00
Kubernetes Prow Robot
f6564d33ba Merge pull request #114357 from dengyufeng2206/1208pull
Log spelling formatting
2023-03-09 21:33:22 -08:00
Kubernetes Prow Robot
37260b7648 Merge pull request #114290 from Jefftree/mime-remove
remove mime AddExtensionType in discovery test
2023-03-09 21:33:14 -08:00
Kubernetes Prow Robot
fdada9242f Merge pull request #112061 from JoelSpeed/proto-gopath
Ensure go-to-protobuf gen can run when not in GOPATH
2023-03-09 21:32:42 -08:00
Kermit Alexander II
4e26f680a9 Implement MessageExpression. 2023-03-09 23:37:59 +00:00
Kermit Alexander II
6defbb4410 Update codegen/openapi spec. 2023-03-09 23:37:49 +00:00
Kermit Alexander II
4a54225bb4 Add MessageExpression field.
Update docs to note that generating line breaks from messageExpression is not allowed.
2023-03-09 22:25:38 +00:00
Patrick Ohly
b4751a52d5 client-go: shut down watch reflector as soon as stop channel closes
Without this change, sometimes leaked goroutines were reported for
test/integration/scheduler_perf. The one that caused the cleanup to get delayed
was this one:

    goleak.go:50: found unexpected goroutines:
        [Goroutine 2704 in state chan receive, 2 minutes, with k8s.io/client-go/tools/cache.(*Reflector).watch on top of the stack:
        goroutine 2704 [chan receive, 2 minutes]:
        k8s.io/client-go/tools/cache.(*Reflector).watch(0xc00453f590, {0x0, 0x0}, 0x1f?, 0xc00a128080?)
                /nvme/gopath/src/k8s.io/kubernetes/vendor/k8s.io/client-go/tools/cache/reflector.go:388 +0x5b3
        k8s.io/client-go/tools/cache.(*Reflector).ListAndWatch(0xc00453f590, 0xc006e94900)
                /nvme/gopath/src/k8s.io/kubernetes/vendor/k8s.io/client-go/tools/cache/reflector.go:324 +0x3bd
        k8s.io/client-go/tools/cache.(*Reflector).Run.func1()
                /nvme/gopath/src/k8s.io/kubernetes/vendor/k8s.io/client-go/tools/cache/reflector.go:279 +0x45
        k8s.io/apimachinery/pkg/util/wait.BackoffUntil.func1(0xc007aafee0)
                /nvme/gopath/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:157 +0x49
        k8s.io/apimachinery/pkg/util/wait.BackoffUntil(0xc003e18150?, {0x75e37c0, 0xc00389c280}, 0x1, 0xc006e94900)
                /nvme/gopath/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:158 +0xcf
        k8s.io/client-go/tools/cache.(*Reflector).Run(0xc00453f590, 0xc006e94900)
                /nvme/gopath/src/k8s.io/kubernetes/vendor/k8s.io/client-go/tools/cache/reflector.go:278 +0x257
        k8s.io/apimachinery/pkg/util/wait.(*Group).StartWithChannel.func1()
                /nvme/gopath/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:58 +0x3f
        k8s.io/apimachinery/pkg/util/wait.(*Group).Start.func1()
                /nvme/gopath/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:75 +0x74
        created by k8s.io/apimachinery/pkg/util/wait.(*Group).Start
                /nvme/gopath/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:73 +0xe5

watch() was stuck in an exponential backoff timeout. Logging confirmed that:

        I0309 21:14:21.756149 1572727 reflector.go:387] k8s.io/client-go/informers/factory.go:150: watch of *v1.PersistentVolumeClaim returned Get "https://127.0.0.1:38269/api/v1/persistentvolumeclaims?allowWatchBookmarks=true&resourceVersion=1&timeout=7m47s&timeoutSeconds=467&watch=true": dial tcp 127.0.0.1:38269: connect: connection refused - backing off
2023-03-09 21:24:19 +01:00
Alexander Zielenski
9597abd089 add explain tests for openapiv3 2023-03-09 11:54:24 -08:00
Alexander Zielenski
8249a827bd kubectl: alias plaintext-openapiv2 to old explain 2023-03-09 11:54:24 -08:00