Commit Graph

84409 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
70f68062ad
Merge pull request #84014 from ahg-g/ahg-tree
Make node tree order part of the snapshot
2019-10-18 15:21:37 -07: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
Kubernetes Prow Robot
103afd2ba7
Merge pull request #83549 from danwinship/service-jig-sanitycheck
more e2eservice.TestJig cleanups
2019-10-18 12:37:31 -07:00
Kubernetes Prow Robot
b5c74a3f26
Merge pull request #82817 from zouyee/scpq
fix Security Context should run with an image specified user ID
2019-10-18 12:37:22 -07:00
Kubernetes Prow Robot
edfffffdac
Merge pull request #82656 from odinuge/hugetlb-drop-caches
Compact memory before requesting huge pages
2019-10-18 12:37:08 -07:00
Abdullah Gharaibeh
63d7733e98 create an ordered list of nodes instead of iterating over the tree 2019-10-18 12:51:46 -04:00
Kubernetes Prow Robot
54a30700a3
Merge pull request #84038 from losipiuk/lo/master-ca-1.16.2-manifest-update
Update Cluster Autoscaler version to 1.16.2
2019-10-18 09:24:12 -07:00
Kubernetes Prow Robot
27c679baca
Merge pull request #83982 from lichuqiang/frame_mig1
[migration phase 1] MatchInterPodAffinity as filter plugin
2019-10-18 09:23:58 -07:00
Dan Winship
52b366457f Add Namespace to e2eservice.TestJig, make all methods use jig namespace and name
Many TestJig methods made the caller pass a serviceName argument, even
though the jig already has a name, and every caller was passing the
same name to each function as they had passed to NewTestJig().

Likewise, many methods made the caller pass a namespace argument, but
only a single test used more than one namespace, and it can easily be
rewritten to use two test jigs as well.
2019-10-18 08:37:19 -04:00
Dan Winship
a0ad420018 Make e2eservice.TestJig methods return errors rather than failing
This is the preferred style for framework methods, and it lets us
write tests to confirm that certain things *don't* work.
2019-10-18 08:36:40 -04:00
Dan Winship
4dcc6229b1 Call jig.SanityCheckService automatically after changes 2019-10-18 08:35:55 -04:00
Kubernetes Prow Robot
422256110e
Merge pull request #84073 from draveness/feature/cleanup-framework-plugins
feat: several cleanups in the scheduling package
2019-10-18 04:43:57 -07:00
Kubernetes Prow Robot
b574074981
Merge pull request #84055 from odinuge/cherry_pick_indent
Fix indent in cherry_pick_pull script
2019-10-18 02:15:58 -07:00
lichuqiang
671f7690fe [migration phase 1] MatchInterPodAffinity as filter plugin 2019-10-18 16:26:34 +08: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
Kubernetes Prow Robot
d1a79f136b
Merge pull request #84054 from ahg-g/ahg-gp
GeneralPredicate as framework plugin config
2019-10-17 21:19:58 -07:00
draveness
39af760930 feat: several cleanups in the scheduling package
+ Remove unused variable in tests.
+ Use more common statement for interface conformance check.
+ Fix several comments in the framework plugins.
2019-10-18 11:14:05 +08:00
Kubernetes Prow Robot
f9acca889c
Merge pull request #84043 from wojtek-t/tweak_serialize_object_once
Don't use CachingObject if the number of watchers is small
2019-10-17 19:51:22 -07:00
Kubernetes Prow Robot
89efc6cf1b
Merge pull request #84019 from flands/82954
Update release notes for 1.14.8 to reflect AWS bugfix
2019-10-17 19:51:07 -07:00
Kubernetes Prow Robot
9bf2ba7369
Merge pull request #84015 from ahg-g/ahg-filters
cleanup unnecessary func parameters in genericScheduler methods
2019-10-17 19:50:56 -07:00
Kubernetes Prow Robot
91050062f9
Merge pull request #83894 from notpad/feature/migration_nodevolumelimit
[migration phase 1] CSIMaxVolumeLimitChecker as filter plugin
2019-10-17 19:50:41 -07:00
Kubernetes Prow Robot
149f9f5dec
Merge pull request #83853 from mrbobbytables/update-cmd-kcm-owners
Prune inactive owners from cmd/kube-controller-manager/OWNERS.
2019-10-17 19:50:26 -07:00
Kubernetes Prow Robot
9430bebe47
Merge pull request #83833 from tanjunchen/refactor-test-integration-master
Refactor test/integration/master/ with metric
2019-10-17 19:50:11 -07:00
Kubernetes Prow Robot
ae474606f1
Merge pull request #83831 from yuxiaobo96/k8s-check2
Remove direct references to prometheus from transformation_testcase.go
2019-10-17 19:49:58 -07:00
Dan Winship
85ebedd93e Remove an unneccessary e2eservice.TestJig method 2019-10-17 21:47:34 -04:00
Kubernetes Prow Robot
1f8b3bfd98
Merge pull request #83811 from immutableT/single-kms-mock
Use single kms-plugin mock in unit and integration tests.
2019-10-17 18:17:57 -07:00
Kubernetes Prow Robot
7ed388caa6
Merge pull request #83744 from neolit123/1.17-move-test-owners-sig-cl-gcp
test/e2e: move some tests from cluster-lifecycle to cloud-provider-gcp
2019-10-17 16:33:58 -07:00
Kubernetes Prow Robot
e129a6bc3f
Merge pull request #80004 from Miciah/prefer-to-delete-doubled-up-pods-of-a-replicaset
Prefer to delete doubled-up pods of a ReplicaSet
2019-10-17 15:09:58 -07:00
immutablet
4d24b41410 Use single kms-plugin mock in unit and integration tests. 2019-10-17 13:46:03 -07:00
Kubernetes Prow Robot
a78a403f63
Merge pull request #83580 from jackkleeman/apiserver-cert-file-reload5
Plumbing for dynamic apiserver serving certificates
2019-10-17 13:37:59 -07:00
Kubernetes Prow Robot
006378fcc1 Merge pull request #83195 from wojtek-t/watch_bookmarks_ga
Promote WatchBookmarks feature to GA
2019-10-17 11:30:38 -07:00
Sean Sullivan
37fca51d74 Relocate tableprinter tests (#84027)
* Moves TestPrintUnstructuredObject to tableprinter_test.go

* Move TestUnknownTypePrinting to correct location of tableprinter_test.go

* Removes NewTablePrinter from TestCustomTypePrinting
2019-10-17 09:52:53 -07:00
Kubernetes Prow Robot
397f8b4248
Merge pull request #84020 from BenTheElder/bentheelder-checks-types
add myself to typecheck / go-srcimporter owners, move rmmh to emeritus
2019-10-17 09:52:38 -07: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
Odin Ugedal
b840398be8
Fix indent in cherry_pick_pull script 2019-10-17 17:43:29 +02:00
Kubernetes Prow Robot
fef819254a
Merge pull request #83998 from draveness/feature/node-affinity-score-plugin
feat(scheduler): implement node affinity as score plugin
2019-10-17 08:24:38 -07:00
Abdullah Gharaibeh
517116921b GeneralPredicate as plugin config 2019-10-17 11:13:57 -04:00
Abdullah Gharaibeh
1293facf7b cleanup unnecessary func parameters in genericScheduler methods 2019-10-17 10:31:14 -04:00
notpad
f06925b0ee [migration phase 1] CSIMaxVolumeLimitChecker as filter plugin 2019-10-17 22:04:02 +08:00
Jack Kleeman
6f89f10274 Plumb dynamic serving certificates
We create and use a dynamic certificate provider for the main apiserver
serving certificates: SNI will be handled separately later. Currently we
only use static serving certificate providers, so the files are not
reloaded, but we should be able to move to a provider that is able to
reload later on.
2019-10-17 14:37:16 +01:00
wojtekt
c5170dfb66 Tweak use of caching objects 2019-10-17 15:18:24 +02:00
Kubernetes Prow Robot
534051acec
Merge pull request #84036 from Huang-Wei/tbe-int-test-issue
Ensure TaintBasedEviction int test not rely on TaintNodeByConditions
2019-10-17 05:12:50 -07:00
Kubernetes Prow Robot
4887b0cac2
Merge pull request #84008 from notpad/fix_83985
Change node name to env value of HOSTNAME_OVERRIDE
2019-10-17 05:12:37 -07:00
Bob Killen
d314695b31
Prune inactive owners from cmd/kube-controller-manager/OWNERS. 2019-10-17 06:29:26 -04:00
Łukasz Osipiuk
efe79f28cf Update Cluster Autoscaler version to 1.16.2 2019-10-17 12:19:36 +02:00
Kubernetes Prow Robot
4b58ef0e14
Merge pull request #83950 from yastij/update-reset-cni
stop removing cni directories as they aren't installed by kubeadm
2019-10-17 03:19:02 -07:00
Kubernetes Prow Robot
fa99d4068b
Merge pull request #83466 from wongma7/block-reconstruct
Fix AWS block volume reconstruction to be like file
2019-10-17 03:18:51 -07:00
Kubernetes Prow Robot
2eef011c38
Merge pull request #81345 from k-toyoda-pi/fix_shellcheck_validate-cluster
Fix shellcheck failures in cluster/validate-cluster.sh
2019-10-17 03:18:38 -07:00
draveness
3d74da4d53 feat(scheduler): implement node affinity as score plugin 2019-10-17 17:02:10 +08:00