Commit Graph

42810 Commits

Author SHA1 Message Date
Dave Chen
62b0579a40 Fix the key missing issue for structured log
Signed-off-by: Dave Chen <dave.chen@arm.com>
2021-09-01 10:43:10 +08:00
Kubernetes Prow Robot
eae38bbe9e Merge pull request #104668 from zc2638/fix/taint-toleration
modify non-uniform aliases
2021-08-31 13:16:32 -07:00
Kubernetes Prow Robot
4615578137 Merge pull request #104633 from martinkennelly/update_sitp_feature_state
Update ServiceInternalTrafficPolicy feature state
2021-08-31 00:09:36 -07:00
zc
b33897f36d modify non-uniform aliases 2021-08-31 09:07:51 +08:00
Kubernetes Prow Robot
bb9e89d430 Merge pull request #104601 from thockin/patchAllocatedValues_port_reuse
Fix a small regression in Service updates
2021-08-30 15:31:13 -07:00
Kubernetes Prow Robot
bbbeceb6aa Merge pull request #104577 from smarterclayton/smaller_filter_master
kubelet: Admission must exclude completed pods and avoid races
2021-08-30 13:17:13 -07:00
Tim Hockin
73503a4936 Fix a small regression in Service updates
Prior to 1.22 a user could change NodePort values within a service
during an update, and the apiserver would allocate values for any that
were not specified.

Consider a YAML like:

```
apiVersion: v1
kind: Service
metadata:
  name: foo
spec:
  type: NodePort
  ports:
  - name: p
    port: 80
  - name: q
    port: 81
  selector:
    app: foo
```

When this is created, nodeport values will be allocated for each port.
Something like:

```
apiVersion: v1
kind: Service
metadata:
  name: foo
spec:
  clusterIP: 10.0.149.11
  type: NodePort
  ports:
  - name: p
    nodePort: 30872
    port: 80
    protocol: TCP
    targetPort: 9376
  - name: q
    nodePort: 31310
    port: 81
    protocol: TCP
    targetPort: 81
  selector:
    app: foo
```

If the user PUTs (kubectl replace) the original YAML, we would see that
`.nodePort = 0`, and allocate new ports.  This was ugly at best.

In 1.22 we fixed this to not allocate new values if we still had the old
values, but instead re-assign them.  Net new ports would still be seen
as `.nodePort = 0` and so new allocations would be made.

This broke a corner case as follows:

Prior to 1.22, the user could PUT this YAML:

```
apiVersion: v1
kind: Service
metadata:
  name: foo
spec:
  type: NodePort
  ports:
  - name: p
    nodePort: 31310 # note this is the `q` value
    port: 80
  - name: q
    # note this nodePort is not specified
    port: 81
  selector:
    app: foo
```

The `p` port would take the `q` port's value.  The `q` port would be
seen as `.nodePort = 0` and a new value allocated.  In 1.22 this results
in an error (duplicate value in `p` and `q`).

This is VERY minor but it is an API regression, which we try to avoid,
and the fix is not too horrible.

This commit adds more robust testing of this logic.
2021-08-30 12:42:17 -07:00
Kubernetes Prow Robot
d5cf549376 Merge pull request #104160 from pacoxu/AllowLongNodeID-true
set AllowLongNodeID to true by default since 1.23
2021-08-30 08:17:05 -07:00
Kubernetes Prow Robot
7282c2002e Merge pull request #99273 from yangjunmyfm192085/run-test20
Structured Logging migration:modify Scheduler part logs.
2021-08-30 05:56:54 -07:00
JunYang
93047824f7 Structured Logging migration:modify Scheduler part logs.
Signed-off-by: JunYang <yang.jun22@zte.com.cn>
2021-08-29 20:17:08 +08:00
Kubernetes Prow Robot
909c3db3ab Merge pull request #104559 from Huang-Wei/cleanup-json-tag
sched: remove unneeded json tags in unversioned API objs
2021-08-27 18:38:52 -07:00
Kubernetes Prow Robot
cd63952f13 Merge pull request #95885 from jiahuif/refactor/controller-manager
refactor: controller manager: InitFunc and base controller interface.
2021-08-27 15:40:52 -07:00
Kubernetes Prow Robot
fca3175df7 Merge pull request #104231 from astraw99/fix_unified_workers
Unify controller worker num param `threadiness` to `workers`
2021-08-27 09:34:05 -07:00
Martin Kennelly
da78eb5d8a Update ServiceInternalTrafficPolicy feature state
Feature state is beta in v1.22.0.

Signed-off-by: Martin Kennelly <mkennell@redhat.com>
2021-08-27 16:55:47 +01:00
Kubernetes Prow Robot
c262d09bb7 Merge pull request #104604 from wojtek-t/fix_secret_manager_2
Don't prematurely close reflectors in case of slow initialization in watch based manager
2021-08-26 06:11:23 -07:00
wojtekt
515106b795 Don't prematurely close reflectors in case of slow initialization in watch based manager 2021-08-26 11:34:24 +02:00
Kubernetes Prow Robot
cbd0611d49 Merge pull request #104528 from kolyshkin/runc-1.0.2
vendor: bump runc to 1.0.2
2021-08-25 18:17:23 -07:00
Paco Xu
4cb7479312 set AllowLongNodeID to true by default since 1.23 2021-08-26 08:30:42 +08:00
Kubernetes Prow Robot
2f6b9166d7 Merge pull request #104039 from YanzhaoLi/extract-containerdid-from-various-cgrouppath
Get containerID from systemd-style cgroupPath in cri_stats_provider
2021-08-25 17:05:22 -07:00
Jiahui Feng
8f5771d243 use common controller interface in KCM. 2021-08-25 13:29:03 -07:00
Clayton Coleman
a2ca66d280 kubelet: Admission must exclude completed pods and avoid races
Fixes two issues with how the pod worker refactor calculated the
pods that admission could see (GetActivePods() and
filterOutTerminatedPods())

First, completed pods must be filtered from the "desired" state
for admission, which arguably should be happening earlier in
config. Exclude the two terminal pods states from GetActivePods()

Second, the previous check introduced with the pod worker lifecycle
ownership changes was subtly wrong for the admission use case.
Admission has to include pods that haven't yet hit the pod worker,
which CouldHaveRunningContainers was filtering out (because the
pod worker hasn't seen them). Introduce a weaker check -
IsPodKnownTerminated() - that returns true only if the pod is in
a known terminated state (no running containers AND known to pod
worker). This weaker check may only be called from components that
need admitted pods, not other kubelet subsystems.

This commit does not fix the long standing bug that force deleted
pods are omitted from admission checks, which must be fixed by
having GetActivePods() also include pods "still terminating".
2021-08-25 13:31:02 -04:00
Kubernetes Prow Robot
296991f697 Merge pull request #104518 from dntosas/scheduler-remove-deprecated-metric
[scheduler] Remove deprecated volumeSchedulingLatency metric
2021-08-25 03:08:39 -07:00
Wei Huang
2c3a196aa4 sched: remove unneeded json tags in unversioned API objs 2021-08-24 15:47:34 -07:00
Stephen Augustus
481cf6fbe7 generated: Run hack/update-gofmt.sh
Signed-off-by: Stephen Augustus <foo@auggie.dev>
2021-08-24 15:47:49 -04:00
Kubernetes Prow Robot
d64e918785 Merge pull request #104541 from sanposhiho/cleanup/scheduler/NumUnschedulablePods-isnt-used
Clean up: delete NumUnschedulablePods because it's no longer in use
2021-08-24 10:37:26 -07:00
Kubernetes Prow Robot
4e832a7db9 Merge pull request #103630 from mysunshine92/controller_util-annotation
Modify the wrong comment for controller_util.go
2021-08-24 10:37:14 -07:00
sanposhiho
b7dd0a7660 Clean up: delete NumUnschedulablePods because it's no longer in use 2021-08-24 17:34:05 +09:00
Kir Kolyshkin
c06a851042 pkg/kubelet/cm: use SkipFreezeOnSet
This is a knob added by runc 1.0.2 specifically for kubernetes,
which tells runc/libcontainer/cgroups/systemd v1 manager to not
freeze the cgroup in Set().

We set this knob here because this code is only used for pods
(rather than containers) management, and in this place we create or
update the pod cgroup with no device limits set, so we can skip the
freeze.

If this knob is not set, libcontainer's cgroup v1 manager tries to
figure out whether the freeze is needed or not, but it's a somewhat
expensive check to perform, thus the knob is a shortcut.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2021-08-23 13:41:51 -07:00
Kubernetes Prow Robot
358e509863 Merge pull request #103545 from thockin/rest-create-deepcopy
REST: Document mutable inputs on Create() and fix tests
2021-08-23 11:48:22 -07:00
dntosas
cd795fa2eb [scheduler] Remove deprecated volumeSchedulingLatency metric
As part of https://github.com/kubernetes/kubernetes/pull/100720 we
backported fix on existing releases and in this commit we completely
remove the deprecated metric from master branch.

Signed-off-by: dntosas <ntosas@gmail.com>
2021-08-23 15:18:16 +03:00
wangyamei
c128411815 fix typo: Modify PodTrackingWithFinalizers to JobTrackingWithFinalizers 2021-08-23 15:38:30 +08:00
Tim Hockin
75dea6b8bc Service REST: Use DeepCopy() on Create() and fix tests 2021-08-22 11:59:33 -07:00
Antonio Ojea
0cd75e8fec run hack/update-netparse-cve.sh 2021-08-20 10:42:09 +02:00
Kubernetes Prow Robot
df51e4e63e Merge pull request #100720 from dntosas/scheduler-metrics-fix-buckets
[volumeScheduling/metrics] Fix buckets initialization
2021-08-19 18:47:24 -07:00
Lars Ekman
25453708ea Remove pkg/utils/slice from kube-proxy 2021-08-19 06:48:27 +02:00
Kubernetes Prow Robot
8dbc33d649 Merge pull request #101081 from rphillips/add_graceful_shutdown_event
kubelet: add graceful shutdown events
2021-08-17 22:08:08 -07:00
Kubernetes Prow Robot
f805f5588b Merge pull request #104416 from liggitt/go117-certificates
Update unit tests to handle go1.17 certificate parsing error messages
2021-08-17 17:04:07 -07:00
Kubernetes Prow Robot
a779c58b16 Merge pull request #104330 from liggitt/defaulter-package
Change defaulter-gen input to package import path
2021-08-17 11:42:18 -07:00
Kubernetes Prow Robot
07b7afefbf Merge pull request #103862 from tanjing2020/cleancode
Replace 'x.Sub(time.Now())' with 'time.Until(x)'
2021-08-17 11:42:01 -07:00
Kubernetes Prow Robot
d7c1663556 Merge pull request #103137 from wzshiming/fix/expected_inhibit_delay
Allow the actual inhibit delay to be greater than the expected inhibit delay
2021-08-17 11:41:49 -07:00
Kubernetes Prow Robot
a9aad7e034 Merge pull request #103107 from pacoxu/fix-93300
ResourceConfigForPod: check initContainers as other QoS func
2021-08-17 11:41:37 -07:00
Kubernetes Prow Robot
f4185318bc Merge pull request #103048 from gy95/remove_static
remove not used IsStaticPod, prevent possible panic
2021-08-17 11:41:25 -07:00
Kubernetes Prow Robot
b559434c02 Merge pull request #103059 from rajaSahil/fix-error
Update github.com/pkg/errors to go native errors pkg
2021-08-17 10:29:25 -07:00
Kubernetes Prow Robot
db42b67f3c Merge pull request #101962 from llhhbc/add-osinfo-logs
Add getOSInfo err info
2021-08-17 10:29:13 -07:00
Jordan Liggitt
0e925f266f Update unit tests to handle go1.17 certificate parsing error messages 2021-08-17 11:24:03 -04:00
dntosas
7cbac6bde0 [volumeScheduling/metrics] Fix buckets initialization
This metrics is measured in seconds so it makes no sense starting from
1000 as init value. This breaks also the scheduler e2e metric thus make
users unable to compute, for example, their SLO for the scheduler.
Even if this metric is deprecated, it should behave correctly until it is
completely removed to avoid user confusion.

For example, for each volume created, the minimum value exposed
as a metric is 16.6min (1000sec/60) which is obviously wrong as logic.

In this commit, we migrate bucket creation to start from reasonable
numbers, copying the incrementation from the conventions that the
scheduler follows itself.

Signed-off-by: dntosas <ntosas@gmail.com>
2021-08-17 12:49:40 +03:00
Kubernetes Prow Robot
74a09fe682 Merge pull request #104389 from saschagrunert/seccomp-annotation-removal
Mention seccomp annotation removal in v1.25
2021-08-16 11:14:23 -07:00
Sascha Grunert
cdbfd009da Mention seccomp annotation removal in v1.25
This patch adds removal warnings for the deprecated seccomp annotation,
which is targeting removal in v1.25.

Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
2021-08-16 17:02:54 +02:00
Kubernetes Prow Robot
a3f541e63b Merge pull request #104378 from thockin/ipalloc-cleanup
IP Allocator cleanups
2021-08-16 05:31:17 -07:00
Kubernetes Prow Robot
cbb5ea8210 Merge pull request #101399 from wangyx1992/error-punctuation
cleanup: fix errors ending with punctuation in proxy
2021-08-16 00:51:46 -07:00