Commit Graph

5681 Commits

Author SHA1 Message Date
Rob Scott
9180cf2346
Updating EndpointSlice controller to wait for all caches to be synced
Previously the EndpointSlice controller was not waiting for
EndpointSlices or Nodes to be synced.
2020-08-18 12:11:44 -07:00
ymmt
17af029bc5 do not create StatefulSet pods when PVC is being deleted
Pod with PVC will not be scheduled if the PVC is being deleted.
This can happen when the PVC has finalizers of storage plugins.

Such a pod becomes pending.  Unfortunately, after the finalizer
finishes and PVC is deleted, the pod remains pending forever.
The StatefulSet controller does nothing for this pending pod.

This commit prevents the StatefulSet controller from creating
such pods when PVC is to be deleted.
2020-08-17 22:50:42 +00:00
Rob Scott
4cfe4403b4
Updating EndpointSlice controllers to return if error encountered
Previously the controllers would proceed with additional creates,
updates, or deletes if 1 failed. That could potentially result in
scenarios where an EndpointSlice create or update failing while a delete
worked. This updates the logic so that removals will not happen if
additions fail.
2020-08-12 09:58:03 -07:00
yodarshafrir1
24010022ef Number of failed jobs should exceed the backoff limit and not big equal.
Remove patch in e2e test of backoff limit due to usage of NumRequeues
2020-08-11 11:06:09 +03:00
Kubernetes Prow Robot
15a3d46db1
Merge pull request #93030 from swetharepakula/endpoint-tracker
Requeue Service after Endpoint Deletion
2020-08-10 18:28:16 -07:00
Kubernetes Prow Robot
37cda82c35
Merge pull request #93722 from liggitt/taint-evict
Do not evict pods which tolerate all NoExecute taints
2020-08-09 20:42:19 -07:00
Jordan Liggitt
648c591fff Fix namespace controller cleanup orphaning 2020-08-07 13:26:28 -04:00
yodarshafrir1
ca420ddada Fix job's backoff limit for restart policy Never, rely on number of failures instead of number of NumRequeues 2020-08-07 14:22:40 +03:00
Kubernetes Prow Robot
f5334fad48
Merge pull request #93617 from liggitt/deflake-ds-test
Deflake TestExpectationsOnRecreate
2020-08-06 09:35:43 -07:00
Shintaro Murakami
b7792711f5 Use v1helper.GetPersistentVolumeClass for compatibility 2020-08-06 09:26:21 +09:00
Kubernetes Prow Robot
382107e6c8
Merge pull request #93441 from robscott/endpointslicemirroring-tracker-fix
Fixing memory leak in EndpointSliceMirroring EndpointSlice tracker
2020-08-05 11:54:28 -07:00
Swetha Repakula
23a3353a6a Requeue service after endpoint deletion
- ensure endpoints that have been deleted and are desired are recreated
 despite a possibly out of date endpoint cache
2020-08-05 11:50:23 -07:00
Jordan Liggitt
892bdf9a15 Do not evict pods which tolerate all NoExecute taints 2020-08-05 12:50:43 -04:00
zhouya0
8724a8ea6b Cleanup wait forever loops in pv_controller_test.go 2020-08-04 16:19:32 +08:00
Kubernetes Prow Robot
9d8a87b5c7
Merge pull request #93442 from robscott/endpointslicemirroring-labels
Updating EndpointSliceMirroring controller to copy labels from Endpoints
2020-08-04 01:14:19 -07:00
Rob Scott
52894d7bfb
Updating EndpointSliceMirroring controller to copy labels from Endpoints
The KEP specifies that the controller will "mirror all labels from the
Endpoints resource and all endpoints and ports from the corresponding subset".
I'd missed that in my initial implementation, this should fix that.
2020-08-03 14:12:30 -07:00
Jordan Liggitt
c4c946d35d Deflake TestControllerSync 2020-08-03 11:56:14 -04:00
Jordan Liggitt
8e6a8669c0 Deflake TestExpectationsOnRecreate 2020-07-31 18:12:01 -04:00
Jordan Liggitt
1420b377e4 Add providerless tags 2020-07-30 13:48:40 -04:00
Kubernetes Prow Robot
72a62bcade
Merge pull request #92948 from cheftako/owners
Adding cheftako to pkg/controller/OWNERS
2020-07-30 05:56:30 -07:00
knight42
a3b772b442
test: deflake TestRecycleSlices test
Signed-off-by: knight42 <anonymousknight96@gmail.com>
2020-07-27 21:41:02 +08:00
Rob Scott
98b63ad3a6
Fixing memory leak in EndpointSliceMirroring EndpointSlice tracker
This mirrors an earlier fix to the EndpointSlice controller. I'll make a
follow up PR to move this component to a shared package, but that seems
beyond the scope of a bug fix PR.
2020-07-24 17:21:36 -07:00
Nikhita Raghunath
c00dae0607 Revert "Merge pull request #93156 from logicalhan/triage-api-machinery"
This reverts commit 32438cf269, reversing
changes made to bb6a6aa391.
2020-07-24 13:01:02 +05:30
Kubernetes Prow Robot
32438cf269
Merge pull request #93156 from logicalhan/triage-api-machinery
automatically assign triage labels to api-machinery tagged PRs
2020-07-21 19:52:34 -07:00
Kubernetes Prow Robot
5a529aa3a0
Merge pull request #91399 from danwinship/endpoint-ipfamily
multiple IPv6/dual-stack endpoint fixes
2020-07-20 13:31:14 -07:00
Kubernetes Prow Robot
05f6812c2d
Merge pull request #90822 from deads2k/csr-separate-signer-flags-02
allow setting different certificates for kube-controller-managed CSR signers
2020-07-18 03:10:50 -07:00
Dan Winship
e46572ef4b Improve EndpointController's handling of headless services under dual-stack
EndpointController was accidentally requiring all headless services to
be IPv4-only in clusters with IPv6DualStack enabled.

This still leaves "legacy" (ie, IPFamily-less) headless services as
always IPv4-only because the controller doesn't currently have easy
access to the information that would allow it to fix that.
(EndpointSliceController had the same problem already, and still
does.) This can be fixed, if needed, by manually setting IPFamily,
and the proposed API for 1.20 will handle this situation better.
2020-07-17 15:26:21 -04:00
Dan Winship
9023d19c57 Improve EndpointController dual-stack testing
Rewrite some of the test helpers to better support single-stack IPv4
vs single-stack IPv6 vs dual-stack IPv4 primary vs dual-stack IPv6
primary, and update TestPodToEndpointAddressForService to test some
more cases.
2020-07-17 15:26:21 -04:00
Dan Winship
9fb6e2ef55 Fix Endpoint/EndpointSlice pod change detection
The endpoint controllers responded to Pod changes by trying to figure
out if the generated endpoint resource would change, rather than just
checking if the Pod had changed, but since the set of Pod fields that
need to be checked depend on the Service and Node as well, the code
ended up only checking for a subset of the changes it should have.

In particular, EndpointSliceController ended up only looking at IPv4
Pod IPs when processing Pod update events, so when a Pod went from
having no IP to having only an IPv6 IP, EndpointSliceController would
think it hadn't changed.
2020-07-17 15:22:59 -04:00
Han Kang
9129dbc98b automatically assign triage labels to api-machinery tagged PRs
Change-Id: Ifcc8a85d190d6370423af27f6e6c4c90b8472981
2020-07-16 13:13:59 -07:00
Hemant Kumar
2ccd645d71 Remove resize map code
This code is not used anywhere
2020-07-13 08:24:10 -04:00
Kubernetes Prow Robot
67ec4b3cd7
Merge pull request #92838 from tnqn/endpointslicetrack-leak
Fix memory leak in endpointSliceTracker
2020-07-11 20:56:13 -07:00
Zhou Peng
80519cee5b [pkg/controller/certificates]: remove staled func comments
This was introduced by commit: f04ce3cfba
Since this func is simple and clear enough, just not comment it anymore.

Signed-off-by: Zhou Peng <p@ctriple.cn>
2020-07-11 17:08:28 +08:00
Kubernetes Prow Robot
0cb7e320a5
Merge pull request #92784 from pohly/generic-ephemeral-inline-volumes
generic ephemeral inline volumes
2020-07-10 15:41:46 -07:00
Kubernetes Prow Robot
4efed03276
Merge pull request #91637 from robscott/endpointslice-mirroring
Adding new EndpointSlice Mirroring Controller
2020-07-10 10:19:48 -07:00
wfender
22dafd9406 Adding cheftako to pkg/controller/OWNERS 2020-07-09 16:10:59 -07:00
Patrick Ohly
ff3e5e06a7 GenericEphemeralVolume: initial implementation
The implementation consists of
- identifying all places where VolumeSource.PersistentVolumeClaim has
  a special meaning and then ensuring that the same code path is taken
  for an ephemeral volume, with the ownership check
- adding a controller that produces the PVCs for each embedded
  VolumeSource.EphemeralVolume
- relaxing the PVC protection controller such that it removes
  the finalizer already before the pod is deleted (only
  if the GenericEphemeralVolume feature is enabled): this is
  needed to break a cycle where foreground deletion of the pod
  blocks on removing the PVC, which waits for deletion of the pod

The controller was derived from the endpointslices controller.
2020-07-09 23:29:24 +02:00
David Eads
1233a6f63e generated 2020-07-09 08:14:55 -04:00
David Eads
e88fecf26b allow setting different certificates for kube-controller-managed CSR signers 2020-07-09 08:14:55 -04:00
Kubernetes Prow Robot
55d77ade67
Merge pull request #92489 from alculquicondor/sig-storage-ownership
Add SIG storage owner aliases
2020-07-09 00:05:20 -07:00
Kubernetes Prow Robot
94a08e159a
Merge pull request #92387 from pohly/csi-storage-capacity
CSI storage capacity check
2020-07-09 00:04:59 -07:00
Kubernetes Prow Robot
c2e6e147be
Merge pull request #92160 from YuikoTakada/add_deprecated_description_scheduling_duration_seconds
Add Deprecated description to metrics scheduling_duration_seconds
2020-07-09 00:04:48 -07:00
Quan Tian
087682584d Fix memory leak in endpointSliceTracker
endpointSliceTracker creates a set of resource versions for each
service, the resource versions in the set could be deleted when
endpointslices are deleted, but the set and its key in the map is never
deleted, leading to memory leak.

This patch deletes the set if the service is deleted, and stops
initializing an empty set when "read-only" methods "Has" and "Stale" are
called.
2020-07-08 00:15:30 +08:00
Aldo Culquicondor
27ec356d76 Add SIG storage owner aliases
And give ownership to pkg/scheduler/framework/plugins/volumebinding

Signed-off-by: Aldo Culquicondor <acondor@google.com>
Change-Id: I4bd89b1745a2be0e458601056ab905bdd6692195
2020-07-07 10:26:16 -04:00
wangkai1994
b3b95f5ab5 add defer 2020-07-07 10:20:19 +08:00
Rob Scott
fa59370e93
Adding new logging, event, and metric to better capture when mirroring addresses is skipped 2020-07-06 12:43:35 -07:00
Rob Scott
e701cb0205
Enabling the EndpointSliceMirroring controller, adding related config 2020-07-06 12:43:34 -07:00
Rob Scott
8691466059
Adding EndpointSliceMirroring controller
This will mirror custom Endpoints to EndpointSlices to ensure that
applications will not need to maintain both separately.
2020-07-06 12:43:33 -07:00
Patrick Ohly
0efbbe8555 CSIStorageCapacity: check for sufficient storage in volume binder
This uses the information provided by a CSI driver deployment for
checking whether a node has access to enough storage to create the
currently unbound volumes, if the CSI driver opts into that checking
with CSIDriver.Spec.VolumeCapacity != false.

This resolves a TODO from commit 95b530366a.
2020-07-06 19:20:10 +02:00
yuanhuaiwang
8e1e1e9be2
Remove resync period for disruption controller
What type of PR is this?
/kind cleanup

What this PR does / why we need it:
The disruption controller is resyncing all ssets every 30 seconds, this is not necessary, and make the depth of disruption workqueue longer and can cause delays processing actual updates when large amounts of disruptions exist.

Special notes for your reviewer:

Does this PR introduce a user-facing change?
Disruption controllers no longer force a resync every 30 seconds when nothing has changed.
2020-07-06 20:31:28 +08:00
andyxning
2e22ef50ea code clean for podgc 2020-07-04 23:01:16 +08:00
Kubernetes Prow Robot
393f9e94e4
Merge pull request #92417 from wawa0210/ipam-staticcheck
Ipam staticcheck
2020-07-04 00:30:48 -07:00
Kubernetes Prow Robot
7f78c330c0
Merge pull request #92421 from wawa0210/deployment-staticcheck
fix pkg/controller/deployment staticcheck
2020-07-02 06:41:29 -07:00
Kubernetes Prow Robot
e37c04bd7c
Merge pull request #92684 from cofyc/volume-scheduling-cleanup
cleanup in volume scheduling
2020-07-02 04:17:38 -07:00
wawa0210
444cdc2944
fix pkg/controller/nodeipam staticcheck 2020-07-02 18:32:13 +08:00
Kubernetes Prow Robot
406671910a
Merge pull request #92415 from wawa0210/statefulset-staticcheck
fix pkg/controller/statefulset staticcheck
2020-07-01 23:12:58 -07:00
Yuiko Mori
97bca0ec59 Add Deprecated description to metrics scheduling_duration_seconds 2020-07-02 00:14:49 +00:00
Kubernetes Prow Robot
07586f67d9
Merge pull request #91311 from robscott/endpointslice-garbage-collection
Fixing race condition with EndpointSlice controller garbage collection
2020-07-01 16:22:00 -07:00
Rob Scott
3f593710a7
Ensuring EndpointSlice controller does not create EndpointSlices for Services that are being deleted.
This should ensure that the controller does not conflict with garbage collection.
2020-07-01 12:45:49 -07:00
Yecheng Fu
2cdc63aeaa cleanup in volume scheduling pkg
- remove duplicated function claimToClaimKey
- cache Lister
- don't add indexer for PVCAssumeCache
2020-07-01 15:01:10 +08:00
Kubernetes Prow Robot
180af4240c
Merge pull request #90288 from aojea/cidrsets
Add metrics to the cidr_sets used by the nodeipam range allocator
2020-06-30 19:24:06 -07:00
wawa0210
d360be0f7c
fix pkg/controller/statefulset staticcheck 2020-06-26 00:00:41 +08:00
Yecheng Fu
22d874993c build files 2020-06-23 22:18:33 +08:00
Yecheng Fu
4627b419b4 tests only 2020-06-23 22:18:33 +08:00
Yecheng Fu
ee4d7410be Share pod volume binding cache via framework.CycleState 2020-06-23 22:18:33 +08:00
wawa0210
7d8aae51df
fix pkg/controller/deployment staticcheck 2020-06-23 19:32:20 +08:00
Kubernetes Prow Robot
00d6255f44
Merge pull request #91712 from KobayashiD27/structured-logging-in-event
Migrate log to klog.InfoS for staging/src/k8s.io/client-go
2020-06-22 23:53:40 -07:00
Kobayashi Daisuke
4ecbec75a6 Run update-bazel.sh 2020-06-22 10:49:15 +09:00
fatkun
eb9bca5f06 Fixed a bug that mistake use newObj as oldObj in endpoint slice update 2020-06-21 16:43:12 +08:00
Ali Farah
cac933934b Delete unused interface 2020-06-20 20:12:46 +10:00
Kubernetes Prow Robot
9c3f648300
Merge pull request #91705 from mrkm4ntr/revert-assumed-in-unreserve
Revert assumed PVs and PVCs in unreserve extension point
2020-06-19 21:50:54 -07:00
Kubernetes Prow Robot
be31023a95
Merge pull request #87155 from kolorful/patch-3
Fix a comment in job_controller
2020-06-19 08:51:58 -07:00
Shintaro Murakami
79ab958996 Revert assumed PVs and PVCs in unreserve extension point 2020-06-19 17:39:42 +09:00
Kubernetes Prow Robot
694566d06d
Merge pull request #91915 from tnozicka/fix-ds-recreate
Fix DS expectations on recreate
2020-06-18 19:05:11 -07:00
Tomas Nozicka
5cf3f8b79c Fix DS expectations on recreate 2020-06-17 09:22:17 +02:00
Kubernetes Prow Robot
a84784cbe5
Merge pull request #91730 from tnozicka/fix-sig-apps-owners
Add sig-apps-approvers and reviewers
2020-06-16 19:22:25 -07:00
Antonio Ojea
069707f75a refactor and instrument range_allocator cidr_sets
refactor and add the following metrics to the cidr_sets used by the range
allocator:, under the subsystem: node_ipam_controller

cidrset_cidrs_allocations_total
cidrset_cidrs_releases_total
cidrset_usage_cidrs
cidrset_allocation_tries_per_request
2020-06-17 00:03:49 +02:00
Kubernetes Prow Robot
98f250f883
Merge pull request #91307 from yuga711/attach
CSI: Modify VolumeAttachment check to use Informer/Cache
2020-06-15 08:10:10 -07:00
Kobayashi Daisuke
4ae11dac2e Replace StartLogging(klog.Infof) with StartStructuredLogging(0) 2020-06-15 17:48:35 +09:00
Yecheng Fu
814a6f2acd remove FakeVolumeBinderConfig and test new statues and states 2020-06-12 10:00:19 +08:00
Yecheng Fu
c4138361e4 Fail fast in PreFilter phase and return UnschedulableAndUnresolvable if immediate PVCs are not bound 2020-06-12 10:00:19 +08:00
Jayasekhar Konduru
2a89577659 CSI: Modify VolumeAttachment check to use Informer/Cache
Change-Id: Ie70c8b6657c67eefbf13042f36d56ca84a2e42bb
2020-06-11 10:34:09 -07:00
Kubernetes Prow Robot
1f299e7b99
Merge pull request #91574 from cofyc/fix91436
share a common pod indexer among volume controllers
2020-06-10 22:42:56 -07:00
Lukasz Szaszkiewicz
50db32cf8c GC doesn't have to create monitors in the constructor 2020-06-10 14:59:45 +02:00
Kubernetes Prow Robot
11fe6e815f
Merge pull request #91713 from liggitt/csr-v1-manager
CSR v1 - switch controllers
2020-06-09 14:49:30 -07:00
Kubernetes Prow Robot
a1c351cd28
Merge pull request #91576 from tahsinrahman/migrate-klog
Migrate to log calls to klog.InfoS and klog.ErroS for pkg/controller
2020-06-09 14:48:47 -07:00
Andrew Sy Kim
41dc075a85 move pkg/controller/cloud/node_lifecycle_controller.go to k8s.io/cloud-provider/controllers/nodelifecycle for easier external consumption
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2020-06-08 17:34:01 -04:00
Andrew Sy Kim
6d4a19b31c move pkg/controller/cloud/node_controller.go to k8s.io/cloud-provider/controllers/node for easier external consumption
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2020-06-08 17:34:01 -04:00
Andrew Sy Kim
99d9dda5a7 move pkg/controller/route to k8s.io/cloud-provider/controllers/route for easier external consumption
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2020-06-08 17:34:01 -04:00
Andrew Sy Kim
d06cd7ee4f move pkg/controller/service to k8s.io/cloud-provider/controllers/service for easier external consumption
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2020-06-08 17:34:01 -04:00
Jordan Liggitt
db4ca87d9d Switch CSR approver/signer/cleaner controllers to v1 2020-06-05 18:45:34 -04:00
tahsinrahman
78318c7a26 Migrate to log calls to klog.InfoS and klog.ErroS for pkg/controller 2020-06-05 13:23:01 +08:00
KeZhang
884f94ad92 Do not swallow NotFound error for DeletePod in dsc.manage 2020-06-04 16:41:38 +08:00
Tomas Nozicka
1d3654fcbd Add sig-apps-approvers and reviewers 2020-06-03 15:00:26 +02:00
Yecheng Fu
8422044f17 sharing a common pod pvc indexer among volume controllers 2020-06-03 14:51:21 +08:00
Yecheng Fu
eaf2f54bba auto-generated files 2020-06-03 14:51:21 +08:00
Kubernetes Prow Robot
2bf8e27737
Merge pull request #91455 from cofyc/fix88229
Emit correct event when unbound delay binding claim is used by pod
2020-06-02 18:11:36 -07:00
Kubernetes Prow Robot
462742fcf6
Merge pull request #91443 from littleroad/clean_annotation
deployment: remove annotation for non-exist parameter 'podMap'
2020-06-02 18:11:24 -07:00
Kubernetes Prow Robot
99a56f6ace
Merge pull request #91604 from iobuf/review.job
[pkg/controller/job]: fix comment typo
2020-06-01 23:34:29 -07:00
Zhou Peng
bc9bff0d9e [pkg/controller/job]: fix comment typo
Signed-off-by: Zhou Peng <p@ctriple.cn>
2020-05-30 23:09:10 +08:00
Yecheng Fu
32df4300ef emit correct event when unbound delay binding claim is used by pod 2020-05-29 19:36:13 +08:00
Jordan Liggitt
7049149181 Generated files 2020-05-28 16:53:23 -04:00
Jordan Liggitt
94fd1d76ca Switch issued check to inspect certificate length 2020-05-28 12:20:40 -04:00
Jordan Liggitt
d33a19cee7 Clean failed CSRs 2020-05-28 12:20:40 -04:00
Jordan Liggitt
57eddd5e04 Record Failed condition in signer controller 2020-05-28 12:20:40 -04:00
Lu Fengqi
0d04485a52 deployment: remove annotation for non-exist parameter 'podMap'
Since the parameter 'podMap' has been removed by commit 831a2d1129
("deployment: remove unused parameter 'podMap'"), the related annotation
also should be removed.

Signed-off-by: Lu Fengqi <lufq.fnst@cn.fujitsu.com>
2020-05-26 16:49:52 +08:00
Kubernetes Prow Robot
779f875243
Merge pull request #91180 from PengJi/fix_golint_failures
fix golint errors in pkg/controller/volume/events/event
2020-05-25 06:27:12 -07:00
Kubernetes Prow Robot
d94acda5ee
Merge pull request #91296 from cofyc/fix90962-cleanup-volumescheduling
volumescheduling: update comments to reflect latest change
2020-05-20 19:42:10 -07:00
Yecheng Fu
36d1365af5 update comments in volumescheduling pkg to reflect latest change 2020-05-20 22:23:08 +08:00
Yecheng Fu
f685af32e2 SchedulerVolumeBinder: don't modify assumed pod in AssumePodVolumes 2020-05-20 21:18:43 +08:00
Kubernetes Prow Robot
fdbb960354
Merge pull request #90934 from iobuf/cronjob
CronJob: cleanup legacy ScheduledJob vars,docs
2020-05-19 20:35:11 -07:00
pengji
69999a6d54 fix golint in pkg/controller/volume/events/event.go 2020-05-17 23:34:02 +08:00
Davanum Srinivas
07d88617e5
Run hack/update-vendor.sh
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2020-05-16 07:54:33 -04:00
Davanum Srinivas
442a69c3bd
switch over k/k to use klog v2
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2020-05-16 07:54:27 -04:00
Kubernetes Prow Robot
8a9206c9b2
Merge pull request #91046 from wawa0210/remove-beta-os-label
kubelet no longer registers "beta.kubernetes.io/os" and "beta.kubernetes.io/arch" node labels to apiserver
2020-05-15 02:48:58 -07:00
wawa0210
54c0f8b677
Remove the 'beta' version of the node label (os and arch types) 2020-05-13 22:51:52 +08:00
Kubernetes Prow Robot
977aeab3e5
Merge pull request #90987 from andrewsykim/service-controller-fixup
service controller: clean up unit tests
2020-05-13 00:19:13 -07:00
Andrew Sy Kim
758c25de2f service controller: store feature gate in local fields for better testability
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2020-05-12 13:40:54 -04:00
Kubernetes Prow Robot
70948498bc
Merge pull request #90769 from andrewsykim/service-controller-node-sync
service controller: only sync LB node pools when relevant fields change
2020-05-12 03:30:21 -07:00
Andrew Sy Kim
b3419e0ccf service controller: remove duplicate unit test TestGetNodePredicate (Test_getNodeConditionPredicate already exists)
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2020-05-11 16:59:12 -04:00
Andrew Sy Kim
55292cf3b4 service controller: remove pkg/controller dep in unit tests
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2020-05-11 16:59:12 -04:00
Kubernetes Prow Robot
2b2cf8df30
Merge pull request #80700 from mrkm4ntr/add-error-check
Add missing error check
2020-05-11 00:37:51 -07:00
Zhou Peng
b33e202397 CronJob: cleanup legacy ScheduledJob vars,docs
Signed-off-by: Zhou Peng <p@ctriple.cn>
2020-05-10 00:45:21 +08:00
Kubernetes Prow Robot
ba3bf32300
Merge pull request #90662 from nilo19/cleanup/decouple-cloud-testutils
Remove the deps to testutils in pkg/controller/cloud.
2020-05-09 02:17:51 -07:00
Kubernetes Prow Robot
8d718b1ef5
Merge pull request #90731 from deads2k/csr-separate-signer-flags
refactor the CSR controller into distinct controllers to allow easy
2020-05-09 00:44:05 -07:00
t-qini
fd4f3c6323 Remove the deps of testutils in pkg/controller/cloud. 2020-05-09 10:23:14 +08:00
Andrew Sy Kim
80a8a8df1c service controller: only sync LB node pools when relevant fields change
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2020-05-08 15:45:24 -04:00
cici37
32411016cc Copy RemoveTaintOffNode logic to k8s.io/cloud-provider 2020-05-05 16:47:09 -07:00
Indeed
3117b6a084 fix case where node exists but shutdown. 2020-05-05 08:57:58 -07:00
Indeed
78ace24670 check node existence before shutdown status. 2020-05-05 08:57:58 -07:00
Indeed
84dfaace5d add test about shutdown but non-existing node. 2020-05-05 08:51:21 -07:00
David Eads
83035890ad refactor the CSR controller into distinct controllers to allow easy configuration of multiple signing keys 2020-05-05 10:18:04 -04:00
Kubernetes Prow Robot
e8d6d3768e
Merge pull request #90561 from cici37/util
Copy patchNodeStatus logic to cloud-provider
2020-05-04 13:46:43 -07:00
wccsama
c776e80109 using case name instead 2020-04-30 13:55:50 +08:00
cici37
b8bac0206d Copy patchNodeStatus logic to cloud-provider 2020-04-29 15:51:55 -07:00
wccsama
7d45e12523 use sub test in gc_controller_test.go 2020-04-29 11:12:35 +08:00
Aaron Crickenberger
81881e4a12 prune .import-restrictions
specifically:

- cmd/kubeadm/.import-restrictions
  - we don't need to explicitly allow k8s.io repos (external or published)
- rm pkg/controller/.import-restrictions
  - pkg/client/unversioned was removed in 59042
- pkg/kubectl/.import-restrictions
  - pkg/printers is no longer used
  - pkg/api was masking all of the pkg/apis prefixes
- rm staging/src/k8s.io/code-generator/cmd/lister-gen/.import-restrictions
  - noop / empty file
- test/e2e/framework/.import-restrictions
  - we don't need to explicitly allow k8s.io repos (external or published)
2020-04-28 08:41:36 -07:00
Aaron Crickenberger
f306a0dbb4 convert .import-restrictions to yaml
yaml has comments, so we can explain why we have certain rules or
certain prefixes

for those files that weren't already commented yaml, I converted them to
yaml and took a best guess at comments based on the PRs that introduced
or updated them
2020-04-28 08:41:36 -07:00
Kubernetes Prow Robot
775feed217
Merge pull request #90018 from wojtek-t/deprecate_default_conversions
Deprecate default conversions
2020-04-23 10:23:10 -07:00
Kubernetes Prow Robot
fc08288bd9
Merge pull request #89609 from gavinfish/improve-discruption
Continue label is no more needed for countHealthyPods()
2020-04-22 17:02:12 -07:00
Kubernetes Prow Robot
85ee5fdd90
Merge pull request #87743 from u2takey/master
log pod event when node not ready
2020-04-21 17:25:52 -07:00
wojtekt
3758ab62d1 Avoid unnecessary GCE API calls for IP-alias calls
This is to avoid unnecessary GCE API calls done by getInstanceByName
helper, which is iterating over all zones to find in which zone the
VM exists.
ProviderID already contains all the information - it's in the form:
gce://<VM URL> (VM URL contains project, zone, VM name).

ProviderID is propagated by Kubelet on node registration and in case
of bugs backfilled by node-controller.
2020-04-20 20:47:11 +02:00
Kubernetes Prow Robot
c70e3e93bd
Merge pull request #89845 from yuga711/pvc-pv
Added events for failures in PV/PVC processing.
2020-04-18 02:51:35 -07:00
Jayasekhar Konduru
5a4f1be19d Added events for failures in PV/PVC processing:
- PV has a dangling reference to a PVC
- PVC is trying to bind to a PV that already references a different PVC

Change-Id: Ic509d39808763149b02b4dd52347edb74a8803fd
2020-04-16 22:11:02 -07:00
Kubernetes Prow Robot
3a0417cc4b
Merge pull request #81185 from andrewsykim/service-controller-node-resync
service controller: add node event handlers for faster LB backend sync
2020-04-15 22:28:44 -07:00
Kubernetes Prow Robot
b86297c837
Merge pull request #89669 from yangkev/yangkev-make-tests-table-driven-patch
allow running cronjob controller unit tests individually by name
2020-04-15 13:14:58 -07:00
Kubernetes Prow Robot
ec79307b04
Merge pull request #90057 from ialidzhikov/fix/gcp-ccm
Fix Node initialization for GCP cloud provider
2020-04-15 11:36:24 -07:00
Kubernetes Prow Robot
28c442ee2f
Merge pull request #90126 from smarterclayton/features_default
Promote service exclusion and legacy node role to beta
2020-04-15 01:12:03 -07:00
Kubernetes Prow Robot
d0183703cb
Merge pull request #90059 from ahg-g/ahg-nodeinfo2
Cleanup obsolete NodeInfo methods
2020-04-14 17:32:04 -07:00
Kubernetes Prow Robot
344130a574
Merge pull request #89870 from gaurav1086/controller_nil_ptr_check
[Controller]: cidr nil ptr dereference
2020-04-14 14:02:17 -07:00
ialidzhikov
5c276a451d Fix Node initialization for GCP cloud provider
Signed-off-by: ialidzhikov <i.alidjikov@gmail.com>
2020-04-14 21:01:26 +03:00
Clayton Coleman
d70b31e282
Remove the legacy load balancer exclusion annotation
alpha.service-controller.kubernetes.io/exclude-balancer is now
removed, deployers should use
node.kubernetes.io/exclude-from-external-load-balancers.
2020-04-13 21:01:11 -04:00
Kubernetes Prow Robot
b17ddac4df
Merge pull request #78944 from avorima/golint_fix_job
Fix golint errors in pkg/controller/job
2020-04-12 21:57:47 -07:00
Abdullah Gharaibeh
bed9b2f23b Cleanup obsolete NodeInfo methods 2020-04-12 18:13:46 -04:00
wojtekt
f624314f91 Fix multiple conversion tests 2020-04-10 17:03:35 +02:00
leiiwang
c6c18c8fed event pod event when node not ready 2020-04-07 18:24:00 +08:00
Gaurav Singh
4cbdb7bf97 [Controller]: cidr nil ptr dereference 2020-04-05 19:03:07 -04:00
Kubernetes Prow Robot
873fe1478a
Merge pull request #89207 from wccsama/service-controller-test
clean up the awkward pattern in service_controller_test
2020-04-03 02:09:46 -07:00
wccsama
8daf9ec2d4 clean up the pattern 2020-04-02 15:04:58 +08:00
Andrew Sy Kim
e2bc3a755f
move well-known kubelet cloud provider annotations to k8s.io/cloud-provider (#88631)
* move well-known kubelet cloud provider annotations to k8s.io/cloud-provider

Signed-off-by: andrewsykim <kim.andrewsy@gmail.com>

* cloud provider: rename AnnotationProvidedIPAddr to AnnotationAlphaProvidedIPAddr to indicate alpha status

Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2020-03-31 23:01:27 -07:00
Kevin Yang
58a21399c5 wrap table driven tests in t.Run to allow running individual tests
This makes debugging individual test cases much easier. For example:

go test -p 1 ./pkg/controller/cronjob -run TestSyncOne_Status/prev_ran_but_done,_is_time,_past_deadline -v
2020-03-30 14:58:28 -07:00
drfish
251706ceb4 Continue label is no more needed for countHealthyPods() 2020-03-28 09:57:25 +08:00
Kubernetes Prow Robot
3cf4832d09
Merge pull request #89320 from andrewsykim/node-controller-fake-client
cloud node controller: refactor tests to not depend on controller/testutils
2020-03-25 16:34:25 -07:00
Rob Scott
94e5537fa0
Lengthening initial backoff time for EndpointSlice controller
The EndpointSlice controller has the potential to manage a large number of resources that are updated frequently. Without proper backoffs in place, there is potential for it to unnecessarily overload the API Server with requests. This makes two significant changes: Increasing the base backoff from 5ms to 1s and making all syncs triggered by EndpointSlice changes delayed by at least 1 second to enable batching.
2020-03-25 11:00:00 -07:00
shibataka000
dbd0d566ed Fix bug about unintentional scale out during updating deployment.
This commit fix bug in calcPlainMetricReplicas function.
Same bug in GetResourceReplicas function was fixed in #85027.
2020-03-25 15:47:40 +09:00
Andrew Sy Kim
f34b32f5d0 cloud node controller: refactor tests to not depend on controller/testutils
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2020-03-24 13:36:10 -04:00
Kubernetes Prow Robot
c441a1a7dc
Merge pull request #85027 from shibataka000/fix-bug-about-unintentional-scale-out-during-updating-deployment
Fix HPA bug about unintentional scale out during updating deployment.
2020-03-24 04:50:46 -07:00
Kubernetes Prow Robot
0641e0c6d8
Merge pull request #89059 from chenkaiyue/Reconcile-NoExecute-Taint
Reconcile NoExecute Taint
2020-03-23 00:14:45 -07:00
wccsama
3c22575e66 clean up the awkward pattern in service_controller_test 2020-03-18 13:50:36 +08:00
Kubernetes Prow Robot
1827fe444e
Merge pull request #87895 from alexzimmer96/68026-lint-pkg-controller-autoscaler
Fix Golint errors in pkg/controller/podautoscaler
2020-03-17 16:19:53 -07:00
kaiyuechen
b3637c9670 Reconcile NoExecute Taint 2020-03-13 11:44:12 +08:00
Andrew Sy Kim
366dd4af44 EndpointSlice and Endpoints should treat terminating pods the same
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2020-03-11 13:03:18 -04:00
skilxn-go
6b8fc8dc5e Move TaintBasedEvictions feature gates to GA 2020-03-09 10:49:00 +08:00
Jordan Liggitt
d8abacba40 client-go: update expansions callers 2020-03-06 16:50:41 -05:00
Kubernetes Prow Robot
f52cbea102
Merge pull request #88910 from liggitt/metadata-context
Metadata client: plumb context
2020-03-06 13:18:04 -08:00
Kubernetes Prow Robot
ef672c1c2d
Merge pull request #88678 from verult/slow-rxm-attach
Parallelize attach operations across different nodes for volumes that allow multi-attach
2020-03-06 13:17:21 -08:00
Kubernetes Prow Robot
179fe40d06
Merge pull request #88599 from julianvmodesto/scale-ctx-opts
Add context and options to scale client
2020-03-06 13:17:08 -08:00
Jordan Liggitt
04a72d5ef9 client-go metadata: update callers 2020-03-06 11:07:54 -05:00
Christian Huffman
c6fd25d100 Updated CSIDriver references 2020-03-06 08:21:26 -05:00
Cheng Xing
ef3d66b98b Parallelize attach operations across different nodes for volumes that allow multi-attach 2020-03-05 22:22:05 -08:00
Mike Danese
76f8594378 more artisanal fixes
Most of these could have been refactored automatically but it wouldn't
have been uglier. The unsophisticated tooling left lots of unnecessary
struct -> pointer -> struct transitions.
2020-03-05 14:59:47 -08:00
Mike Danese
aaf855c1e6 deref all calls to metav1.NewDeleteOptions that are passed to clients.
This is gross but because NewDeleteOptions is used by various parts of
storage that still pass around pointers, the return type can't be
changed without significant refactoring within the apiserver. I think
this would be good to cleanup, but I want to minimize apiserver side
changes as much as possible in the client signature refactor.
2020-03-05 14:59:46 -08:00
Mike Danese
c58e69ec79 automated refactor 2020-03-05 14:59:46 -08:00
Kubernetes Prow Robot
0836b583f7
Merge pull request #85289 from serathius/remove-prometheus-controller-endpointslice
Remove prometheus references from pkg/controller/endpointslice
2020-03-05 02:58:37 -08:00
Kubernetes Prow Robot
4d19c6f2ad
Merge pull request #87537 from uthark/oatamanenko/apiversion
Fixes #87506 Add apiVersion to involvedObject
2020-03-04 02:31:47 -08:00
Kubernetes Prow Robot
9d0cbb7503
Merge pull request #88673 from jsafrane/block-feature-ga
Promote block volumes to GA
2020-03-03 12:17:12 -08:00
Kubernetes Prow Robot
62dc3ea6d1
Merge pull request #87368 from 928234269/fix_staticcheck01
fix staticcheck errors in pkg/controller/daemon.
2020-03-03 12:15:28 -08:00
Kubernetes Prow Robot
c86aec0564
Merge pull request #88745 from mborsz/slice3
Implement simple endpoint slice batching
2020-03-03 03:03:38 -08:00
Maciej Borsz
49b11b5431 Implement simple endpoint slice batching 2020-03-03 08:16:42 +01:00
Jan Safranek
3af671011a Generated API 2020-03-02 22:21:42 +01:00
Kubernetes Prow Robot
62e993ce09
Merge pull request #88401 from gongguan/volume_binder
refactor volume binder
2020-03-02 09:16:44 -08:00
Julian V. Modesto
da3c3432d8 Add context and options to scale client 2020-03-02 00:03:26 -05:00
Marek Siarkowicz
4ea52da628 Remove prometheus references from pkg/controller/endpointslice 2020-02-29 15:10:23 +01:00
Kubernetes Prow Robot
03b7f272c8
Merge pull request #88246 from munnerz/csr-signername-controllers
Update CSR controllers & kubelet to respect signerName field
2020-02-28 23:38:39 -08:00
louisgong
c6b94e4606 refactor volume binder 2020-02-29 12:03:39 +08:00
Jan Safranek
2c1b743766 Promote block volume features to GA 2020-02-28 20:48:38 +01:00
Patrick Ohly
6329b17d2f volume scheduler: introduce special string type
This makes it possible to search for the special strings more easily
(https://github.com/kubernetes/kubernetes/pull/88230#discussion_r382367043).
2020-02-28 10:09:19 +01:00
Patrick Ohly
6eb0b034ac volume scheduler: move reason strings into volume code
The scheduler doesn't really need to know in detail which reasons
rendered a node unusable for a node. All it needs from the volume
binder is a list of reasons that it then can present to the user.

This seems a bit cleaner. But the main reason for the change is that
it simplifies the checking of CSI inline volumes and perhaps later
capacity checking. Both will lead to new failure reasons, which then
can be added without changing the interface.
2020-02-28 10:09:18 +01:00
James Munnelly
d5dae04898 certificates: update controllers to understand signerName field
Signed-off-by: James Munnelly <james.munnelly@jetstack.io>
2020-02-27 15:54:31 +00:00
James Munnelly
a983356caa Add signerName field to CSR resource spec
Signed-off-by: James Munnelly <james.munnelly@jetstack.io>
2020-02-27 10:17:55 +00:00
Kubernetes Prow Robot
f3d38fcd4f
Merge pull request #88516 from boddumanohar/issues/87447
Use servicePatch methods from cloud-provider repo in service-controller
2020-02-26 19:39:44 -08:00
Kubernetes Prow Robot
55f2d91c8c
Merge pull request #88447 from taesunny/pkg/controller
Fix pkg/controller typos in some error messages, comments etc
2020-02-26 19:39:19 -08:00
Kubernetes Prow Robot
a726c9c9cb
Merge pull request #88435 from andrewsykim/ccm-clean-up
move well known cloud provider taints to k8s.io/cloud-provider/api
2020-02-26 13:33:41 -08:00
Kubernetes Prow Robot
d98975217a
Merge pull request #88525 from mborsz/bench3
Reorder conditions in FindMatchingVolume to avoid calling volumeutil.CheckNodeAffinity in trivial cases
2020-02-26 09:46:40 -08:00
taesun_lee
79680b5d9b Fix pkg/controller typos in some error messages, comments etc
- applied review results by LuisSanchez
- Co-Authored-By: Luis Sanchez <sanchezl@redhat.com>

genernal -> general
iniital -> initial
initalObjects -> initialObjects
intentionaly -> intentionally
inforer -> informer
anotother -> another
triger -> trigger
mutli -> multi
Verifyies -> Verifies
valume -> volume
unexpect -> unexpected
unfulfiled -> unfulfilled
implenets -> implements
assignement -> assignment
expectataions -> expectations
nexpected -> unexpected
boundSatsified -> boundSatisfied
externel -> external
calcuates -> calculates
workes -> workers
unitialized -> uninitialized
afater -> after
Espected -> Expected
nodeMontiorGracePeriod -> NodeMonitorGracePeriod
estimateGrracefulTermination -> estimateGracefulTermination
secondrary -> secondary
ShouldRunDaemonPodOnUnscheduableNode -> ShouldRunDaemonPodOnUnschedulableNode
rrror -> error
expectatitons -> expectations
foud -> found
epackage -> package
succesfulJobs -> successfulJobs
namesapce -> namespace
ConfigMapResynce -> ConfigMapResync
2020-02-27 00:15:33 +09:00
Maciej Borsz
7d59ea8394 Reorder conditions in FindMatchingVolume to avoid checking NodeAffinity
in trivial cases.
2020-02-26 09:20:38 +01:00
Rob Scott
6a33727632
Adding AppProtocol to Service and Endpoints Ports 2020-02-25 17:42:34 -08:00
Manohar Reddy
7b2a0a4260 update bazel 2020-02-26 06:14:19 +05:30
Manohar Reddy
08473a4949 remote patch.go and patch_test.go files 2020-02-25 20:13:43 +05:30
Manohar Reddy
1c0a78a4fd Use servicePatch methods from cloud-provider repo in service-controller 2020-02-25 16:28:37 +05:30
andrewsykim
8c633356df move well known cloud provider taints to k8s.io/cloud-provider/api
Signed-off-by: andrewsykim <kim.andrewsy@gmail.com>
2020-02-23 19:54:59 -05:00
Andrew Sy Kim
8b490dea3a service controller: add OnAdd and OnDelete node event handlers
Signed-off-by: Andrew Sy Kim <kiman@vmware.com>
2020-02-20 12:56:47 -05:00
s-ito-ts
e6b9a7a309 Fix golint errors in pkg/controller/garbagecollector 2020-02-20 04:46:02 +00:00
Kubernetes Prow Robot
da9f47eadf
Merge pull request #88146 from gnufied/avoid-multiple-pv-delete
Prevent deletion of PVs that are already deleted
2020-02-19 12:40:48 -08:00
Kubernetes Prow Robot
3a24c32345
Merge pull request #87980 from tnqn/endpointslicetracker
EndpointSliceTracker should track updated resource version
2020-02-18 19:10:25 -08:00
Hemant Kumar
d9f7a1f311 Don't call delete for already deleted volumes 2020-02-18 15:59:47 -05:00
Nan Yu
89bb7d8454 Honor the RevisionHistoryLimit in StatefulSetSpec
The StatefulSet controller cleans up ControllerRevisions at the end of
the reconcile loop. If something goes wrong during reconcile, it bails
out without actually performing this step. This commit moves the cleanup
to a deferred function call to guarantee it will be executed.

Fixes issue: https://github.com/kubernetes/kubernetes/issues/85690
2020-02-18 10:42:38 -08:00
Kubernetes Prow Robot
1a0f923a65
Merge pull request #87712 from alena1108/jan30kubelet
Ineffassign fixes for pkg/controller and kubelet
2020-02-14 14:29:27 -08:00
Kubernetes Prow Robot
7fe64ccb82
Merge pull request #84984 from cofyc/fix84942
apps/StatefulSets: Garbage collector should be able to orphan ControllerRevisions too
2020-02-14 01:06:18 -08:00
David Zhu
81668cb887 Change migrated-to annoation key to follow best practices by removing beta and using 'pv' prefix 2020-02-12 10:33:08 -08:00
Quan Tian
c2d3e54551 EndpointSliceTracker should track updated resource version
During EndpointSlice reconcilation, EndpointSliceTracker is supposed to
track expected EndpointSlice resource versions so that external changes
to them can be detected. But it actually tracked the stale resource
version and resulted in every Service was handled twice as it always
received an EndpointSlice update with a different resource version but
was actually created/updated by itself during the first processing.
2020-02-10 21:47:07 +08:00
Yecheng Fu
bb2b50f3db Garbage collector should orphan ControllerRevisions too
Signed-off-by: Yecheng Fu <fuyecheng@pingcap.com>
2020-02-10 20:58:28 +08:00
Mike Danese
bfc75d9a5c manual fixes 2020-02-08 12:32:33 -05:00
Mike Danese
25651408ae generated: run refactor 2020-02-08 12:30:21 -05:00
Mike Danese
2637772298 some manual fixes 2020-02-07 18:17:40 -08:00
Mike Danese
3aa59f7f30 generated: run refactor 2020-02-07 18:16:47 -08:00
Kubernetes Prow Robot
8215619ba4
Merge pull request #87642 from pohly/volume-binder-testing
volume binder testing
2020-02-07 05:56:39 -08:00
Alexander Zimmermann
e0b1e9206d
Clarified comments 2020-02-07 09:09:49 +01:00
Kubernetes Prow Robot
9c1e124b15
Merge pull request #87823 from tallclair/test-tokens
Ensure testing credentials are labeled as such
2020-02-06 17:47:29 -08:00
Kubernetes Prow Robot
04e28b3674
Merge pull request #87098 from davidz627/feature/migratedRollback
Add annotation updating for migration for PVs and PVCs
2020-02-06 17:45:32 -08:00
Alexander Zimmermann
a1c837022c
Fixed Golint errors in pkg/controller/podautoscaler 2020-02-06 17:16:38 +01:00
Tim Allclair
9d3670f358 Ensure testing credentials are labeled as such 2020-02-04 10:36:05 -08:00
Kubernetes Prow Robot
fa4bc10ef1
Merge pull request #86793 from prameshj/gce-finalizer
Attach a new finalizer in GCE ILB creation.
2020-01-30 21:20:32 -08:00
Alena Prokharchyk
6c3093f970 Ineffassign fixes for pkg/controller and kubelet 2020-01-30 14:35:10 -08:00
Kubernetes Prow Robot
7164152844
Merge pull request #87664 from liggitt/revert-parallel-volume
Revert "Merge pull request #87258 from verult/slow-rxm-attach"
2020-01-29 22:12:01 -08:00
Jordan Liggitt
cd1059e3c4 Revert "Merge pull request #87258 from verult/slow-rxm-attach"
This reverts commit 15c3f1b119, reversing
changes made to 52d7614a8c.
2020-01-29 14:58:32 -05:00
Mike Danese
968adfa993 cleanup req.Context() and ResponseWrapper 2020-01-29 08:50:45 -08:00
Mike Danese
d55d6175f8 refactor 2020-01-29 08:50:45 -08:00
Patrick Ohly
a3c434510d volume binder: enable klog flags in test
When debugging the test runs it is useful to increase the log level:

go test -v ./pkg/controller/volume/scheduling -args -v 5
2020-01-29 10:37:39 +01:00
Patrick Ohly
5c8929d95e volume binder: convert to sub-tests
Using t.Run() has some advantages:
- individual sub-tests can be selected with -run
- test failures are automatically associated with
  the scenario, therefore the test name no longer
  needs to be passed around

A "run" function is used primarily to avoid large indention changes,
but also because this can be used to extend the test with additional
parameters later on.
2020-01-29 10:37:27 +01:00
Kubernetes Prow Robot
f5a008746a
Merge pull request #83526 from eloyekunle/feat/gengo-reverse-import
import-boss reverse import
2020-01-28 18:50:13 -08:00
Pavithra Ramesh
1de2327afc Attach a new finalizer in GCE ILB creation.
Add logic in service_controller to skip create/update
if finalizer from a different controller is found.

The newly added finalizer will be checked by other controllers
implementing ILB services to determine if a given service is
already being managed by service_controller.

Moved finalizer check into cloudprovider code.

added unit test to verify new finalizer.

Modified existing unit test to create a fake service so that
attach/remove finalizer step can be tested.
2020-01-28 15:02:19 -08:00
Oleg Atamanenko
427f0f9463 Add apiVersion to involvedObject 2020-01-28 09:24:08 -08:00
Elijah Oyekunle
07e3cca6d0 update existing import-restrictions files 2020-01-28 10:51:45 +01:00
David Zhu
b7817a2981 Add annotation annealing for migration for PVs and PVCs during syncVolume and syncClaim. This allows external-provisioners to pick up and delete volumes when they have been rolled up from previous kubernetes versions. 2020-01-27 16:14:53 -08:00
Cheng Xing
c6a03fa5be Parallelize attach operations across different nodes for volumes that allow multi-attach 2020-01-27 15:02:25 -08:00
Kubernetes Prow Robot
dc090f80d1
Merge pull request #87406 from haosdent/remove-algo
Remove `scheduler/algorithm/priorities` in import-restrictions
2020-01-23 11:34:24 -08:00
Kubernetes Prow Robot
c5d981583a
Merge pull request #87308 from KobayashiD27/fix-staticcheck
Fix staticcheck in pkg/controller/podgc
2020-01-23 11:34:11 -08:00
David Eads
5c2d2c5ef1 rename dynamic cert loading to be more accurate 2020-01-22 15:00:46 -05:00
David Eads
6ccfc3aecf add dynamic reloading for CSR signing controllers 2020-01-22 15:00:46 -05:00
Kubernetes Prow Robot
e4926e2d70
Merge pull request #85421 from terrytangyuan/patch-1
Fix grammar: have -> has
2020-01-22 08:40:58 -08:00
Haosdent Huang
b09e35257a Remove scheduler/algorithm/priorities in import-restrictions 2020-01-22 11:54:28 +08:00
yiyang5055
53aff819e0 fix static check failure in pkg/controller/disruption and pkg/controller/namespace/deletion 2020-01-20 09:10:46 +00:00
Sakura
203c7b4731
fix staticcheck errors in pkg/controller/daemon.
Signed-off-by: Sakura <longfei.shang@daocloud.io>
2020-01-19 21:09:05 +08:00
Kubernetes Prow Robot
073da1588a
Merge pull request #86801 from likakuli/fix_syncsts_orphanrevision
fix a bug that orphan revision cannot be adopted and statefulset cannot be synced
2020-01-19 00:07:35 -08:00
Kobayashi Daisuke
ed1381e35f Fix staticcheck in pkg/controller/podgc 2020-01-17 15:42:38 +09:00
Paul Morie
afaea605f4 Remove Brad Childs from OWNERS files 2020-01-16 15:21:34 -05:00
Jordan Liggitt
054e3846fc Use v1 subjectaccessreview API in controller-manager CSR approver 2020-01-13 15:55:52 -05:00
Kewei Ma
34fce9faee
Fix a comment in job_controller 2020-01-13 10:09:06 -06:00
Kubernetes Prow Robot
ace98e1382
Merge pull request #84433 from yamt/comment-typo
Fix a comment typo in legacyNodeRoleBehaviorFeature
2020-01-10 17:17:38 -08:00
Kubernetes Prow Robot
240782c7f7
Merge pull request #87043 from zjs/topic/propagate-providerid-errors
Ensure a provider ID is set on a node if expected
2020-01-10 14:33:50 -08:00
Zach Shepherd
2b554079af
Ensure a provider ID is set on a node if expected
A transient issue might occur that causes an error to be returned by
InstanceID(). When this is ignored, the external cloud provider taint
will be removed and neither AddCloudNode() nor UpdateCloudNode() will
try to set a provider ID in the future.

By returning the error we can ensure that the external cloud provider
taint is not removed prematurely, allowing the operation to be retried
(until the provider ID can be set).

Preserve support for external cloud providers that do not use IDs by
continuing if a NotImplemented error is returned, making a distinction
between lack of support for provider IDs and an actual error.

Introduce pair of unit tests that show a provider ID will eventually
be set if an error is returned, unless that error is a NotImplemented,
in which case the external cloud provider taint will be removed.
2020-01-10 11:00:54 -08:00
Kubernetes Prow Robot
3ccdad175a
Merge pull request #86210 from draveness/feature/remove-ga-flags
feat: remove several feature gates in 1.18
2020-01-09 13:28:50 -08:00
Kubernetes Prow Robot
1e0bfae887
Merge pull request #86871 from gosoon/master
fix log message error in nodelifecycle
2020-01-08 02:58:33 -08:00
likakuli
10864d3366 fix a bug that orphan revision cannot be adopted and sts cannot be synced 2020-01-08 17:56:41 +08:00
Kubernetes Prow Robot
f3df7a2fdb
Merge pull request #86727 from mattjmcnaughton/mattjmcnaughton/remove-recorder-PastEventf
Remove `recorder.PastEventf` method
2020-01-07 04:38:49 -08:00
tianfeiyu
fddf50cf88
fix log message error in nodelifecycle 2020-01-06 21:02:08 +08:00
Abdullah Gharaibeh
041e5b5560 addressed comments 2020-01-04 01:14:24 -05:00
Abdullah Gharaibeh
7d604c318c Break DS controller on scheduler predicates and predicate errors 2020-01-03 13:05:07 -05:00
mattjmcnaughton
92940fa80d
Remove recorder.PastEventf method
The `recorder.PastEventf` method wasn't actually working as advertised.
It was supposed to accept a timestamp, which would be used when
generating the event. However, as the
[source code](https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/client-go/tools/record/event.go#L316)
shows, this `timestamp` was never actually used.

In other words, `PastEventf` is identical to `Eventf`.

We have two options: one would be to fix `PastEventf` so that it works
as advertised. The other would be to delete `PastEventf` and only
support `Eventf`.

Ultimately, I could only find one use of `PastEventf` in the code base,
so I propose we just delete `PastEventf` and convert all uses to
`Eventf`.
2019-12-30 12:00:23 -05:00
Kubernetes Prow Robot
d4ba10ec80
Merge pull request #85703 from robscott/endpointslice-controller-race-fix
Fixing Potential Race Condition in EndpointSlice Controller.
2019-12-26 17:59:52 -08:00
Rob Scott
c75787bb77
Fixing Potential Race Condition in EndpointSlice Controller.
This adds a new EndpointSlice tracker to keep track of the expected resource versions of EndpointSlices associated with each Service managed by the EndpointSlice controller. This should prevent a potential race where a syncService call could happen with an incomplete view of EndpointSlices if additions or deletions hadn't fully propagated to the cache yet. Additionally, this ensures that external changes to EndpointSlices will be handled by the EndpointSlice controller.
2019-12-26 12:15:38 -08:00
danielqsj
5bc0e26c19 unify alias of api errors under pkg and staging 2019-12-26 16:42:28 +08:00
Alvaro Aleman
18fa7bdb6e Cloud node controller: Only call once into cloud provider 2019-12-17 20:03:27 +01:00
Kubernetes Prow Robot
42fe74cd2c
Merge pull request #86142 from raz-bn/add-complete-event
Adding new job completed event
2019-12-16 23:43:58 -08:00
raz-bn
0224c48120 Job completed event added 2019-12-16 21:41:15 +00:00
Kubernetes Prow Robot
69410eca4b
Merge pull request #86256 from liggitt/testapi
Remove use of testapi package
2019-12-13 12:55:50 -08:00
Jordan Liggitt
5d5b444c4d Remove use of testapi codecs, selflink, resourcepath functions 2019-12-13 11:56:29 -05:00
Kubernetes Prow Robot
f67d3b1a7d
Merge pull request #86229 from ahg-g/ahg-ds
Remove daemonset controller's dependency on scheduler metadata
2019-12-13 00:26:54 -08:00
Kubernetes Prow Robot
ae717afc0d
Merge pull request #86140 from yutedz/rs-rm-timeout
Do not swallow timeout in manageReplicas
2019-12-12 18:33:07 -08:00
Abdullah Gharaibeh
288609ecf5 remove ds dependeny on scheduler metadata 2019-12-12 19:04:36 -05:00
Ted Yu
9cff345770 Do not swallow timeout in manageReplicas 2019-12-12 11:27:36 -08:00
draveness
dcea6ff065 fix: remove TaintNodesByCondition feature gate in daemon controller 2019-12-12 18:17:14 +08:00
Kubernetes Prow Robot
928817a26a
Merge pull request #74525 from gliush/configurable-hpa-limits
Configurable HorizontalPodAutoscaler
2019-12-11 03:18:05 -08:00
Arjun Naik
8ab226263a Adds tests
Signed-off-by: Arjun Naik <arjun@arjunnaik.in>
2019-12-10 18:09:20 +01:00
Ivan Glushkov
27ffe439b6
Adds the algorithm implementation for the Configurable HPA 2019-12-10 20:37:33 +04:00
Kubernetes Prow Robot
fcc35b0468
Merge pull request #85899 from gongguan/slim_down_lister
slim down some lister expansions
2019-12-09 07:20:17 -08:00
louisgong
7f5076d8ee slim down some lister expansions 2019-12-07 08:27:06 +08:00
Nan Yu
1fb0dd4ec5 Rename PodDisruptionsAllowed to DisruptionsAllowed in type PodDisruptionBudgetStatus 2019-12-03 14:26:35 -08:00
Kubernetes Prow Robot
41757d673e
Merge pull request #85521 from gaorong/check-return-value
check service status value returned by EnsureLoadBalancer
2019-11-25 22:51:10 -08:00
Rob Scott
4229b99203
Deep copying EndpointSlices in reconciler before modifying them. 2019-11-23 20:57:50 -08:00
Rong Gao
99603e105a check service status value returned by EnsureLoadBalancer
when service status returned by EnsureLoadBalancer is nil, return the
function directly to avoid NPE
2019-11-22 09:19:06 +08:00
Benjamin Elder
cf510ac285 fix multiple node cidr masks in providerless build 2019-11-19 09:47:45 -08:00
Yuan Tang
dd308ca576
Fix grammar: have -> has 2019-11-18 11:17:58 -05:00
Kubernetes Prow Robot
c3f8d700ac
Merge pull request #85367 from aramase/node-cidr-followup
[kube controller manager] add comments for compatibility
2019-11-15 19:09:54 -08:00
Kubernetes Prow Robot
9c26a752a9
Merge pull request #85231 from davidz627/flags
Flip CSIMigration and CSIMigrationGCE to Beta
2019-11-15 17:57:41 -08:00
Kubernetes Prow Robot
9859e73433
Merge pull request #85361 from liggitt/endpoint-label
Fix label mutation in endpoints controller
2019-11-15 16:17:49 -08:00
Anish Ramasekar
128f33b26e
add comments for compatibility 2019-11-15 15:38:06 -08:00
Jordan Liggitt
08b5c809d2 Fix label mutation in endpoints controller 2019-11-15 16:24:10 -05:00
Rob Scott
7085d692b7
Reverting managed-by-setup annotation
This ended up causing far more problems than it was worth, especially
given that it just attempted to provide backwards compatibility with
the alpha release.
2019-11-15 11:50:58 -08:00
David Zhu
41c65f4740 Jump out of spec translation early if the spec is not migratable. Unit tests work after all! 2019-11-15 11:23:32 -08:00
David Zhu
6e716af89e Add CSINodes to AttachDetachControllerRecovery test 2019-11-15 11:23:32 -08:00
Travis Rhoden
0c5c3d8bb9
Remove pkg/util/mount (moved out of tree)
This patch removes pkg/util/mount completely, and replaces it with the
mount package now located at k8s.io/utils/mount. The code found at
k8s.io/utils/mount was moved there from pkg/util/mount, so the code is
identical, just no longer in-tree to k/k.
2019-11-15 08:29:12 -07:00
Kubernetes Prow Robot
ded6ee953c
Merge pull request #79993 from aramase/controller-manager-multiple-cidr
Allow multiple node cidr masks in kube-controller-manager
2019-11-14 23:23:42 -08:00
Kubernetes Prow Robot
372ebd24f5
Merge pull request #83098 from ddebroy/disable-intree
CSI Migration phase 2: disable probing of in-tree plugins
2019-11-14 20:51:42 -08:00
Anish Ramasekar
796faba4ac
Allow multiple node cidr masks in cm
update tests

add comment

amend var name

update comment

add check for empty slice

fix tests

fix mask size in test

review feedback

add ipv4 and ipv6 flag for mask sizes

add to violation exception list

remove import alias

run update-openapi-spec

review feedback

run update-bazel

review feedback

review feedback
2019-11-14 20:04:31 -08:00
YAMAMOTO Takashi
361cd7212e Fix a comment typo in legacyNodeRoleBehaviorFeature 2019-11-15 11:30:34 +09:00
Deep Debroy
129f15328b Disable in-tree plugins migrated to CSI
Signed-off-by: Deep Debroy <ddebroy@docker.com>
2019-11-14 17:28:21 -08:00
Kubernetes Prow Robot
ba9f7419f9
Merge pull request #84732 from khenidak/fix-disable-dualstack
Fix a CM panic when ipam tries to lock an out of range pre existing cidr
2019-11-14 11:19:35 -08:00
Kubernetes Prow Robot
5e30d32d2c
Merge pull request #83394 from bertinatto/convert_pv_no_affinity
Convert existing PVs to use volume topology in VolumeBinderPredicate
2019-11-13 21:45:56 -08:00
Kubernetes Prow Robot
565566f4b2
Merge pull request #85153 from codenrhoden/mount-no-exec-int
Retire mount.Exec for k8s.io/utils/exec
2019-11-13 17:28:32 -08:00
Kubernetes Prow Robot
072cf5bd58
Merge pull request #85023 from MrHohn/svc-lb-ga
Promote service load balancer finalizer to GA
2019-11-13 17:28:21 -08:00
Rob Scott
a7e589a8c6
Promoting EndpointSlices to beta 2019-11-13 14:20:19 -08:00
Travis Rhoden
367f879131
Retire mount.Exec for k8s.io/utils/exec
This patch removes mount.Exec entirely and instead uses the common
utility from k8s.io/utils/exec.

The fake exec implementation found in k8s.io/utils/exec differs a bit
than mount.Exec, with the ability to pre-script expected calls to
Command.CombinedOutput(), so tests that previously relied on a callback
mechanism to produce specific output have been updated to use that
mechanism.
2019-11-13 14:09:57 -07:00
Fabio Bertinatto
bbfc6ef450 Convert volume binder to use CSINode GA 2019-11-13 14:01:01 +01:00
Fabio Bertinatto
7cba40fb09 Use CSI translation lib in VolumeBinderPredicate 2019-11-13 14:01:01 +01:00
Zihong Zheng
0833e8840e Amend service controller code/test regarding finalizer GA 2019-11-12 15:04:07 -08:00
Rob Scott
0fa9981e01
Splitting IP address type into IPv4 and IPv6 for EndpointSlices 2019-11-12 09:03:53 -08:00
Kubernetes Prow Robot
5dc87d2919
Merge pull request #83965 from robscott/endpointslice-managed-by
Adding new label to indicate what is managing an EndpointSlice
2019-11-12 03:08:07 -08:00
Kubernetes Prow Robot
7d1f9b440e
Merge pull request #83815 from howardjohn/appprotocol
Add appProtocol to EndpointSlice.Port
2019-11-11 17:48:06 -08:00
Kubernetes Prow Robot
01e014c7d6
Merge pull request #85012 from alculquicondor/feat/predicate_factory
Add MetadataProducerFactory for predicates
2019-11-11 14:46:36 -08:00
Kubernetes Prow Robot
709a0c4f7b
Merge pull request #85067 from takanattie/fix_typo
Fix a typo in pkg/controller
2019-11-11 12:56:48 -08:00
Aldo Culquicondor
6a98c93f3c Add MetadataProducerFactory for predicates
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2019-11-11 11:27:44 -05:00
Kubernetes Prow Robot
b2fb0f77ad
Merge pull request #82572 from tnozicka/fix-rs-expectations
Fix RS expectations for recreate case
2019-11-11 05:49:42 -08:00
Tomas Nozicka
ce52643f12 Update Bazel 2019-11-11 09:11:43 +01:00
Tomas Nozicka
6754b93f6b Fix RS informer handlers and handling expectations on delete 2019-11-11 09:11:43 +01:00
Takashi Natsume
e5ad39fbe0 Fix a typo in pkg/controller 2019-11-10 11:24:10 +00:00
shibataka000
b7122770f8 Fix bug about unintentional scale out during updating deployment.
During rolling update with maxSurge=1 and maxUnavailable=0,
len(metrics) is greater than currentReplcas
and it may cause unintentional scale out.
2019-11-09 06:24:31 +00:00
Rob Scott
6b8b2ff975
Adding new label to indicate what is managing an EndpointSlice
This adds a new Label to EndpointSlices that will ensure that multiple
controllers or entities can manage subsets of EndpointSlices. This
label provides a way to indicate the controller or entity responsible
for managing an EndpointSlice.

To provide a seamless upgrade from the alpha release of EndpointSlices
that did not support this label, a temporary annotation has been added
on Services to indicate that this label has been initially set on
EndpointSlices. That annotation will be set automatically by the
EndpointSlice controller with this commit once appropriate Labels have
been added on the corresponding EndpointSlices.
2019-11-08 15:34:44 -08:00
Kubernetes Prow Robot
9cf309ed59
Merge pull request #82049 from andrewsykim/ga-node-instance-type-label
Promote Node Instance Type Label to GA
2019-11-08 13:47:58 -08:00
Khaled Henidak(Kal)
2de6b2e52c unit tests 2019-11-08 18:29:08 +00:00
Khaled Henidak(Kal)
e07402f7dc fix a panic when ipam tries to allocate an out of range pre-existing cidr 2019-11-08 18:29:08 +00:00
John Howard
d00794ca60 Add appProtocol to EndpointSlice.Port 2019-11-08 09:22:50 -08:00
Kubernetes Prow Robot
f0184f0921
Merge pull request #84933 from krzysied/node_controller_v_level
Bumping up log level for not updated node
2019-11-08 09:00:40 -08:00
Kubernetes Prow Robot
ae15368355
Merge pull request #84351 from wojtek-t/promote_node_lease_to_GA
Promote node lease to GA
2019-11-08 09:00:15 -08:00
Andrew Sy Kim
55e40b8dc1 cloud node controller: apply stable instance-type label with backfill to existing nodes
Signed-off-by: Andrew Sy Kim <kiman@vmware.com>
2019-11-08 10:50:52 -05:00
Kubernetes Prow Robot
d366d2eaa3
Merge pull request #84896 from RainbowMango/pr_migrate_custom_collector_scheduler
Migrate custom collector for kube-scheduler
2019-11-08 01:04:14 -08:00
Kubernetes Prow Robot
3ee195f0e9
Merge pull request #81431 from andrewsykim/ga-node-topology
Promote Node Zone/Region Topology Labels to GA
2019-11-07 22:00:20 -08:00
Andrew Sy Kim
07229d6c51 pkg/util/node: update GetZoneKey to check both beta and GA labels
Signed-off-by: Andrew Sy Kim <kiman@vmware.com>
2019-11-07 21:22:04 -05:00
Andrew Sy Kim
3032c81187 node controller: set both deprecated Beta and GA labels for Zone/Region topology
Signed-off-by: Andrew Sy Kim <kiman@vmware.com>
2019-11-07 20:08:11 -05:00
Rob Scott
0c7548f020
Setting Hostname from Pods on EndpointSlice to match Endpoints behavior.
This was an oversight in the initial EndpointSlice release. This update
will ensure that Endpoints and EndpointSlices use the same logic to set
the Hostname attribute.
2019-11-07 13:22:54 -08:00
Kubernetes Prow Robot
f7c3fa8324
Merge pull request #84860 from wojtek-t/remove_conversion_funcs_4
Eliminate couple default conversions
2019-11-07 09:05:30 -08:00
Kubernetes Prow Robot
06a7e9a1f3
Merge pull request #84763 from hwdef/fix-staticcheck6
pkg/controller: fix staticcheck warning
2019-11-07 09:05:17 -08:00
Krzysztof Siedlecki
4e63b9a032 bumping up log level for not updated node 2019-11-07 17:59:26 +01:00
Kubernetes Prow Robot
8841624982
Merge pull request #81167 from krzysied/node_controller_list
Avoid listing pods in NodeLifecycleController
2019-11-07 07:53:10 -08:00
Kubernetes Prow Robot
1183771545
Merge pull request #84748 from hvaara/fix-golint-controller-volume-persistentvolume-options
Fix golint issues in pkg/controller/volume/persistentvolume/options
2019-11-07 04:35:53 -08:00
Kubernetes Prow Robot
ca836256c4
Merge pull request #84573 from robscott/endpointslice-publishnotready
Updating EndpointSlices to use PublishNotReadyAddresses from Services.
2019-11-07 04:35:10 -08:00
Krzysztof Siedlecki
9406e5bf2a adding pods lister 2019-11-07 12:02:21 +01:00
hwdef
38256df718 pkg/controller: fix staticcheck warning 2019-11-07 16:46:47 +08:00
Kubernetes Prow Robot
24fb2c1afd
Merge pull request #84280 from gongguan/service_selector_cache
add service selector cache in endpoint and endpointSlice controller
2019-11-06 18:47:00 -08:00
RainbowMango
09dc221d7b Deal with auto-generated files.
Update bazel by hack/update-bazel.sh
2019-11-07 10:30:12 +08:00
RainbowMango
9efabe8124 Migrate custom collector to stablility framework 2019-11-07 10:26:27 +08:00
Kubernetes Prow Robot
46472773cb
Merge pull request #84836 from yuxiaobo96/k8s-checks
Correct spelling mistakes
2019-11-06 12:21:11 -08:00
Kubernetes Prow Robot
b09b962d96
Merge pull request #84746 from Huang-Wei/move-sched-constrants
Move out const strings in pkg/scheduler/api/well_known_labels.go
2019-11-06 12:20:06 -08:00
Rob Scott
ff3cbdb0ad
Updating EndpointSlices to use PublishNotReadyAddresses from Services.
The Service spec includes a PublishNotReadyAddresses field which has
been used by Endpoints to report all matching resources ready. This may
or may not have been the initial purpose of the field, but given the
desire to provide backwards compatibility with the Endpoints API here,
it seems to make sense to continue to provide the same functionality.
2019-11-06 09:11:31 -08:00
wojtekt
ccded14941 Eliminate some default conversions 2019-11-06 14:08:15 +01:00
yuxiaobo
81e9f21f83 Correct spelling mistakes
Signed-off-by: yuxiaobo <yuxiaobogo@163.com>
2019-11-06 20:25:19 +08:00
Wei Huang
019d7497a5
bazel files 2019-11-05 20:57:21 -08:00
Wei Huang
dd74205bcf
Move out const strings in pkg/scheduler/api/well_known_labels.go 2019-11-05 20:56:21 -08:00
louisgong
2133f9e9ff add service selector cache in endpoint controller and endpointSlice controller 2019-11-06 10:55:26 +08:00
Kubernetes Prow Robot
0c32aa8910
Merge pull request #83257 from robscott/endpointslice-metrics
Adding initial EndpointSlice metrics.
2019-11-05 15:30:31 -08:00
Kubernetes Prow Robot
268e331c70
Merge pull request #84527 from robscott/endpoint-util-owners
Adding owners file for Endpoint controller utils
2019-11-05 06:28:39 -08:00
wojtekt
ffad401b4e Promote NodeLease feature to GA 2019-11-05 09:01:12 +01:00
Kubernetes Prow Robot
aaa5707896
Merge pull request #84677 from mikedanese/cfssl
remove cfssl dependencies
2019-11-04 15:28:53 -08:00
Kubernetes Prow Robot
1d1385af91
Merge pull request #83474 from msau42/topology-ga
CSI Topology ga
2019-11-04 15:28:27 -08:00
Roy Hvaara
dffcf7c8cd
Fix golint issues in pkg/controller/volume/persistentvolume/options 2019-11-04 21:45:21 +01:00
Mike Danese
6a004d0c18 support URI SANs in local signer 2019-11-04 10:56:06 -08:00
Mike Danese
fe51712288 refactor into seperate authority package 2019-11-04 10:56:06 -08:00
Mike Danese
4bd2c3998f don't use cfssl in signer 2019-11-04 10:56:06 -08:00
Kubernetes Prow Robot
6a19261e96
Merge pull request #84123 from smarterclayton/terminating_cause
Handle namespace deletion more gracefully in built-in controllers
2019-11-04 07:55:41 -08:00
Kubernetes Prow Robot
5e33f3db5f
Merge pull request #84445 from krzysied/node_controller_retry_fix
NodeLifecycleController - MarkPodsNotReady retry fix
2019-11-03 20:15:40 -08:00
Kubernetes Prow Robot
b55440dcf8
Merge pull request #84637 from zhipengzuo/master
fix log and note :cidr mask size must be <= node mask
2019-11-03 18:53:40 -08:00
Kubernetes Prow Robot
d8ab3f26e7
Merge pull request #84323 from draveness/feature/remove-suspended-daemon-pods
feat: remove suspendedDaemonPods from daemon controller
2019-11-02 23:41:40 -07:00
Kubernetes Prow Robot
6e0c915f43
Merge pull request #84060 from yutedz/gc-ref-diff
Traverse OwnerReference maps more efficiently
2019-11-01 18:07:41 -07:00
zhipengzuo
1e0b019062 fix log and annotation :cidr mask size must be <= node mask 2019-11-01 17:26:23 +08:00
Krzysztof Siedlecki
3a82f50b2e adding test for retrying MarkPodsNotReady 2019-10-31 16:56:54 +01:00
Krzysztof Siedlecki
9759a982c5 MarkPodsNotReady retry fix 2019-10-31 16:56:54 +01:00
Ryan Phillips
f87da3fdfa fixes for tests to pass with FIPS compiler
* use P256 ECDSA key since P224 is not supported
* regen test certs to be 2048bits
2019-10-30 10:10:11 -05:00
Rob Scott
40423cf18e
Adding owners file for Endpoint controller utils 2019-10-29 11:01:49 -07:00
Andrew Sy Kim
897b8d7476 improve error handling in cloud node controller
Signed-off-by: Andrew Sy Kim <kiman@vmware.com>
2019-10-28 20:23:12 -04:00
Michelle Au
fb6dfeb718 Convert attach-detach controller to use v1.CSINode 2019-10-28 13:41:13 -07:00
wojtekt
ce499ac286 Migrate components to EndpointsLeases leader election lock 2019-10-28 09:09:03 +01:00
Kubernetes Prow Robot
d379ab2697
Merge pull request #84288 from wojtek-t/cleanup_conversions_registrations
Cleanup conversions registrations
2019-10-25 22:53:22 -07:00
draveness
dc437a7890 feat: remove suspendedDaemonPods from daemon controller 2019-10-25 09:16:48 +08:00
wojtekt
7b6bcdf780 Autogenerated code 2019-10-24 20:21:00 +02:00
Kubernetes Prow Robot
2c4cba8aa0
Merge pull request #82365 from jkaniuk/pod-gc
Pod GC controller - use node lister
2019-10-24 03:13:06 -07:00
Rob Scott
724b142f07
Adding initial EndpointSlice metrics. 2019-10-23 17:33:17 -07:00
Kubernetes Prow Robot
ed5a3847a2
Merge pull request #83856 from mrbobbytables/update-autoscaling-owners
Prune inactive owners from autoscaling related OWNERS files.
2019-10-23 15:53:34 -07:00
Kubernetes Prow Robot
4f63f61c36
Merge pull request #84193 from ahg-g/ahg-list
Separate scheduler listers into their own package
2019-10-23 12:51:30 -07:00
Kubernetes Prow Robot
7dc298af42
Merge pull request #82795 from draveness/feature/remove-schedule-daemonset-pods
feat(scheduler): graduate ScheduleDaemonSetPods to GA
2019-10-23 12:49:12 -07:00
Kubernetes Prow Robot
65fa4c979a
Merge pull request #82152 from misterikkit/disruption
Fix retry logic in DisruptionController
2019-10-23 12:48:58 -07:00
Jacek Kaniuk
39883f08bf Pod GC controller - use node lister 2019-10-23 16:54:54 +02:00
draveness
35d772e354 feat: graduate ScheduleDaemonSetPods to GA 2019-10-23 21:34:47 +08:00
Kubernetes Prow Robot
75cd65ae0e
Merge pull request #82145 from shivi28/fix-controller-nodeipam-ipam-cidrset
nodeipam-controller:fix static check failures
2019-10-22 23:18:26 -07:00
Cristian Dima
da759609dc in pkg/controller/service rename service_controller.go to controller.go 2019-10-23 01:52:19 +03:00
Cristian Dima
a18de39166 fix golint errors in pkg/controller/service 2019-10-23 01:52:19 +03:00
Abdullah Gharaibeh
d393804237 separate listers into their own package 2019-10-22 18:11:02 -04:00
Kubernetes Prow Robot
3c0fa84f92
Merge pull request #84075 from yutedz/replica-set-rolling
Extract PodPhase map outside Less func
2019-10-22 10:28:36 -07:00
Kubernetes Prow Robot
4984c6f000
Merge pull request #84049 from jsafrane/block-feature-gate-checks
Add block feature gate checks to PV controller
2019-10-21 21:12:09 -07:00
Ted Yu
7a4b98b896 Extract PodPhase map outside Less func 2019-10-21 14:32:20 -07:00
Clayton Coleman
bd9260711f
deployment: Ignore namespace termination errors when creating replicasets
Instead of reporting an event or displaying an error, simply exit
when the namespace is being terminated. This reduces the amount of
controller churn on namespace shutdown. Unlike other controllers, we
drop the replica set create error very late (in the queue handleErr)
in order to avoid changing the structure of the controller
substantially.
2019-10-20 18:39:01 -04:00
Clayton Coleman
c6e34e58c5
job: Ignore namespace termination errors when creating pods or jobs
Instead of reporting an event or displaying an error, simply exit
when the namespace is being terminated. This reduces the amount of
controller churn on namespace shutdown. While we could technically
exit the entire processing loop early for very large jobs,
we should wait for more evidence that is an issue before changing
that logic substantially.
2019-10-20 18:39:01 -04:00
Clayton Coleman
8f74c8970b
daemonset: Ignore namespace termination errors when creating pods
Instead of reporting an event or displaying an error, simply exit
when the namespace is being terminated. This reduces the amount of
controller churn on namespace shutdown. While we could technically
exit the entire processing loop early for very large daemon sets,
we should wait for more evidence that is an issue before changing
that logic substantially.
2019-10-20 18:39:00 -04:00
Clayton Coleman
2e8ace82eb
replicaset: Ignore namespace termination errors when creating pods
Instead of reporting an event or displaying an error, simply exit
when the namespace is being terminated. This reduces the amount of
controller churn on namespace shutdown. While we could technically
exit the entire processing loop early for very large replica sets,
we should wait for more evidence that is an issue before changing
that logic substantially.
2019-10-20 18:39:00 -04:00
Clayton Coleman
dc0c21c7d7
serviceaccount: If namespace is terminating, ignore create errors
In some scenarios the service account and token controllers can
race with namespace deletion, causing a burst of errors as they
attempt to recreate secrets being deleted.

Instead, detect these errors and do not retry.
2019-10-20 18:39:00 -04:00
Clayton Coleman
937ef77257
endpoints: If namespace is terminating, drop item immediately
Avoid sending an event to the namespace that is being terminated,
since it will be rejected.
2019-10-20 18:38:59 -04:00
walter
6991069e31 Push context up to cloud node controller.
This adds context to the cloud node controller. It continues the propogation started in 59287.  Fixes 815.
Fixed test code calls.
2019-10-20 11:20:49 -07:00
Ted Yu
0d704f1ce2 Traverse OwnerReference maps more efficiently 2019-10-19 17:56:11 -07:00
Kubernetes Prow Robot
aab740ffc2
Merge pull request #82703 from draveness/feature/graduate-taint-nodes-by-condition-to-ga
feat: update taint nodes by condition to GA
2019-10-18 20:01:37 -07:00
draveness
1163a1d51e feat: update taint nodes by condition to GA 2019-10-19 09:17:41 +08:00
Kubernetes Prow Robot
de9a7d863d
Merge pull request #83934 from wccsama/wcc-service-dev
Convert error messages to use event recorder
2019-10-18 12:37:46 -07:00
wccsama
18cf49e3df Convert error messages to use event recorder
remove mix protocol validation
remove check nil
2019-10-18 13:30:00 +08:00
Miciah Masters
980b6406b2 Prefer to delete doubled-up pods of a ReplicaSet
When scaling down a ReplicaSet, delete doubled up replicas first, where a
"doubled up replica" is defined as one that is on the same node as an
active replica belonging to a related ReplicaSet.  ReplicaSets are
considered "related" if they have a common controller (typically a
Deployment).

The intention of this change is to make a rolling update of a Deployment
scale down the old ReplicaSet as it scales up the new ReplicaSet by
deleting pods from the old ReplicaSet that are colocated with ready pods of
the new ReplicaSet.  This change in the behavior of rolling updates can be
combined with pod affinity rules to preserve the locality of a Deployment's
pods over rollout.

A specific scenario that benefits from this change is when a Deployment's
pods are exposed by a Service that has type "LoadBalancer" and external
traffic policy "Local".  In this scenario, the load balancer uses health
checks to determine whether it should forward traffic for the Service to a
particular node.  If the node has no local endpoints for the Service, the
health check will fail for that node.  Eventually, the load balancer will
stop forwarding traffic to that node.  In the meantime, the service proxy
drops traffic for that Service.  Thus, in order to reduce risk of dropping
traffic during a rolling update, it is desirable preserve node locality of
endpoints.

* pkg/controller/controller_utils.go (ActivePodsWithRanks): New type to
sort pods using a given ranking.
* pkg/controller/controller_utils_test.go (TestSortingActivePodsWithRanks):
New test for ActivePodsWithRanks.
* pkg/controller/replicaset/replica_set.go
(getReplicaSetsWithSameController): New method.  Given a ReplicaSet, return
all ReplicaSets that have the same owner.
(manageReplicas): Call getIndirectlyRelatedPods, and pass its result to
getPodsToDelete.
(getIndirectlyRelatedPods): New method.  Given a ReplicaSet, return all
pods that are owned by any ReplicaSet with the same owner.
(getPodsToDelete): Add an argument for related pods.  Use related pods and
the new getPodsRankedByRelatedPodsOnSameNode function to take into account
whether a pod is doubled up when sorting pods for deletion.
(getPodsRankedByRelatedPodsOnSameNode): New function.  Return an
ActivePodsWithRanks value that wraps the given slice of pods and computes
ranks where each pod's rank is equal to the number of active related pods
that are colocated on the same node.
* pkg/controller/replicaset/replica_set_test.go (newReplicaSet): Set
OwnerReferences on the ReplicaSet.
(newPod): Set a unique UID on the pod.
(byName): New type to sort pods by name.
(TestGetReplicaSetsWithSameController): New test for
getReplicaSetsWithSameController.
(TestRelatedPodsLookup): New test for getIndirectlyRelatedPods.
(TestGetPodsToDelete): Augment the "various pod phases and conditions, diff
= len(pods)" test case to ensure that scale-down still selects doubled-up
pods if there are not enough other pods to scale down.  Add a "various pod
phases and conditions, diff = len(pods), relatedPods empty" test case to
verify that getPodsToDelete works even if related pods could not be
determined.  Add a "ready and colocated with another ready pod vs not
colocated, diff < len(pods)" test case to verify that a doubled-up pod gets
preferred for deletion.  Augment the "various pod phases and conditions,
diff < len(pods)" test case to ensure that not-ready pods are preferred
over ready but doubled-up pods.
* pkg/controller/replicaset/BUILD: Regenerate.
* test/e2e/apps/deployment.go
(testRollingUpdateDeploymentWithLocalTrafficLoadBalancer): New end-to-end
test.  Create a deployment with a rolling update strategy and affinity
rules and a load balancer with "Local" external traffic policy, and verify
that set of nodes with local endponts for the service remains unchanged
during rollouts.
(setAffinity): New helper, used by
testRollingUpdateDeploymentWithLocalTrafficLoadBalancer.
* test/e2e/framework/service/jig.go (GetEndpointNodes): Factor building the
set of node names out...
(GetEndpointNodeNames): ...into this new method.
2019-10-17 11:52:32 -04:00
Miciah Masters
865c3c5670 TestGetPodsToDelete: Use field names in test cases
* pkg/controller/replicaset/replica_set_test.go (TestGetPodsToDelete): Use
explicit field names in declarations of test cases.
2019-10-17 11:50:09 -04:00
Jan Safranek
a689697519 Do not bind block PV/PVCs when block feature gate is off 2019-10-17 12:40:22 +02:00
Kubernetes Prow Robot
bdc3f96838
Merge pull request #83989 from wojtek-t/remove_coordination_v1beta1
Swtich nodelifecyclecontroller to coordination/v1
2019-10-17 01:47:29 -07:00
Kubernetes Prow Robot
6a5f0e6eda
Merge pull request #81348 from yastij/code-org-service-controller
move service helpers to k8s.io/cloud-provider
2019-10-17 00:20:38 -07:00
Kubernetes Prow Robot
064458de46
Merge pull request #83951 from zouyee/pdbtomeb
add tombstones handle for pdb
2019-10-16 09:36:36 -07:00
Kubernetes Prow Robot
78abdf5375
Merge pull request #83902 from gongguan/remove_duplicate_code
remove duplicate code
2019-10-16 09:34:22 -07:00
Yassine TIJANI
d796baea27 move service helpers to k8s.io/cloud-provider
Signed-off-by: Yassine TIJANI <ytijani@vmware.com>
2019-10-16 14:12:11 +02:00
wojtekt
cf9203501e Swtich nodelifecyclecontroller to coordination/v1 2019-10-16 10:59:02 +02:00
Kubernetes Prow Robot
112bdfb7c0
Merge pull request #83862 from mrbobbytables/update-controller-network-owners
Prune inactive owners from pkg/controller/* network related OWNERS files
2019-10-15 23:06:49 -07:00
zouyee
65ddf102ef add tombstoones handle for pdb
Signed-off-by: Zou Nengren <zouyee1989@gmail.com>
2019-10-15 22:02:18 +08:00
louisgong
9b7b50c9da remove duplicate function 2019-10-15 09:41:30 +08:00
Krzysztof Siedlecki
b1dfa83be6 using pod pointers in node lifecycle controller 2019-10-14 12:44:43 +02:00
Bob Killen
e37d702208
Prune inactive owners from autoscaling related OWNERS files. 2019-10-13 08:52:14 -04:00
Bob Killen
30053bb00f
Prune inactive owners from pkg/controller/* network related OWNERS files. 2019-10-13 08:50:18 -04:00
zouyee
a864fd2100 fix unsafe JSON construction
Signed-off-by: Zou Nengren <zouyee1989@gmail.com>
2019-10-10 09:44:54 +08:00
Kubernetes Prow Robot
a5dc1fffb0
Merge pull request #83543 from yutedz/attach-resync-comment
Remove stale comment about resyncPeriod
2019-10-09 13:17:50 -07:00
Kubernetes Prow Robot
4b002b3baa
Merge pull request #82123 from xiaoanyunfei/cleanup/take-effect-stateofworld-hashmap
replace iteration with hashmap in *state_of_world
2019-10-09 02:17:50 -07:00
Kubernetes Prow Robot
ac9390627e
Merge pull request #83536 from yutedz/del-volume-err
Log the error return from store.Delete
2019-10-08 19:59:50 -07:00
Kubernetes Prow Robot
72d052a444
Merge pull request #81797 from yastij/move-metrics-util
move util/metrics to component-base
2019-10-08 17:08:05 -07:00
Kubernetes Prow Robot
b00f009316
Merge pull request #82996 from tnqn/endpointslice-deletion
Fix EndpointSliceController service deletion processing
2019-10-08 15:42:27 -07:00
Kubernetes Prow Robot
b4489d1709
Merge pull request #82865 from tnqn/endpointslice
Fix wrong comments and inaccurate logs in endpointslice_controller
2019-10-08 15:42:16 -07:00
Yassine TIJANI
c1487840bc move util/metrics to component-base
Signed-off-by: Yassine TIJANI <ytijani@vmware.com>
2019-10-08 14:42:31 +02:00
Ted Yu
f0a6aa1e9b Log error from AddIndexers in NewAttachDetachController 2019-10-07 16:15:25 -07:00
Kubernetes Prow Robot
9f875de5d2
Merge pull request #83540 from cofyc/fix83343
Fix volume scheduling error handling
2019-10-07 01:53:09 -07:00
Kubernetes Prow Robot
48b90db9c3
Merge pull request #83495 from tanjunchen/fix-typo
remove the repeat word in documents
2019-10-06 15:05:08 -07:00
tanjunchen
de3cf23414 remove the repeat word in documents 2019-10-06 23:32:01 +08:00
Ted Yu
b81242b62e Remove stale comment about resyncPeriod 2019-10-06 05:02:07 -07:00
Yecheng Fu
b5889ee82c update internal error message 2019-10-06 14:37:31 +08:00
Ted Yu
56717a79ff Log the error return from store.Delete 2019-10-05 19:34:39 -07:00
Kubernetes Prow Robot
e0f651a0be
Merge pull request #83501 from yastij/remove-node-cond-dep
remove Get/Set node condition dependency for the ccm controllers
2019-10-04 16:31:26 -07:00
Kubernetes Prow Robot
74dc287490
Merge pull request #83420 from yutedz/sched-assume-cache
Check the return value from store.Update
2019-10-04 10:22:18 -07:00
Kubernetes Prow Robot
7fab683455
Merge pull request #83343 from yutedz/bind-vol-err
Return proper error message when BindPodVolumes fails
2019-10-04 08:50:30 -07:00
Yassine TIJANI
356e3d0d61 remove Get/Set node condition dependency for the ccm controllers
Signed-off-by: Yassine TIJANI <ytijani@vmware.com>
2019-10-04 16:52:36 +02:00
Ted Yu
94d4bf1287 Return proper error message when BindPodVolumes fails 2019-10-04 04:36:48 -07:00
shivi28
a0109f00df nodeipam-controller:fix static check failures 2019-10-04 12:40:09 +05:30
Ted Yu
c264338741 Check the return value from store.Update 2019-10-02 12:02:13 -07:00
Kubernetes Prow Robot
bd89dc462c
Merge pull request #83320 from krzysied/node_controller_delete_pods
Adding pods to DeletePods and MarkPodsReady methods parameters
2019-10-02 09:03:08 -07:00
Krzysztof Siedlecki
a07a3a6878 adding pods to MarkPodsNotReady parameters 2019-10-02 14:22:58 +02:00
Krzysztof Siedlecki
8f48896709 adding pods to DeletePods parameters 2019-10-02 13:11:23 +02:00
mengyang02
b116585b22 remove redundant quota.V1Equals 2019-10-02 01:02:09 +08:00
Kubernetes Prow Robot
c5440829d5
Merge pull request #83248 from krzysied/node_controller_test
Adding fakeGetPodsAssignedToNode to node lifecycle controller tests
2019-09-30 03:19:38 -07:00
Krzysztof Siedlecki
99eeab35a3 adding fakeGetPodsAssignedToNode 2019-09-30 11:03:36 +02:00
Kubernetes Prow Robot
14e5adfc85
Merge pull request #82683 from davidz627/fix/translationStruct
Refactor CSI Translation Library into a struct that is injected into various components to simplify unit testing
2019-09-29 10:11:37 -07:00
Kubernetes Prow Robot
74d2822662
Merge pull request #72535 from tallclair/content-type
Always set content-type & nosniff
2019-09-27 18:43:39 -07:00
David Zhu
92cb06a2e7 Refactor CSI Translation Library into a struct that is injected into various components to simplify unit testing in future 2019-09-27 12:59:53 -07:00
chenyaqi01
66be69bb0e replace bytes.Compare() with bytes.Equal() 2019-09-27 10:08:49 +08:00
Kubernetes Prow Robot
67d750bb28
Merge pull request #81916 from hwdef/fix-typo-pkg
fix typo in pkg
2019-09-26 08:35:24 -07:00
Kubernetes Prow Robot
d8a420c0d8
Merge pull request #82884 from krzysied/node_controller_cleanup3
NodeLifecycleContorller - eviction processing refactor
2019-09-26 04:03:08 -07:00
Kubernetes Prow Robot
37c3a4da97
Merge pull request #82855 from yutedz/alpha-node-role
Defer the removal of labelAlphaNodeRoleExcludeBalancer to 1.18
2019-09-25 23:59:19 -07:00
Kubernetes Prow Robot
4096a36bfd
Merge pull request #83079 from robscott/endpointslice-owners
Adding owners for EndpointSlice controller
2019-09-25 13:52:13 -07:00
Kubernetes Prow Robot
6555c34743
Merge pull request #83022 from mm4tt/controller_ref
Optimize GetControllerOf method and add a benchmark for it
2019-09-25 13:51:14 -07:00
Matt Matejczyk
01ccd2e19e Optimize GetControllerOf method
In addition create a similar method that doesn't copy objects.

Benchmark for the new no-copy method vs the old one:
```
benchmark                       old ns/op     new ns/op     delta
BenchmarkGetControllerOf-12     214           14.8          -93.08%

benchmark                       old allocs     new allocs     delta
BenchmarkGetControllerOf-12     1              0              -100.00%

benchmark                       old bytes     new bytes     delta
BenchmarkGetControllerOf-12     80            0             -100.00%
```

Benchamrk for the new (copy) method vs the old one:
```
benchmark                       old ns/op     new ns/op     delta
BenchmarkGetControllerOf-12     128           114           -10.94%

benchmark                       old allocs     new allocs     delta
BenchmarkGetControllerOf-12     1              1              +0.00%

benchmark                       old bytes     new bytes     delta
BenchmarkGetControllerOf-12     80            80            +0.00%

```

Overall there is a 10% improvement for the old vs new (copy) method and
huge improvent (x10) for the old vs new (no-copy).

I changed the IsControlledBy and a few other methods to use the new (no-copy) method.
2019-09-25 15:07:37 +02:00
Rob Scott
30d0eca19f
Adding owners for EndpointSlice controller 2019-09-24 11:45:15 -07:00
David Eads
4b44a9f067 make namespace-lifecycle controller more responsive 2019-09-23 13:22:51 -04:00
Quan Tian
db6bbf2375 Fix EndpointSliceController service deletion processing
syncService shouldn't return error if the service doesn't exist which
means it's triggered by service deletion, otherwise the service would be
enqueued repeatedly even its cleanup has been executed successfully.

This patch makes syncService return nil if the error is NotFound when
getting the service, like the other controllers do.
2019-09-22 10:01:29 -07:00
qingsenLi
d3a0c149a3 Remove some unused codes in stateful_set_utils.go 2019-09-21 22:24:48 +08:00
Kubernetes Prow Robot
658e57a157
Merge pull request #82797 from yutedz/rel-cidr-wrong-err
Correct the error variable for releasing CIDR
2019-09-20 14:13:26 -07:00
Kubernetes Prow Robot
259d6bf608
Merge pull request #82189 from deads2k/ns-resources
add conditions for remaining object totals during ns termination
2019-09-20 01:33:00 -07:00
Kubernetes Prow Robot
5f249fecb4
Merge pull request #82363 from yuxiaobo96/k8s-update3
update spelling mistakes
2019-09-20 00:08:59 -07:00
Kubernetes Prow Robot
db1f8da036
Merge pull request #82848 from yutedz/node-ctrl-hostname
Break out of loop when NodeHostName is found
2019-09-19 18:01:13 -07:00
Kubernetes Prow Robot
73505056fb
Merge pull request #82887 from yutedz/token-cleaner-type
[v1.16.1] TokenCleaner#evalSecret should enqueue the key
2019-09-19 14:21:20 -07:00
Kubernetes Prow Robot
94987143c6
Merge pull request #82882 from liggitt/cleanup-finalizer-delete
Clean up redundant post-finalizer deletions
2019-09-19 12:50:33 -07:00
Ted Yu
fd8f2bd91f Defer the removal of labelAlphaNodeRoleExcludeBalancer to 1.18 2019-09-19 12:06:55 -07:00
Kubernetes Prow Robot
d05183be41
Merge pull request #82858 from hwdef/del-unused-var
delete unused var
2019-09-19 11:05:49 -07:00
Kubernetes Prow Robot
11ce7da888
Merge pull request #82740 from hwdef/del-unuse-var1
del unuse var in pkg/controller
2019-09-19 11:05:15 -07:00
Ted Yu
1269b9e474 TokenCleaner#evalSecret should enqueue the key 2019-09-19 10:34:59 -07:00
Krzysztof Siedlecki
2f3e8463ef eviction processing refactor 2019-09-19 17:15:32 +02:00
Jordan Liggitt
000fffd3c7 Clean up redundant post-finalizer deletions 2019-09-19 10:35:58 -04:00
hwdef
4e7ef9ad36 delete unused var 2019-09-19 18:04:13 +08:00
Quan Tian
c35fd33f42 Fix wrong comments and inaccurate logs in endpointslice_controller 2019-09-19 15:02:02 +08:00
Ted Yu
68d8a5ae15 Break out of loop when NodeHostName is found 2019-09-18 16:57:39 -07:00
Shintaro Murakami
ad333ac421 Return error when failed to get storage class 2019-09-18 15:59:34 +09:00
Ted Yu
669dc0a9fd Correct the error variable for releasing CIDR 2019-09-17 09:58:08 -07:00
Kubernetes Prow Robot
2183a84feb
Merge pull request #82356 from m3ngyang/opt-podgc
optimize gc_controller.gcTerminated
2019-09-16 09:58:38 -07:00
mengyang02
b5f44d5aab optimize gc_controller.gcTerminated 2019-09-16 16:34:08 +08:00
hwdef
851eac6a97 del unuse var in pkg/controller 2019-09-16 15:05:24 +08:00
Kubernetes Prow Robot
7f084f07c3
Merge pull request #82626 from RainbowMango/pr_migrate_prom_bucket_for_volume
Migrate prometheus bucket functionality to kube-metrics for volume
2019-09-13 10:42:44 -07:00
Kubernetes Prow Robot
06609b77e8
Merge pull request #82489 from krzysied/node_controller_lock_map
Adding lock to node data map
2019-09-12 02:46:27 -07:00
Krzysztof Siedlecki
029b72b553 adding lock to node data map 2019-09-12 10:23:24 +02:00
RainbowMango
6bb1229f4b Update bazel by hack/update-bazel.sh 2019-09-12 16:05:21 +08:00
RainbowMango
d6fdac8c56 Migrate prometheus bucket functionality to kube-metrics. 2019-09-12 16:02:53 +08:00
Kubernetes Prow Robot
632e02768a
Merge pull request #82411 from josephburnett/patch-1
Fix reviewer typo.
2019-09-11 15:27:38 -07:00
Kubernetes Prow Robot
61b30b062e
Merge pull request #82329 from m3ngyang/node-ctrl-check
don't start the cloud node controller if cloudprovider.Instances is not supported
2019-09-11 15:26:08 -07:00
Kubernetes Prow Robot
1146e0c4ad
Merge pull request #82279 from deads2k/which-cert
add identification for particular certificate controllers
2019-09-11 15:25:00 -07:00
Tim Allclair
ef6cba0b36 Always set content-type & nosniff 2019-09-11 15:01:43 -07:00
Kubernetes Prow Robot
001f2cd2b5
Merge pull request #82255 from cofyc/avoid-import-cycle
volume scheduling: move metrics to a separate package to avoid import cycle
2019-09-11 10:43:20 -07:00
Tomas Nozicka
55843fc298 Add unit test for RS to correctly handle expectations on recreate 2019-09-11 16:58:29 +02:00
mengyang02
b4638519a9 init check for cloud node controller 2019-09-07 10:47:11 +08:00
David Eads
95ae353f3a squash: reaction to comments 2019-09-06 09:58:41 -04:00
David Eads
0355f4482b add conditions for remaining object totals during ns termination 2019-09-06 09:50:41 -04:00
Joseph Burnett
7bdb66f8d1
Fix reviewer typo. 2019-09-06 12:09:50 +02:00
Kubernetes Prow Robot
208cfaad25
Merge pull request #82288 from deads2k/ns-conditions
fix namespace termination conditions to be consistent and correct
2019-09-05 13:01:11 -07:00
Kubernetes Prow Robot
61ecdba9ca
Merge pull request #82289 from robscott/endpointslice-fixes
Fixing bugs related to Endpoint Slices
2019-09-05 09:03:10 -07:00
yuxiaobo
f6ce8f5789 update spelling mistakes 2019-09-05 17:59:36 +08:00
Rob Scott
8f9483d827
Fixing bugs related to Endpoint Slices
This should fix a bug that could break masters when the EndpointSlice
feature gate was enabled. This was all tied to how the apiserver creates
and manages it's own services and endpoints (or in this case endpoint
slices). Consumers of endpoint slices also need to know about the
corresponding service. Previously we were trying to set an owner
reference here for this purpose, but that came with potential downsides
and increased complexity. This commit changes behavior of the apiserver
endpointslice integration to set the service name label instead of owner
references, and simplifies consumer logic to reference that (both are
set by the EndpointSlice controller).

Additionally, this should fix a bug with the EndpointSlice GenerateName
value that had previously been set with a "." as a suffix.
2019-09-04 09:09:32 -07:00
Jonathan Basseri
c8d937c5f1 Add unit test for DisruptionController retry logic
This tests the PDB status update path in DisruptionController and
asserts that conflicting writes (with eviciton handler) are handled
gracefully.

This adds the client-go fake.Clientset into our tests, because that is
the layer required for injecting update failures.

This also adds a TestMain so that DisruptionController logs can be
enabled during test. e.g.,

    go test ./pkg/controller/disruption -v -args -v=4
2019-09-03 16:52:45 -07:00
Kubernetes Prow Robot
cedffee93e
Merge pull request #82239 from sttts/sttts-persistentvolume-controller-data-race
persistentvolume-controller: fix data race of non-deepcopied objects in fake client
2019-09-03 14:35:12 -07:00
David Eads
076bf949d7 fix namespace termination conditions to be consistent and correct 2019-09-03 15:33:17 -04:00
David Eads
e8b5781499 add identification for particular certificate controllers 2019-09-03 14:05:04 -04:00
Yecheng Fu
8a7607a308 volume scheduling: move metrics code into a separate pkg 2019-09-03 14:38:26 +08:00
Dr. Stefan Schimanski
7816ad7991 persistentvolume-controller: fix data race of non-deepcopied objects in fake client 2019-09-02 15:23:55 +02:00
Jonathan Basseri
8835f6bb00 Fix retry logic in DisruptionController
This changes the retry logic in DisruptionController so that it
reconciles update conflicts. In the old behavior, any pdb status update
failure was retried with the same status, regardless of error.

Now there is no retry logic with the status update. The error is passed
up the stack where the PDB can be requeued for processing.

If the PDB status update error is a conflict error, there are some new
special cases:
- failSafe is not triggered, since this is considered a retryable error
- the PDB is requeued immediately (ignoring the rate limiter) because we
  assume that conflict can be resolved by getting the latest version
2019-08-30 16:02:09 -07:00
Kubernetes Prow Robot
efaacf786a
Merge pull request #73405 from wozniakjan/namespace_status_conditions
Add namespace status conditions
2019-08-29 15:34:58 -07:00
Kubernetes Prow Robot
e6b6e4038c
Merge pull request #81601 from yastij/remove-keyfun
use DeletionHandlingMetaNamespaceKeyFunc from client-go in service_controller
2019-08-29 09:30:09 -07:00
Kubernetes Prow Robot
d6bc4eb853
Merge pull request #81624 from logicalhan/cm-migration
migrate controller-manager metrics to stability framework
2019-08-29 05:30:09 -07:00
Jan Wozniak
b0459feb7d Update generated files
make generated_files UPDATE_API_KNOWN_VIOLATIONS=true
./hack/update-generated-protobuf.sh
./hack/update-openapi-spec.sh
./hack/update-bazel.sh
./hack/update-generated-swagger-docs.sh
./hack/update-generated-api-compatibility-data.sh
2019-08-29 13:26:13 +02:00
sunxiaofei03
45d41ed9e5 replace iteration with hashmap in *state_of_world 2019-08-29 19:22:25 +08:00
Jan Wozniak
035e648fd7 Add tests for namespace status conditions 2019-08-29 13:21:15 +02:00
Jan Wozniak
94a5e8c3dc Add status conditions to namespaces 2019-08-29 13:21:15 +02:00
Yassine TIJANI
3fe7a57000 use directly DeletionHandlingMetaNamespaceKeyFunc from client-go
Signed-off-by: Yassine TIJANI <ytijani@vmware.com>
2019-08-29 11:51:14 +01:00
Rob Scott
75f6c24923
Adding EndpointSlice controller 2019-08-28 21:13:27 -07:00
Kubernetes Prow Robot
550fb1bfc3
Merge pull request #79386 from khenidak/phase2-dualstack
Phase 2 dualstack
2019-08-28 20:39:56 -07:00
Kubernetes Prow Robot
af54eae69a
Merge pull request #81612 from rikatz/issue81060
Remove watching Endpoints of Headless Services
2019-08-28 14:44:25 -07:00
Han Kang
59db3ac27e migrate controller-manager metrics to stability framework 2019-08-28 12:26:57 -07:00
Kubernetes Prow Robot
92a320aeb6
Merge pull request #80238 from smarterclayton/disable_node_role
Clarify use of node-role labels within Kubernetes
2019-08-28 12:01:27 -07:00
Khaled Henidak(Kal)
c27e0b029d phase 2: generated items 2019-08-28 16:11:46 +00:00
Khaled Henidak(Kal)
313a5c5734 phase 2: ipam filter secondary service cidr 2019-08-28 15:59:43 +00:00
Khaled Henidak(Kal)
93c06821e6 Phase 2: service and endpoint processing 2019-08-28 15:59:43 +00:00
Kubernetes Prow Robot
a927ed454c
Merge pull request #81576 from logicalhan/scheduler-migration
migrate scheduler metrics to stability framework
2019-08-28 08:55:12 -07:00
Clayton Coleman
a49a554211
Move the IsMasterNode function to tests and mark it Deprecated
A future change will stop using this signal and instead use a
label selector passed on creation.
2019-08-28 11:17:27 -04:00
Clayton Coleman
2888e6e923
Node lifecycle controller should use a label for excluding nodes
The current mechanism for excluding "master" nodes based on node names
is fragile and should be fixed by using a label exclusion similar to
service load balancers. The legacy code path is preserved behind a
defaulted-on gate and will be removed in the future.
2019-08-28 10:29:08 -04:00
Clayton Coleman
0f49d892d5
Service controller should begin moving away from node-role labels
The service load balancer controller should honor the
LegacyNodeRoleBehavior feature gate for checks that use node-roles,
switch to using a non alpha annotation behind the gate, and prepare
to graduate to beta.
2019-08-28 10:29:08 -04:00
Kubernetes Prow Robot
bdfc8f62b4
Merge pull request #81949 from yastij/remove-ftg-name-dep
remove dependency to pkg/features on service controller package
2019-08-28 05:12:15 -07:00
Han Kang
8da448dbe3 migrate scheduler metrics endpoint to metrics stability framework 2019-08-28 03:40:43 -07:00
Kubernetes Prow Robot
ab13cf1055
Merge pull request #81691 from MrHohn/svc-finalizer-beta
Promote service load balancer finalizer to Beta
2019-08-27 19:37:48 -07:00
Yassine TIJANI
19fa57bca3 remove dependency to pkg/features on service controller package
Signed-off-by: Yassine TIJANI <ytijani@vmware.com>
2019-08-27 18:00:10 +01:00
Kubernetes Prow Robot
4e83be80b1
Merge pull request #81844 from yastij/remove-slice-dep
remove slice dependency from service_controller
2019-08-27 09:25:24 -07:00
Yassine TIJANI
6ad40ba51f remove slice dependency
Signed-off-by: Yassine TIJANI <ytijani@vmware.com>
2019-08-27 11:26:06 +01:00
Kubernetes Prow Robot
927f45191e
Merge pull request #81527 from yastij/move-controller-util
move WaitForCacheSync to the sharedInformer package
2019-08-27 00:52:54 -07:00
hwdef
9b3f577b1d fix typo in pkg 2019-08-26 09:25:39 +08:00
Kubernetes Prow Robot
9ae0963fb7
Merge pull request #81839 from krzysied/node_controller_pod_informer
Moving podInformer to node controller scope
2019-08-23 15:48:53 -07:00
Krzysztof Siedlecki
07b039862b moving podInformer to node controller scope 2019-08-23 15:59:59 +02:00
Kubernetes Prow Robot
9c69a45b52
Merge pull request #81808 from dims/drop-azure-go-autorest-from-pkg/controller
Drop Azure/go-autorest from pkg/controller
2019-08-23 06:54:02 -07:00
Kubernetes Prow Robot
e232921c1f
Merge pull request #80353 from BenTheElder/tags
simulate in-tree cloud provider removal with a build tag
2019-08-23 04:55:31 -07:00
Kubernetes Prow Robot
b8f4f27eda
Merge pull request #81680 from sadlil/sadlil/fix-static-check-volume-controller
volume-controller: fix static check failures
2019-08-22 22:03:44 -07:00
Benjamin Elder
5a3301a59d s/nolegacyproviders/providerless/ 2019-08-22 15:30:56 -07:00
Benjamin Elder
ece112524b hack/update-bazel.sh 2019-08-22 14:53:35 -07:00
Benjamin Elder
678d3f2841 add build tags to legacy provider code and make it possible to build kube-controller-manager without any legacyproviders or without particular legacy providers 2019-08-22 14:53:35 -07:00
Davanum Srinivas
4e4c38bbbe
Drop Azure/go-autorest from pkg/controller 2019-08-22 17:34:50 -04:00
Yassine TIJANI
7e4c3096fe move WaitForCacheSync to the sharedInformer package
Signed-off-by: Yassine TIJANI <ytijani@vmware.com>
2019-08-22 16:13:41 +01:00
Zihong Zheng
0a7c085b14 Check service finalizer on upgrade test and fix-up test cases 2019-08-21 15:19:56 -07:00
Ricardo Pchevuzinske Katz
e389237171 Remove watching Endpoints of Headless Services
Signed-off-by: Ricardo Pchevuzinske Katz <ricardo.katz@serpro.gov.br>
2019-08-21 16:37:09 -03:00
Krzysztof Siedlecki
6842e11f7e removing redundant code 2019-08-21 17:22:06 +02:00
Sadlil Rhythom
7a8eaf4561 controller:volume fix static check failures 2019-08-21 09:37:42 +02:00
Kubernetes Prow Robot
d987e6353e
Merge pull request #81019 from josephburnett/hparunawaytest-review
Test more replicas than spec.
2019-08-20 00:15:47 -07:00
Kubernetes Prow Robot
60ca3c8a57
Merge pull request #80585 from gongguan/check_svcCIDR_contains_clusterCIDR
check whether serviceCIDR contains clusterCIDR during ipam initialization
2019-08-17 12:08:06 -07:00
louisssgong
3a58cdd1c1 check clusterCIDR after occupy serviceCIDR 2019-08-17 09:47:34 +08:00
Kubernetes Prow Robot
7420bb2214
Merge pull request #80492 from matte21/pvc-protection-controller-fix-issue-75980
Add live list of pods to PVC protection controller to make sure it does not delete a PVC which is being used by a Pod
2019-08-16 05:06:44 -07:00
Kubernetes Prow Robot
22dc60e1a7
Merge pull request #81444 from AllenZMC/patch-3
fix some typos in testing.go and recycle_test.go
2019-08-15 23:08:59 -07:00
Kubernetes Prow Robot
273e9262bb
Merge pull request #80342 from draveness/feature/remove-critical-pod-annotation
feat: cleanup pod critical pod annotations feature
2019-08-15 07:20:34 -07:00
czm
cdcf1c0ea2 fix some typos in recycle_test.go 2019-08-15 11:34:46 +08:00
Kubernetes Prow Robot
e552806753
Merge pull request #81361 from oxddr/kubeproxy-moar-logging
kube-proxy: do not export network programming latency for deleted Endpoints
2019-08-14 16:52:49 -07:00
matte21
1371490bd6 Lowercase first letter of chainable errors in PVC protection controller
Lowercase first letter of error messages that are not printed right
away to ease chaining with other error messages in PVC protection
controller.
2019-08-15 00:46:02 +02:00
matte21
791d1c81f0 Add live list of pods to PVC protection controller
Add live list of pods to PVC protection controller, as opposed to doing
only a cache-based list through the Informer. Both lists are performed
while processing a PVC with deletionTimestamp set to check whether Pods
using the PVC exist and remove the finalizer to enable deletion of the
PVC if that's not the case. Prior to this commit only the cache-based
list was done but that's unreliable because a pod using the PVC might
exist but not be in the cache just yet. On the other hand, the live
list is 100% reliable.

Note that it would be enough to do only the live list. Instead, this
commit adds it after the cache-based list and performs it only if the
latter finds no Pod blocking deletion of the PVC being processed. The
rationale is that live lists are expensive and it's desirable to
minimize them. The drawback is that if at the time of the cache-based
list the cache has not been notified yet of the deletion of a Pod using
the PVC the PVC is kept. Correctness is not compromised because the
finalizer will be removed when the Pod deletion notification is
received, but this means PVC deletion is delayed. Reducing live lists
was valued more than deleting PVCs slightly faster.

Also, add a unit test that fails without the change introduced by this
commit and revamp old unit tests. The latter is needed because expected
behavior is described in terms of API calls the controller makes, and
this commit introduces new API calls (the live lists).
2019-08-15 00:46:02 +02:00
AllenZMC
d266b79a39
fix some typos in testing.go 2019-08-14 20:53:24 +08:00
Janek Łukaszewicz
e52110edcd kube-proxy: do not export network programming latency for deleted enpoints. 2019-08-14 14:00:07 +02:00
Kubernetes Prow Robot
2e72cdd7b1
Merge pull request #81081 from p0lyn0mial/gc_transition_delete
changes the way `gc` detect that an object needs to be deleted
2019-08-13 02:28:33 -07:00
Lukasz Szaszkiewicz
2d81cee900 changes the way gc detect that an object needs to be deleted
before this change, an object would be added to `attemptToDelete` queue only if `gc` detected the transition, simply by check if `deletionTimestamp` was set. After the change, it will check if `foregroundDeletion` finalizer has been set before adding the item to the queue.
2019-08-12 10:52:43 +02:00
Travis Rhoden
4574473753
Rename mount.NewOsExec to mount.NewOSExec 2019-08-09 12:30:56 -06:00
draveness
495faa22db feat: cleanup pod critical pod annotations feature 2019-08-09 08:41:23 +08:00
Kubernetes Prow Robot
ef8869466c
Merge pull request #80978 from wojtek-t/selflink_deprecation
Deprecate SelfLink and introduce feature gate to disable its propagation
2019-08-08 03:47:20 -07:00
wojtekt
399d09ce4a Fix GetReference function 2019-08-07 16:49:29 +02:00
Joseph Burnett
a5354d04bb Test more replicas than spec.
During a Deployment update there may be more Pods in the scale target
ref status than in the spec. This test verifies that we do not scale
to the status value. Instead we should stay at the spec value.

Fails before #79035 and passes after.
2019-08-06 14:46:34 +02:00
Kubernetes Prow Robot
f2cfc160ef
Merge pull request #80273 from tallclair/endpoints
Don't delete service endpoints when a generic error occurs
2019-08-05 18:17:54 -07:00
Kubernetes Prow Robot
decdf8891f
Merge pull request #80460 from mrkm4ntr/pvc-class-name
Use v1helper.GetPersistentVolumeClaimClass for compatibility
2019-08-05 15:08:30 -07:00
Kubernetes Prow Robot
9e735d6b27
Merge pull request #79443 from tedyu/taint-mgr-name
Simplify checking in getMinTolerationTime
2019-08-05 15:08:03 -07:00
Ted Yu
c811b2267f Simplify checking in getMinTolerationTime 2019-08-05 10:45:05 -07:00
Kubernetes Prow Robot
d9a411df6b
Merge pull request #80660 from prameshj/ilb-err
Handle NotImplemented error in service_controller.
2019-08-02 22:39:51 -07:00
Pavithra Ramesh
ecad65a3f8 Added comment after invoking ensureLoadBalancer 2019-08-02 11:24:24 -07:00
Pavithra Ramesh
da887e85e9 Updated comment about ImplementedElsewhere
Removed handling ImplementedElsewhere error in call to EnsureLoadBalancerDeleted.
2019-08-02 10:54:09 -07:00
Pavithra Ramesh
987677c201 Setting log level to 4 since default is 2 or 3.
Depending on how the cluster is created. Test clusters set a default
level of 4.
2019-08-02 10:54:09 -07:00
Pavithra Ramesh
dbfc876e83 Fixed review comments, lint.
Added error check to EnsureLoadBalancerDeleted.
2019-08-02 10:54:09 -07:00
Pavithra Ramesh
d4210b94e2 addressed review comments 2019-08-02 10:54:09 -07:00
Pavithra Ramesh
d79d4e8525 Handle ImplementedElsewhere error in service_controller
This is used when the cloudprovider layer is not implementing loadBalancer service.
Implementation will be in a different controller running on master.
2019-08-02 10:54:09 -07:00
Kubernetes Prow Robot
c981c65c90
Merge pull request #80231 from liggitt/admissionreview-v1
Promote admissionreview to v1
2019-08-01 17:20:05 -07:00
Kubernetes Prow Robot
3287bf7a3a
Merge pull request #80859 from wojtek-t/fix_selflinks_in_tests
Fix selflinks in tests
2019-08-01 15:01:30 -07:00
Jordan Liggitt
44930fc939 AdmissionReview: Install/register 2019-08-01 17:17:42 -04:00
Kubernetes Prow Robot
b658028078
Merge pull request #77713 from zjj2wry/secret_resync_duration
add secret back to the workqueue with delay time, avoid expired bootstrap tokens not being deleted
2019-08-01 09:46:29 -07:00
wojtekt
bc00248e71 Fix selflinks in tests 2019-08-01 15:50:03 +02:00
YueHonghui
d29f194474 add flag concurrent-statefulset-syncs to kube-controller-manager (#79169)
* add flag `concurrent-statefulset-syncs` to set number of concurrent workers for statefulset controller

* change default value of ConcurrentStatefulSetSyncs from 1 to 5

* 1. fix doc comment of statefulset config types.go
2. add missing deps k8s.io/kubernetes/pkg/controller/statefulset/config

* add missing dep k8s.io/kubernetes/pkg/controller/statefulset/config/v1alpha1

* updated bazel BUILD files

* update kube-controller-manager options testcase

* fix codegen

* fix golint error

* fix testcase
2019-07-31 22:36:14 -07:00
zhengjiajin
5c1815abb7 add secret back to the workqueue with delay time, avoid expired bootstrap tokens not being deleted 2019-08-01 10:44:31 +08:00
Tim Allclair
8fc988e7dd Unit test endpoints controller service deletion 2019-07-31 16:10:09 -07:00
Tim Allclair
b2a02140db Don't delete service endpoints when a generic error occurs 2019-07-31 15:10:14 -07:00
Shintaro Murakami
4635f16dc1 Add missing error check 2019-07-29 14:37:48 +09:00
RainbowMango
0e0e1f7dab 1. Fix lint errors for the whole directory staging/src/k8s.io/client-go/tools/cache;
2. Remove staging/src/k8s.io/client-go/tools/cache from .golint_failures;
3. Fix some typo from comments.
2019-07-27 15:49:03 +08:00
Kubernetes Prow Robot
44de947f0f
Merge pull request #80509 from mborsz/endpoints
Add simple pod updates batching to endpoint controller.
2019-07-26 20:16:36 -07:00
Kubernetes Prow Robot
6f8944aa54
Merge pull request #79696 from yittg/fix-pv-controller-affinity
fix pv-controller sync check node affinity for scheduled claim
2019-07-26 20:15:58 -07:00
Kubernetes Prow Robot
368ee4bb8e
Merge pull request #79068 from tedyu/dc-skipped-pods
Remove unnecessary loop for lowering expectations
2019-07-26 14:01:59 -07:00
Kubernetes Prow Robot
d5d6061c8e
Merge pull request #80476 from matte21/fix-pvcs-leaks
PVC protection controller: fix PVC leaks
2019-07-26 05:31:59 -07:00
matte21
b4fed83a4a PVC protection controller: get rid of PVC leaks
Make the PVC protection controller robust to cases where a Pod X is deleted,
then a Pod Y with the same namespaced name is created and the two events are
delivered via a single update notification. Both pods should be processed,
because X might be blocking deletion of a PVC which is not referenced by Y.
Prior to this commit only the newer pod is processed, which means that it
is possible to leak PVCs.

Also, add unit tests to reflect the change.
2019-07-26 11:17:17 +02:00
Yi Tang
8c13f9dea3 fix pv controller not find pv for pvc provisioning 2019-07-26 16:24:30 +08:00
Kubernetes Prow Robot
bf2dd03083
Merge pull request #80318 from davidxia/fix-err-caps
cleanup: fix some log and error capitalizations
2019-07-25 10:41:28 -07:00
AllenZMC
852040c036
fix typos in pv_controller.go
make code kinda more readable
2019-07-25 11:28:19 +08:00
Maciej Borsz
d96f24262d Autogenerated files 2019-07-24 11:36:53 +02:00
Maciej Borsz
2fae3cbcfe Add simple batching to endpoints controller 2019-07-24 11:36:53 +02:00
Kubernetes Prow Robot
bbdd0557b6
Merge pull request #78170 from DaiHao/daemon
ignore failed pods to not block rolling update daemonset
2019-07-23 21:36:14 -07:00
Shintaro Murakami
c94e800008 Use v1helper.GetPersistentVolumeClaimClass for compatibility 2019-07-24 10:35:00 +09:00
David Xia
fabfd950b1
cleanup: fix some log and error capitalizations
Part of https://github.com/kubernetes/kubernetes/issues/15863
2019-07-20 18:26:16 -04:00
Kubernetes Prow Robot
664edf8327
Merge pull request #79408 from seans3/move-kubectl-scheme
Move kubectl scheme
2019-07-19 16:08:55 -07:00
Kubernetes Prow Robot
49f6510d9a
Merge pull request #80277 from draveness/feature/revert-cleanup-critical-pod
Revert "feat: cleanup pod critical pod annotations feature"
2019-07-18 19:31:37 -07:00
Sean Sullivan
67140f13fe Updated dependencies: BUILD/modules.txt 2019-07-18 15:43:26 -07:00
Sean Sullivan
140c62cd4c Update all imports to scheme in staging 2019-07-18 15:32:27 -07:00
Kubernetes Prow Robot
8d4c49faae
Merge pull request #80088 from ZP-AlwaysWin/dev01
Fix golint failure in pkg/controller/volume/expand
2019-07-18 09:52:12 -07:00
draveness
d83526d253 Revert "feat: cleanup pod critical pod annotations feature"
This reverts commit b6d41ee5cc.
2019-07-18 13:31:12 +08:00
Kubernetes Prow Robot
91e17af5ff
Merge pull request #80263 from tedyu/job-ctrl-early
Skip unnecessary operations if diff is <= 0
2019-07-17 21:28:48 -07:00
Kubernetes Prow Robot
c23a031bb4
Merge pull request #79060 from tedyu/dc-check-err
Check error return from MetaNamespaceKeyFunc
2019-07-17 19:34:10 -07:00
Ted Yu
898f099346 Skip unnecessary operations if diff is less than 0 2019-07-17 14:03:08 -07:00
Kubernetes Prow Robot
601b7935ff
Merge pull request #79971 from mrkm4ntr/fix-pv-existence-check
Add check to reduce orphaned volume
2019-07-17 12:20:12 -07:00
Ted Yu
c429b7d3e4 Handle error return from MetaNamespaceKeyFunc 2019-07-17 10:52:23 -07:00
ZP-AlwaysWin
1573be94ae fix pkg/controller/volume/expand/pvc_populator.go 2019-07-17 09:00:24 +08:00
Kubernetes Prow Robot
5ece88c4c8
Merge pull request #74526 from DXist/feature/hpa-scale-to-zero
Support scaling HPA to/from zero pods for object/external metrics
2019-07-16 10:11:24 -07:00
Rinat Shigapov
d55f037b7d HPA scale-to-zero for custom object/external metrics
Add support for scaling to zero pods

minReplicas is allowed to be zero

condition is set once

Based on https://github.com/kubernetes/kubernetes/pull/61423

set original valid condition

add scale to/from zero and invalid metric tests

Scaling up from zero pods ignores tolerance

validate metrics when minReplicas is 0

Document HPA behaviour when minReplicas is 0

Documented minReplicas field in autoscaling APIs
2019-07-16 08:46:21 -05:00
Kubernetes Prow Robot
12f36302f9
Merge pull request #78361 from tedyu/stateful-get-rev
Break out of loop when currentRevision is found in defaultStatefulSetControl#getStatefulSetRevisions
2019-07-15 12:37:23 -07:00
Joseph Burnett
7382fa464d Add josephburnett to podautoscaler OWNERS. 2019-07-12 10:20:16 +02:00
Kubernetes Prow Robot
642a06e552
Merge pull request #79554 from draveness/feature/remove-critical-pod-annotation
feat: cleanup pod critical pod annotations feature
2019-07-11 22:03:04 -07:00
Kubernetes Prow Robot
3dd8add5d2
Merge pull request #79549 from liggitt/admission-webhooks-v1
Promote admission webhook API to v1
2019-07-11 17:01:34 -07:00
Clayton Coleman
d631f9b7e9
Use metadata informers instead of dynamic informers in controller manager
All controllers in controller-manager that deal with objects generically
work with those objects without needing the full object. Update the GC
and quota controller to use PartialObjectMetadata input objects which
is faster and more efficient.
2019-07-11 12:18:52 -04:00
Clayton Coleman
637cc83341
Switch the garbage collector to use metadata client and protobuf 2019-07-11 12:18:51 -04:00
Kubernetes Prow Robot
b500c740ee
Merge pull request #79859 from sukeesh/hpa-error-log-fix
HPA incorrectly reported condition status
2019-07-11 07:28:55 -07:00
Shintaro Murakami
7c0b33e012 Add check to reduce orphaned volume 2019-07-11 16:31:56 +09:00
Kubernetes Prow Robot
ca6cc69bd4
Merge pull request #78744 from smarterclayton/client_ns
Update namespace controller to use the metadata client
2019-07-10 18:48:53 -07:00
draveness
b6d41ee5cc feat: cleanup pod critical pod annotations feature 2019-07-11 08:54:19 +08:00
Kubernetes Prow Robot
57eef32041
Merge pull request #79657 from josephburnett/hpastuck
Ignore unschedulable pods
2019-07-10 11:34:29 -07:00
Clayton Coleman
50fd47258d
Switch the namespace controller to use the metadata client
The metadata client uses protobuf and returns only a subset of object
data (the metadata) which allows operations that act only on objects
generically to work much faster. Use the metadata client in the
namespace controller to reduce the amount of work the namespace controller
has to do in large namespaces.
2019-07-10 14:31:18 -04:00
Joseph Burnett
80e279d353 Ignore pending pods.
This change adds pending pods to the ignored set first before
selecting pods missing metrics. Pending pods are always ignored when
calculating scale.

When the HPA decides which pods and metric values to take into account
when scaling, it divides the pods into three disjoint subsets: 1)
ready 2) missing metrics and 3) ignored. First the HPA selects pods
which are missing metrics. Then it selects pods should be ignored
because they are not ready yet, or are still consuming CPU during
initialization. All the remaining pods go into the ready set. After
the HPA has decided what direction it wants to scale based on the
ready pods, it considers what might have happened if it had the
missing metrics. It makes a conservative guess about what the missing
metrics might have been, 0% if it wants to scale up--100% if it wants
to scale down. This is a good thing when scaling up, because newly
added pods will likely help reduce the usage ratio, even though their
metrics are missing at the moment. The HPA should wait to see the
results of its previous scale decision before it makes another
one. However when scaling down, it means that many missing metrics can
pin the HPA at high scale, even when load is completely removed. In
particular, when there are many unschedulable pods due to insufficient
cluster capacity, the many missing metrics (assumed to be 100%) can
cause the HPA to avoid scaling down indefinitely.
2019-07-10 12:16:33 +02:00
Kubernetes Prow Robot
abe94ce9b3
Merge pull request #79937 from mm4tt/deployment_improve
Deployment Controller - avoid unnecessary copying of pod objects in getPodMapForDeployment
2019-07-10 01:24:25 -07:00
Matt Matejczyk
8140bbc4f5 Deployment Controller - don't copy pods in getPodMapForDeployment
As the benchmark shows it speeds up the method~x4 and reduces memory
consumption ~x20.

```
benchmark                              old ns/op     new ns/op     delta
BenchmarkGetPodMapForDeployment-12     276121        72591         -73.71%

benchmark                              old allocs     new allocs     delta
BenchmarkGetPodMapForDeployment-12     241            238            -1.24%

benchmark                              old bytes     new bytes     delta
BenchmarkGetPodMapForDeployment-12     554025        28956         -94.77%
```
2019-07-10 09:14:15 +02:00
Kubernetes Prow Robot
dc8829df5c
Merge pull request #75922 from humblec/stateful_set
Remove unwanted `else` block from statefulset controller.
2019-07-10 00:12:25 -07:00
Kubernetes Prow Robot
d59a603f1b
Merge pull request #78267 from mucahitkurt/cleanup/operation-generator-migration-scenarios-unit-tests
unit tests for operationGenerator.GenerateUnmapVolumeFunc
2019-07-09 18:20:25 -07:00
Matt Matejczyk
3e363c5c46 Add micro-benchmark for DeploymentController.getPodMapForDeployment method 2019-07-09 15:00:18 +02:00
Kubernetes Prow Robot
2cfd4a5eb9
Merge pull request #79168 from tnozicka/fix-sigapps-owners
Update Sig-Apps OWNERS to aliases in places that were missed in #76669
2019-07-08 17:30:01 -07:00
Jordan Liggitt
e24377f190 Install/register v1 admission registration types 2019-07-08 09:49:29 -04:00
Sukeesh
44c3f0105f fix incorrect hpa status 2019-07-08 17:27:38 +09:00
Kubernetes Prow Robot
a33840e023
Merge pull request #73977 from khenidak/ipv6dualstack
ipv6 dual stack (Phase 1 - ALPHA)
2019-07-02 18:07:12 -07:00
Khaled Henidak(Kal)
2b77667718 vendor updates 2019-07-02 22:26:26 +00:00
Kubernetes Prow Robot
cf7662d3a1
Merge pull request #79035 from josephburnett/hparunaway
Fix HPA feedback from writing status.replicas to spec.replicas.
2019-07-02 09:31:08 -07:00
Khaled Henidak(Kal)
a51b8ce456 route controller + azure v6 routes 2019-07-02 15:39:06 +00:00
Khaled Henidak(Kal)
584d7103e2 node ipam controller for ipv6 dualstack 2019-07-02 15:39:06 +00:00
Joseph Burnett
39c4875321 There are various reasons that the HPA will decide not the change the
current scale. Two important ones are when missing metrics might
change the direction of scaling, and when the recommended scale is
within tolerance of the current scale.

The way that ReplicaCalculator signals it's desire to not change the
current scale is by returning the current scale. However the current
scale is from scale.Status.Replicas and can be larger than
scale.Spec.Replicas (e.g. during Deployment rollout with configured
surge). This causes a positive feedback loop because
scale.Status.Replicas is written back into scale.Spec.Replicas,
further increasing the current scale.

This PR fixes the feedback loop by plumbing the replica count from
spec through horizontal.go and replica_calculator.go so the calculator
can punt with the right value.
2019-07-02 14:21:32 +02:00
Kubernetes Prow Robot
f56b336976
Merge pull request #79592 from tedyu/ctrl-exp-mutex
Move population of expectedUIDs outside lock
2019-07-01 09:43:34 -07:00
Ted Yu
6db618fa42 Move population of expectedUIDs outside lock 2019-07-01 21:26:34 +08:00
Kubernetes Prow Robot
b22e48f240
Merge pull request #79584 from tedyu/pv-ctrl-bind-vol
Drop unnecessary claim parameter from PersistentVolumeController#updateBindVolumeToClaim
2019-07-01 06:09:33 -07:00
Kubernetes Prow Robot
d48f123a40
Merge pull request #79591 from tedyu/ctrl-util-label
Simplify the check of presence of labels in createPods
2019-07-01 01:45:19 -07:00
Ted Yu
69aeabc397 Simplify the check of presence of labels in createPods 2019-07-01 15:32:28 +08:00
Ted Yu
a18633427b Drop unnecessary claim parameter from PersistentVolumeController#updateBindVolumeToClaim 2019-07-01 13:30:11 +08:00
Kubernetes Prow Robot
8865cb3c24
Merge pull request #78853 from tcmichael/bugfix
Fix a bug that StatefulSet applies the revision incorrectly
2019-06-29 20:43:21 -07:00
kanchairen
bf421ae560 Fix a bug that StatefulSet applies the revision incorrectly 2019-06-30 09:49:00 +08:00
wojtekt
cba13eb9ad Autogenerate code 2019-06-29 15:26:09 +02:00
wojtekt
fd819f8fdc Move APIObjectVersioner 2019-06-28 21:16:49 +02:00
Hongcai Ren
9618d1d955 Fix service controller not release loadBalancer issue in corner case. 2019-06-27 09:12:16 +08:00
Kubernetes Prow Robot
eed7af6e41
Merge pull request #79370 from mborsz/node
Use watch in TaintManager
2019-06-26 06:49:17 -07:00
Maciej Borsz
98e9c78c13 Migrate TaintManager to use watch for listing pods instead of expensive
listing pods call.
2019-06-26 13:35:59 +02:00
Kubernetes Prow Robot
41b817b92f
Merge pull request #79038 from yastij/move-jws
move jws to k8s.io/cluster-bootstrap
2019-06-25 17:01:29 -07:00
Kubernetes Prow Robot
a78ae4ba74
Merge pull request #76059 from tedyu/master
Remove unnecessary map in cleanupHistory
2019-06-25 05:24:35 -07:00
Yassine TIJANI
d3620dfa29 move jws to k8s.io/cluster-bootstrap
Signed-off-by: Yassine TIJANI <ytijani@vmware.com>
2019-06-25 13:48:13 +02:00
Kubernetes Prow Robot
6f0f62b2c4
Merge pull request #77211 from dixudx/bootstrap_token_refactor
Bootstrap token refactor
2019-06-24 13:36:36 -07:00
Kubernetes Prow Robot
bc70f33e3a
Merge pull request #79294 from tedyu/svc-ctrl-lock
Use RWMutex to improve locking for serviceCache
2019-06-24 11:24:28 -07:00
Ted Yu
e86b0d3cd3 Use RWMutex to improve locking for serviceCache 2019-06-22 06:49:40 -07:00
Kubernetes Prow Robot
4b8a1163aa
Merge pull request #77712 from Sn0rt/check-target-port-check
service controller: if targetPort has changed will process by cloud-p…
2019-06-21 18:52:12 -07:00
guohaowang
d41f7b99ef service controller: if targetPort has changed will process by cloud-provider
Signed-off-by: guohaowang <wangguohao.2009@gmail.com>
2019-06-21 15:26:45 +08:00
Hongcai Ren
fa80c0072a Remove redundant initilization for service controller 2019-06-21 11:38:36 +08:00
Di Xu
5056161d4d auto-generated 2019-06-20 17:06:26 +08:00
Di Xu
af9ae4c11a refactor bootstrap token utils 2019-06-20 15:43:44 +08:00
Kubernetes Prow Robot
8d8c54bd73
Merge pull request #79082 from timoreimann/delete-unused-service-controller-load-balancer-name-method
Remove unused ServiceController.loadBalancerName method
2019-06-19 18:37:13 -07:00
Tomas Nozicka
d4261ba741 Update Sig-Apps OWNERS in places that were missed in #76669 2019-06-19 15:36:16 +02:00
Hongcai Ren
f0fae66001 Minor change: delete unused constant from service controller 2019-06-18 15:45:34 +08:00
Kubernetes Prow Robot
541cc51c7d
Merge pull request #72809 from hanxiaoshuai/fix0111
when SessionAffinityConfig is different, enqueueService in update Service handler
2019-06-17 05:54:09 -07:00
Timo Reimann
77c9950098 Remove unused ServiceController.loadBalancerName method
Its only caller lives in the corresponding test file. Hence, we move the
method called by loadBalancerName over to the test and remove
loadBalancerName.
2019-06-17 00:45:22 +02:00
Ted Yu
9c5f311eff Remove unnecessary loop for lowering expectations 2019-06-15 08:11:46 -07:00
Kubernetes Prow Robot
1782653fe8
Merge pull request #78974 from DaiHao/daemon_controller
fix a bug that pods not be deleted from unmatched nodes by daemon controller
2019-06-15 03:46:11 -07:00
Kubernetes Prow Robot
f20fb80aaa
Merge pull request #78911 from tedyu/list-pv
Do not add non-PersistentVolume to return value for pvAssumeCache#ListPVs
2019-06-14 23:06:47 -07:00
Kubernetes Prow Robot
6e1d8a8fac
Merge pull request #78821 from jhedev/fix/typo_node_lifecycle_controller
Fix typo in node lifecycle controller
2019-06-14 20:46:36 -07:00
Kubernetes Prow Robot
95e3a2576b
Merge pull request #78650 from cwdsuzhou/gc_graph_common
Merge similar funcs
2019-06-14 11:53:02 -07:00
Mario Valderrama
6ac7421535 Update comments 2019-06-14 14:23:13 +02:00
Kubernetes Prow Robot
5777fdfe31
Merge pull request #78105 from cwdsuzhou/narrow_down_lock
Narrow down the lock
2019-06-14 04:08:23 -07:00
daihao
6c0e35d7b2 do not delete pods whose deletiontimestamp != nil 2019-06-13 17:47:52 +08:00
Mario Valderrama
dbbe68601f Fix golint errors in pkg/controller/job 2019-06-12 20:09:57 +02:00
Ted Yu
f3c90b058c Do not add non-PersistentVolume to return value for pvAssumeCache#ListPVs 2019-06-11 10:27:26 -07:00
Mucahit Kurt
db1c07750a unit tests for the volume plugin name that's used inside GeneratedUnmapVolumeFunc for csi migration on/off scenarios
Signed-off-by: Mucahit Kurt <mucahitkurt@gmail.com>
2019-06-11 08:32:25 +03:00
Joel Hermanns
4977aa0ceb Fix typo in node lifecycle controller 2019-06-09 11:57:37 +02:00
Kubernetes Prow Robot
602fc4771a
Merge pull request #78725 from waynepeking348/waynepeking348-master
fix bug of replica_calculator to initialize replicaCount with currentReplicas
2019-06-06 10:48:27 -07:00
waynepeking348
b8b1720f12 Fix bug of ObjectPerPodMetricReplicas to initialize replicaCount with currentReplicas 2019-06-05 11:54:03 +00:00
Kubernetes Prow Robot
88f8c785b4
Merge pull request #78711 from MrHohn/lb-finalizer-patch-err
Don't mask k8s error returned from patch
2019-06-04 22:31:52 -07:00
Zihong Zheng
89a7a35607 Don't mask k8s error returned from patch 2019-06-04 16:40:51 -07:00
Jordan Liggitt
6a7e7fc156 Fix TestStressingCascadingDeletion flake 2019-06-04 17:26:36 -04:00
caiweidong
0989bfee95 merge common funcs 2019-06-04 16:37:42 +08:00
Kubernetes Prow Robot
9f85c5c4b5
Merge pull request #78503 from gjtempleton/Multiple-Metrics-HPA
Multiple metrics hpa
2019-06-03 19:34:59 -07:00