Commit Graph

12582 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
dab6f6a43d Merge pull request #102344 from smarterclayton/keep_pod_worker
Prevent Kubelet from incorrectly interpreting "not yet started" pods as "ready to terminate pods" by unifying responsibility for pod lifecycle into pod worker
2021-07-08 16:48:53 -07:00
Kubernetes Prow Robot
ac6a1b1821 Merge pull request #103414 from ravisantoshgudimetla/fix-pdb-status
[disruptioncontroller] Don't error for unmanaged pods
2021-07-07 12:40:35 -07:00
Kubernetes Prow Robot
ac554af79b Merge pull request #103142 from serathius/etcd-3.5.0
Upgrade etcd to 3.5.0
2021-07-07 12:40:22 -07:00
ravisantoshgudimetla
2c116055f7 [disruptioncontroller] Don't error for unmanaged pods
As of now, we allow PDBs to be applied to pods via
selectors, so there can be unmanaged pods(pods that
don't have backing controllers) but still have PDBs associated.
Such pods are to be logged instead of immediately throwing
a sync error. This ensures disruption controller is
not frequently updating the status subresource and thus
preventing excessive and expensive writes to etcd.
2021-07-07 10:42:24 -04:00
Clayton Coleman
3eadd1a9ea Keep pod worker running until pod is truly complete
A number of race conditions exist when pods are terminated early in
their lifecycle because components in the kubelet need to know "no
running containers" or "containers can't be started from now on" but
were relying on outdated state.

Only the pod worker knows whether containers are being started for
a given pod, which is required to know when a pod is "terminated"
(no running containers, none coming). Move that responsibility and
podKiller function into the pod workers, and have everything that
was killing the pod go into the UpdatePod loop. Split syncPod into
three phases - setup, terminate containers, and cleanup pod - and
have transitions between those methods be visible to other
components. After this change, to kill a pod you tell the pod worker
to UpdatePod({UpdateType: SyncPodKill, Pod: pod}).

Several places in the kubelet were incorrect about whether they
were handling terminating (should stop running, might have
containers) or terminated (no running containers) pods. The pod worker
exposes methods that allow other loops to know when to set up or tear
down resources based on the state of the pod - these methods remove
the possibility of race conditions by ensuring a single component is
responsible for knowing each pod's allowed state and other components
simply delegate to checking whether they are in the window by UID.

Removing containers now no longer blocks final pod deletion in the
API server and are handled as background cleanup. Node shutdown
no longer marks pods as failed as they can be restarted in the
next step.

See https://docs.google.com/document/d/1Pic5TPntdJnYfIpBeZndDelM-AbS4FN9H2GTLFhoJ04/edit# for details
2021-07-06 15:55:22 -04:00
Andrew Sy Kim
04d59ff2df test/e2e/network: add Service internalTrafficPolicy test for pod (w/ host network) -> pod (w/ host network)
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2021-07-06 09:22:07 -04:00
Andrew Sy Kim
9977ea371b test/e2e/network: add Service internalTrafficPolicy test for pod -> pod (w/ host network)
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2021-07-06 09:22:06 -04:00
Andrew Sy Kim
025c95a778 test/e2e/network: add Service internalTrafficPolicy test pod (w/ host network) -> pod
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2021-07-06 09:22:06 -04:00
Andrew Sy Kim
f6bc5d0140 test/e2e/network: add Service internalTrafficPolicy test pod to pod
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2021-07-06 09:22:06 -04:00
Kubernetes Prow Robot
cbe3ef473e Merge pull request #100412 from hanlins/lb-node-ports-beta
Lb node ports beta
2021-07-02 16:08:10 -07:00
Hanlin Shi
24592ca989 Update the related tests
1. add AllocateLoadBalancerNodePorts fields in specs for validation test cases
2. update fuzzer
3. in resource quota e2e, allocate node port for loadbalancer type service and
   exceed the node port quota

Signed-off-by: Hanlin Shi <shihanlin9@gmail.com>
2021-07-02 21:58:41 +00:00
Kubernetes Prow Robot
d1833880a7 Merge pull request #103083 from vivian-xu/use-native-errors
Update github.com/pkg/errors with go native errors pkg
2021-07-02 13:38:38 -07:00
Kubernetes Prow Robot
0bb6d1431c Merge pull request #103371 from claudiubelu/tests/windows-flakyness
windows tests: Wait for the network connectivity first
2021-07-02 12:30:22 -07:00
Kubernetes Prow Robot
a331cf74b7 Merge pull request #102050 from pohly/fix/deflake-metrics-proxy
remove metrics proxy
2021-07-02 12:30:10 -07:00
Kubernetes Prow Robot
659c7e709f Merge pull request #99494 from enj/enj/i/not_after_ttl_hint
csr: add expirationSeconds field to control cert lifetime
2021-07-01 23:02:12 -07:00
Monis Khan
8d49502fcd csr: update e2e conformance test with expirationSeconds usage
Signed-off-by: Monis Khan <mok@vmware.com>
2021-07-01 23:38:16 -04:00
Kubernetes Prow Robot
62503f254e Merge pull request #103413 from mgutierrez98/refactor-whitelist-blacklist
Refactored files containing whitelist/blacklist to allowlist/denylist…
2021-07-01 18:12:25 -07:00
Kubernetes Prow Robot
9ca75c1f49 Merge pull request #103243 from ii/promote-statefulset-status-test
Promote to Conformance StatefulSet Patch, Read and Replace Status test +3
2021-07-01 14:28:02 -07:00
mgutierrez98
1cfbb0aa25 remove webhook.go to revert changes to conformance test 2021-07-01 20:24:46 +00:00
Kubernetes Prow Robot
3334703eb2 Merge pull request #103242 from ii/promote-deployment-status-test
Promote to Conformance Patch, Read and Replace DeploymentStatus test +1
2021-07-01 13:18:04 -07:00
Kubernetes Prow Robot
cd94e840cb Merge pull request #103241 from ii/promote-statefulset-list-deletecollection
Promote to Conformance StatefulSet List, Patch & DeleteCollection Test +3
2021-07-01 13:17:52 -07:00
Kubernetes Prow Robot
a0c83ba938 Merge pull request #103385 from ravisantoshgudimetla/fix-ubernetes-tests-2
[storage] [test] Ensure proper resource creation
2021-07-01 00:06:06 -07:00
Kubernetes Prow Robot
ea0098b811 Merge pull request #103219 from mgutierrez98/refactor-wait_go
Renamed variable within wait_test containing master to control plane
2021-06-30 20:59:54 -07:00
ravisantoshgudimetla
67bc23411b [storage] [test] Ensure proper resource creation
Ensure resources are created in zone with schedulable
nodes. For example, if we have 4 zones with 3 zones
having worker nodes and 1 zone having master nodes(unscheduable
for workloads), we should not create resources like PV, PVC or
pods in that zone.
2021-06-30 18:01:57 -04:00
Kubernetes Prow Robot
044fd6fdf6 Merge pull request #99829 from palnabarun/migrate-to-go-embed
Replace go-bindata with //go:embed
2021-06-30 10:37:03 -07:00
Kubernetes Prow Robot
7ad7c0757a Merge pull request #103160 from ravisantoshgudimetla/fix-ubernetes-tests
Run ubernetes tests on gke only
2021-06-29 18:29:14 -07:00
Kubernetes Prow Robot
c9bff73105 Merge pull request #103179 from tanjing2020/runtimeclass
[e2e] Destroy the created runtimeclass resources at the end of the test case.
2021-06-29 17:07:15 -07:00
Nabarun Pal
ac41e56582 docs: add documentation on adding files to the embedded data
Signed-off-by: Nabarun Pal <pal.nabarun95@gmail.com>
2021-06-29 23:30:50 +05:30
ravisantoshgudimetla
c65b80a637 [storage] [test] Remove extra zone test
We're running ubernetes tests
`should only be allowed to provision PDs in zones
where nodes exist`
on gcp&gke. While the test is useful in exercising
the scenario of identifying extra zone and
creating a node in it, not every Kube
distribution uses the same approach to create a node,
further if even there is an extra zone, we cannot
guarantee the zone to have enough quota. There can also
be other GCP specific edge cases all of which cannot be
covered within this test. So, removing the test
as agreed upon with the storage team
2021-06-29 12:52:58 -04:00
Kubernetes Prow Robot
756203fda0 Merge pull request #102576 from dobsonj/101911
kubelet: do not call RemoveAll on volumes directory for orphaned pods
2021-06-29 06:54:40 -07:00
Nabarun Pal
d98b2dd2d6 generated: remove usage of go-bindata
Signed-off-by: Nabarun Pal <pal.nabarun95@gmail.com>
2021-06-29 19:16:48 +05:30
Nabarun Pal
68b334d02b test: setup embedded file sources for manifests
Signed-off-by: Nabarun Pal <pal.nabarun95@gmail.com>
2021-06-29 19:16:46 +05:30
vivian-xu
ceb42d0938 Update github.com/pkg/errors with go native errors pkg 2021-06-29 17:39:49 +08:00
Nabarun Pal
3af6329caf e2e-framework: add an EmbeddedFileSource to sources
The data structure would wrap an embedded filesystem andthe root
directory relative to which the embedded filesystem is constructed.

Signed-off-by: Nabarun Pal <pal.nabarun95@gmail.com>
2021-06-29 13:36:29 +05:30
tanjing2020
f80f9eeb6d Destroy the created runtimeclass resources at the end of the test case. 2021-06-29 09:20:40 +08:00
Stephen Heywood
1b73a0040a Promote Stateful Status e2e test to Conformance 2021-06-28 11:24:59 +12:00
Stephen Heywood
405e9a5172 Promote Deployment Status e2e test to Conformance 2021-06-28 11:04:30 +12:00
Stephen Heywood
d3ad1d77f3 Promote Statefulset list and deleteCollection e2e test to Conformance 2021-06-28 10:06:27 +12:00
Rajas Kakodkar
266ffa8526 bug fix in sctp test 2021-06-27 21:53:41 +05:30
Ciprian Hacman
1721be087d nodeport tests: node addresses must match the service IP family 2021-06-26 10:00:46 +03:00
mgutierrez98
70124846fa control plane typo in node role path 2021-06-26 00:33:32 +00:00
mgutierrez98
80171465b3 Renamed variable containing master to control plane 2021-06-25 21:20:29 +00:00
Kubernetes Prow Robot
017b359770 Merge pull request #103180 from aojea/collect_ipfamily
Services tests for NodePorts must match the Node Address and Service IP family
2021-06-25 12:13:32 -07:00
Kubernetes Prow Robot
d47448cc85 Merge pull request #103114 from learner0810/fix/remove-errors-pkg
update to remove github.com/pkg/errors
2021-06-25 12:13:11 -07:00
Kubernetes Prow Robot
b132b69700 Merge pull request #103073 from ravisantoshgudimetla/add-e2e-minReadySeconds
StatefulSet minReadySeconds e2e
2021-06-25 12:12:59 -07:00
Antonio Ojea
916dbc335c nodeport tests: node addresses must match the service IP family 2021-06-25 10:34:42 +02:00
Antonio Ojea
02a3caba9c refactor default IP family cluster detection 2021-06-25 10:34:42 +02:00
Claudiu Belu
9accb994df tests: Wait for the network connectivity first
Some tests are checking the network connectivity using gomega.Consistently,
which will fail if any of the checks fails. This could lead to flakyness in
some scenarios in which kube-proxy was supposed to apply Policies for
Kubernetes services.

We can instead wait for the network connectivity to work first using gomega.Eventually,
after which we can check the consistency.
2021-06-25 00:56:37 -07:00
Kubernetes Prow Robot
7a9c8940fd Merge pull request #102682 from chendave/e2e_storage
Check empty zone after the validation of providers
2021-06-24 18:56:44 -07:00
Kubernetes Prow Robot
7eae33cb0e Merge pull request #101464 from Nick-Triller/deflake_assert_events
e2e: deflake test by not relying on events
2021-06-24 17:44:45 -07:00