Commit Graph

125311 Commits

Author SHA1 Message Date
Lubomir I. Ivanov
30f9893374 kubeadm: refactor the dry-run logic
The current dryrun client implemnetation is suboptimal
and sparse. It has the following problems:

- When an object CREATE or UPDATE reaches the default dryrun client
the operation is a NO-OP, which means subsequent GET calls must
fully emulate the object that exists in the store.
- There are multiple implmentations of a DryRunGetter interface
such the one in init_dryrun.go but there are no implementations
for reset, upgrade, join.
- There is a specific DryRunGetter that is backed by a real
client in clientbacked_dryrun.go, but this is used for upgrade
and does not work in conjuction with a fake client.

This commit does the following changes:

- Removes all existing *dryrun*.go implementations.
- Add a new DryRun implementation in dryrun.go that implements
3 clients - fake clientset, real clientset, real dynamic client.
- The DryRun object uses the method chaining pattern.
- Allows the user opt-in into real clients only if needed, by passing
a real kubeconfig. By default only constructs a fake client.
- The default reactor chain for the fake client, always logs the
object action, then for GET or LIST actions attempts to use the
real dynamic client to get the object. If a real object does not
exist it attempts to get the object from the fake object store.
- The user can prepend or append reactors to the chain.
- All known needed reactors for operations during init, join,
reset, upgrade are added as methods of the DryRun struct.
- Adds detailed unit test for the DryRun struct and its methods
including reactors.

Additional changes:
- Use the new DryRun implementation in all command workflows -
init, join, reset, upgrade.
- Ensure that --dry-run works even if there is no active cluster
by returning faked objects. For join, a faked cluster-info
with a fake bootstrap token and CA are used.
2024-10-11 00:15:59 +03:00
Kubernetes Prow Robot
5973accf48
Merge pull request #127570 from soltysh/do_not_return_err
Do not return error where it's not needed
2024-09-24 10:20:01 +01:00
Kubernetes Prow Robot
2ade53e264
Merge pull request #124947 from toVersus/fix/eviction-message
[Sidecar Containers] Consider init containers in eviction message
2024-09-24 08:58:00 +01:00
Kubernetes Prow Robot
f0036aac21
Merge pull request #127572 from soltysh/reuse_helper
Reuse CreateTestCRD helper for kubectl e2e
2024-09-24 06:05:59 +01:00
Kubernetes Prow Robot
4851ea85e0
Merge pull request #127582 from dims/avoid-collecting-dmesg-when-running-as-daemon
Avoid collecting dmesg when running as daemon
2024-09-24 04:55:59 +01:00
Davanum Srinivas
1dc29b74b9
Avoid collecting dmesg when running as daemon
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2024-09-23 21:32:05 -04:00
Kubernetes Prow Robot
94df29b8f2
Merge pull request #127464 from sanposhiho/trigger-nodedelete
fix(eventhandler): trigger Node/Delete event
2024-09-24 02:24:00 +01:00
Kubernetes Prow Robot
1137a6a0cc
Merge pull request #127093 from jpbetz/retry-generate-name-ga
Promote RetryGenerateName to GA
2024-09-24 00:46:06 +01:00
Kubernetes Prow Robot
d6bb550b10
Merge pull request #122890 from HirazawaUi/fix-pod-grace-period
[kubelet]: Fix the bug where pod grace period will be overwritten
2024-09-24 00:45:59 +01:00
Kubernetes Prow Robot
211d67a511
Merge pull request #125398 from AxeZhan/pvAffinity
[scheduler] When the hostname and nodename of a node do not match, ensure that pods carrying PVs with nodeAffinity are scheduled correctly.
2024-09-23 21:22:02 +01:00
Kubernetes Prow Robot
851cf43a35
Merge pull request #127487 from hakuna-matatah/jobperf-delete-eventhandler
Offload the main Job reconciler w.r.t cleaning finalizers
2024-09-23 18:08:06 +01:00
Kubernetes Prow Robot
7ff0580bc8
Merge pull request #127458 from ii/promote-volume-attachment-status-test
Promote e2e test for VolumeAttachmentStatus Endpoints +3 Endpoints
2024-09-23 18:08:00 +01:00
Maciej Szulik
b51d6308a7
Reuse CreateTestCRD helper for kubectl e2e 2024-09-23 18:32:27 +02:00
Maciej Szulik
3bff2b7ee9
Do not return error where it's not needed 2024-09-23 18:12:31 +02:00
Kubernetes Prow Robot
ff391cefe2
Merge pull request #127547 from dims/skip-reinstallation-of-gpu-daemonset
Skip re-installation of GPU daemonset
2024-09-23 15:28:00 +01:00
Kubernetes Prow Robot
f187480140
Merge pull request #127558 from pohly/e2e-framework-docs
e2e framework: better documentation of ExpectNoError
2024-09-23 14:12:00 +01:00
Kubernetes Prow Robot
c9d6fd9ff7
Merge pull request #127500 from p0lyn0mial/upstream-assign-rv-to-watchCacheInterval
cacher: prevents sending events with ResourceVersion < RequiredResourceVersion
2024-09-23 12:51:59 +01:00
Kubernetes Prow Robot
15d08bf7c8
Merge pull request #127323 from vrutkovs/tracing-cacher-get
tracing: add span for get cacher
2024-09-23 10:27:59 +01:00
Patrick Ohly
e5aa609513 e2e framework: better documentation of ExpectNoError
It wasn't clear from the comments what "explain" does, leading to calls like
this:

   framework.ExpectNoError(fmt.Errorf("additional info ....: %v", ..., err))
2024-09-23 10:58:06 +02:00
Kubernetes Prow Robot
df5787a57f
Merge pull request #127540 from mmorel-35/testifylint/error-is-as@k8s.io/apiserver
fix: enable error-is-as rule from testifylint in module `k8s.io/apiserver`
2024-09-23 09:06:13 +01:00
Kubernetes Prow Robot
19500e8551
Merge pull request #127524 from mjudeikis/mjudeikis/extend.group.manager
Add GroupLister interface to discovery GroupManager
2024-09-23 09:06:06 +01:00
Kubernetes Prow Robot
89f418f29e
Merge pull request #127481 from kannon92/fix-mount-propogation-flake
Use the last kubelet pid in the pidof command
2024-09-23 09:05:59 +01:00
Kubernetes Prow Robot
e456fbfaa6
Merge pull request #127545 from mjudeikis/mjudeikis/sa.flow.fix
Fix npe in serviceAccount  flow
2024-09-23 08:00:06 +01:00
Kubernetes Prow Robot
257d6f3f5b
Merge pull request #127512 from bergerhoffer/adding-interactive-delete
Adding example for interactive delete
2024-09-23 07:59:59 +01:00
Kubernetes Prow Robot
25aa9cd074
Merge pull request #127534 from mmorel-35/testifylint/contains@k8s.io/kubectl
fix: enable contains rule from testifylint in module `k8s.io/kubectl`
2024-09-23 05:53:59 +01:00
Kubernetes Prow Robot
4c2e239047
Merge pull request #126799 from kiashok/update-cadvisor-hcsshim
Update cadvisor and hcsshim versions
2024-09-23 02:39:58 +01:00
Davanum Srinivas
1abbb00067
Double a couple of other timeouts
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2024-09-22 19:36:39 -04:00
Kubernetes Prow Robot
fd44b5bf3b
Merge pull request #127544 from mjudeikis/mjudeikis/npe.check.fix
Fix npe when running in limited config in generic-control-plane mode
2024-09-22 22:30:05 +01:00
Kubernetes Prow Robot
5f0b2a8a26
Merge pull request #127533 from mmorel-35/testifylint/blank-import
fix: enable blank-import rule from testifylint
2024-09-22 22:29:58 +01:00
Kubernetes Prow Robot
f7085634de
Merge pull request #127529 from mmorel-35/testifylint/compares@k8s.io/apiserver
fix: enable compares rule from testifylint in module k8s.io/apiserver
2024-09-22 21:26:05 +01:00
Kubernetes Prow Robot
6bd57ffc5c
Merge pull request #127527 from mmorel-35/testifylint/compares@k8s.io/client-go
fix: enable compares rule from testifylint in module k8s.io/client-go
2024-09-22 21:25:59 +01:00
Kubernetes Prow Robot
5253ca0511
Merge pull request #127528 from mmorel-35/testifylint/compares@k8s.io/kubernetes
fix: enable compares rule from testifylint in module k8s.io/kubernetes
2024-09-22 20:19:59 +01:00
Kirtana Ashok
3fba9930b7 Update cadvisor and hcsshim versions
Signed-off-by: Kirtana Ashok <kiashok@microsoft.com>
2024-09-22 11:50:45 -07:00
Davanum Srinivas
92683139d7
Skip re-installation of GPU daemonset
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2024-09-22 13:54:12 -04:00
Mangirdas Judeikis
4783af9a49 fix npe when running in limited config in generic-control-plane mode 2024-09-22 19:06:45 +03:00
Kensei Nakada
421f87a4e3 feat: add a requeueing integration test for PodTopologySpread with Node/delete event (QHint: disabled) 2024-09-23 00:29:56 +09:00
Matthieu MOREL
0dfc6e2843 fix: enable error-is-as rule from testifylint in module k8s.io/apiserver
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2024-09-22 15:08:25 +00:00
Mangirdas Judeikis
cf6d113f24 fix npe in serviceAccount flow 2024-09-22 16:04:48 +03:00
Mangirdas Judeikis
ee55200440 Add GroupLister interface to discovery GroupManager
Signed-off-by: Mangirdas Judeikis <mangirdas@judeikis.lt>
2024-09-22 15:37:19 +03:00
Matthieu MOREL
1e7bd5541e fix: enable contains rule from testifylint in module k8s.io/kubectl
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2024-09-22 11:56:01 +02:00
Matthieu MOREL
552cebfa7e fix: enable blank-import rule from testifylint
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2024-09-22 11:36:42 +02:00
Matthieu MOREL
fa0e38981c fix: enable compares rule from testifylint in module k8s.io/kubernetes
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2024-09-22 11:20:05 +02:00
Matthieu MOREL
407d74fb6a fix: enable compares rule from testifylint in module
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2024-09-22 10:43:42 +02:00
Kensei Nakada
bf8f7a3ad7 feat: add a requeueing integration test for PodTopologySpread with Node/delete event 2024-09-22 17:34:37 +09:00
Kensei Nakada
91aad7c97f fix(eventhandler): trigger Node/Delete event 2024-09-22 17:29:00 +09:00
Matthieu MOREL
6e82050ef0 fix: enable compares rule from testifylint in module k8s.io/apiserver
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2024-09-22 09:14:08 +02:00
Kubernetes Prow Robot
61dbc03563
Merge pull request #127471 from macsko/add_deletepodsop_to_scheduler_perf
Add deletePodsOp to scheduler_perf
2024-09-22 07:00:04 +01:00
Kubernetes Prow Robot
a87215915f
Merge pull request #127447 from sanposhiho/bug-topologyspread
fix(topologyspread): register UpdatePodTolerations when QHint is enabled
2024-09-22 06:59:58 +01:00
Vadim Rutkovsky
dff0075e7c
tracing: add span for cacher.Get
Also updates tracing integration tests for cacher.GetList
2024-09-21 09:53:43 +02:00
Kubernetes Prow Robot
221bf19ee0
Merge pull request #127309 from ii/create-csinode-lifecycle-test
Write e2e test for StorageV1CSINode  Endpoints +6 Endpoints
2024-09-21 03:59:59 +01:00