Commit Graph

15290 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
0c91af21b4 Merge pull request #84047 from draveness/feature/node-unschedulable-filter
feat: implement node unschedulable as a filter plugin
2019-10-19 04:03:37 -07:00
draveness
00a12c787c feat: implement node unschedulable as a filter plugin 2019-10-19 17:29:25 +08:00
Kubernetes Prow Robot
ff7a09928b Merge pull request #84070 from neolit123/1.17-remove-test-owners-ref
remove usage of the test/test_owners.* files
2019-10-19 02:13:36 -07:00
Jun Gong
38b7668bb3 Refactor scheduler's framework permit API 2019-10-19 16:22:39 +08:00
Kubernetes Prow Robot
0f7873ad5c Merge pull request #82308 from zhlhahaha/kubectl_flag
Add kubectlPath flag to e2e_node.test
2019-10-18 23:47:37 -07:00
Kubernetes Prow Robot
52063ef8c9 Merge pull request #84094 from yutedz/stor-max-size
Clarify the role for SupportedSizeRange
2019-10-18 21:54:30 -07:00
Kubernetes Prow Robot
578d061666 Merge pull request #84064 from cblecker/go-1.12.11
Update to use go1.12.12
2019-10-18 21:54:02 -07:00
Kubernetes Prow Robot
91627f4962 Merge pull request #83805 from wk8/wk8/gmsa_e2e_tweak
Amending the GMSA e2e test to allow it to run against Windows-only clusters
2019-10-18 21:53:50 -07:00
Kubernetes Prow Robot
0a6e5e65b9 Merge pull request #83750 from mwwolters/json_fuzz
A go-fuzz target for Serializer.Encode/Decode, tested with go-fuzz
2019-10-18 21:53:37 -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
Michelle Au
1634ada147 remove hostnetwork from hostpath csi manifest 2019-10-18 18:14:17 -07:00
Ted Yu
0ae181cf0c Clarify the role for SupportedSizeRange 2019-10-18 14:58:56 -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
Christoph Blecker
e570e3e88d Update to use go1.12.12 2019-10-18 10:37:34 -07:00
Kenichi Omichi
5285cf3eb2 Move LaunchHostExecPod() to e2e network
LaunchHostExecPod() is called only from e2e network.
So it is not necessary to keep the function as a part of e2e framework.
This moves it to the place which calls the function.
2019-10-18 17:29:01 +00: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
Mark Wolters
78c57cb2a3 Added go-fuzz target for json serializer Encode/Decode. 2019-10-18 09:11:43 -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
lichuqiang
671f7690fe [migration phase 1] MatchInterPodAffinity as filter plugin 2019-10-18 16:26:34 +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
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
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
Lubomir I. Ivanov
2c54160021 remove usage of the test/test_owners.* files
- remove update_owners.py; seems responsible for generating
test_owners files
- remove the existing test/test_owners.* files
- remove verify-test-owners.sh and references to it
2019-10-18 03:01:21 +03: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
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
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
notpad
f06925b0ee [migration phase 1] CSIMaxVolumeLimitChecker as filter plugin 2019-10-17 22:04:02 +08: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
draveness
3d74da4d53 feat(scheduler): implement node affinity as score plugin 2019-10-17 17:02:10 +08:00
Kubernetes Prow Robot
cedacc9cae Merge pull request #84025 from oomichi/move-CreateNginxPod
Move CreateNginxPod() to specific e2e
2019-10-17 01:47:48 -07: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
3719fcdffa Merge pull request #82072 from draveness/feature/use-context-instead-of-channel
feat(scheduler): use context in scheduler package
2019-10-17 01:46:39 -07:00
Wei Huang
fbcc3c183a Ensure TaintBasedEviction int test not rely on TaintNodeByConditions 2019-10-17 01:25:12 -07:00
Kubernetes Prow Robot
c3d8ad06a5 Merge pull request #84002 from cofyc/fix74552-cleanup
e2e: remove duplicated test specs
2019-10-16 22:25:41 -07:00
Kubernetes Prow Robot
9aed79b585 Merge pull request #83812 from oomichi/move-Initialized
Move Initialized() to e2e framework util
2019-10-16 22:25:21 -07:00
Kubernetes Prow Robot
cae9bbd059 Merge pull request #81358 from bclau/tests/replace-redis-image
tests: Replaces Redis image with Agnhost
2019-10-16 22:24:51 -07:00
Howard Zhang
1c9da19bf5 Add kubectlPath flag to e2e_node.test
e2e_node.test does not set default kubectlPath, which lead to test
errors as following:
[Fail] [sig-storage] EmptyDir volumes [It] pod should support
shared volumes between containers [Conformance]

When the test trying to read file in shared volume, it uses
"kubeclt exec namespace -c container_name -- cat file_name".
However, as variable framework.TestContext.KubectlPath not set,
kubectl binary can not be found in the test and the tast fails.

This patch move kubectlPath flag from RegisterClusterFlags to
RegisterCommonFlags, thus default value for
framework.TestContext.KubectlPath will be set,and
user can also use --kubectl-path flag to set kubectl path.

Signed-off-by: Howard Zhang <howard.zhang@arm.com>
2019-10-17 11:29:44 +08:00