Commit Graph

4050 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
8e20effbb7 Merge pull request #114695 from chendave/fix_cross_move
kubeadm: backup kubelet config for "upgrade node" and "upgrade apply"
2023-02-07 02:18:58 -08:00
Kubernetes Prow Robot
6eb008620c Merge pull request #115379 from artemvmin/serial-mkfs
Add an option to limit the number of concurrent mkfs calls
2023-02-06 18:26:58 -08:00
Kubernetes Prow Robot
561a35f358 Merge pull request #115038 from mercedes-benz/tobiasgiese/kubeadmfix-etcd-learner-join
kubeadm: fix etcd learner join
2023-02-06 02:09:01 -08:00
Artem Minyaylov
f573e14942 Update k8s.io/utils to latest version
Update all usages of FakeExec to pointer to avoid copying the mutex
2023-02-04 11:05:22 -08:00
Dave Chen
5127cbf949 kubeadm: backup kubelet config file for upgrade apply
Back up kubelet config file for `kubeadm upgrade apply`, some code
refactoring is done to de-dup some redundant code logic.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2023-02-02 12:09:18 +08:00
Dave Chen
9e6e13e562 kubeadm: include the err got from PrintDryRunFile
The error was ingored which means if anything wrong from `PrintDryRunFiles`,
it was sliently ignored.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2023-02-02 12:00:19 +08:00
Dave Chen
c55a98fde9 kubeadm: fix invalid cross-device link error
The root cause for that error is because `rename` doesn't work
across different mount points.

The kubelet config file and back up directory are mounted to
different file system in kinder environment.

```
df /var/lib/kubelet/config.yaml | tail -n1 | awk '{print $1}'
/dev/sda2

df /etc/kubernetes/tmp/kubeadm-kubelet-configxxx | tail -n1 | awk '{print $1}'
overlay
```

Call `cp` instead of `rename` to back up the kubelet file would fix
that issue.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2023-02-02 11:43:18 +08:00
Dave Chen
016cc0c120 kubeadm:[cherry-pick]backup kubelet config for "upgrade node"
This addresses the TODO item so that the old kubelet config file could
be recovered if something goes wrong.

Signed-off-by: Dave Chen <dave.chen@arm.com>
Co-authored-by: Paco Xu <paco.xu@daocloud.io>
2023-02-02 11:43:18 +08:00
Kubernetes Prow Robot
5681b0da14 Merge pull request #115338 from danwinship/nodeutil.gethostname
Move GetHostname() from k/k/pkg/util/node to k/component-helpers/node/util
2023-01-30 09:07:20 -08:00
Dan Winship
f994ae2521 Move GetHostname() from k/k/pkg/util/node to k/component-helpers/node/util
In fact, this actually uses pkg/util/node's GetHostname() but takes
the unit tests from cmd/kubeadm/app/util's private fork of that
function since they were more extensive. (Of course the fact that
kubeadm had a private fork of this function is a strong argument for
moving it to component-helpers.)
2023-01-27 18:24:38 -05:00
Mohamed Zaian
90570b7595 etcd: Update to version 3.5.7 2023-01-27 17:24:00 +01:00
Tobias Giese
ea46c91868 kubeadm: promote member after the static pod manifest was written
Signed-off-by: Tobias Giese <tobias.giese@mercedes-benz.com>
Co-authored-by: Christian Schlotter <christi.schlotter@gmail.com>
2023-01-16 11:11:58 +01:00
Lubomir I. Ivanov
7938631e22 Revert "UpdateOrCreateToken get secrets err handling optimization" 2023-01-14 00:11:49 +02:00
Kubernetes Prow Robot
a66aad2d80 Merge pull request #115000 from helen-frank/feature/UpdateOrCreateTokenAddErrProcessing
UpdateOrCreateToken get secrets err handling optimization
2023-01-12 19:57:12 -08:00
Kubernetes Prow Robot
2b69bec35d Merge pull request #114901 from SataQiu/fix-lint-error-20230108
Fix gocritic lint errors for cmd/kubeadm/*
2023-01-12 09:05:06 -08:00
helen
e6591d24ce when UpdateOrCreateTokens get secrets, if the error is not a NotFound, the error is thrown in time
Signed-off-by: helen <haitao.zhang@daocloud.io>
2023-01-12 20:50:02 +08:00
SataQiu
3df577ea28 kubeadm: remove unused variable DefaultAuditPolicyLogMaxAge 2023-01-12 12:30:30 +08:00
Claudiu Belu
3af2c257e8 unit tests: Fixes kubeadm enforce requirements test
enforceRequirements will run preflight checks, including whether the user
is privileged is not. Because of this, the test will make different assertions
based on the user's UID. However, we don't have UIDs on Windows, so we're asserting
the wrong thing.

This fix addresses the issue.
2023-01-10 16:56:14 +00:00
SataQiu
e0f11d9c5b kubeadm: fix gocritic lint errors 2023-01-08 11:23:26 +08:00
SataQiu
5d99ad1182 kubeadm: update .import-restrictions 2023-01-07 23:46:02 +08:00
Kubernetes Prow Robot
4a98fa2536 Merge pull request #114540 from pacoxu/kubeadm-v1beta2
remove deprecated Kubeadm v1beta2 API
2023-01-05 21:29:58 -08:00
Kubernetes Prow Robot
2d534e4bea Merge pull request #114842 from chendave/nil_pointer
kubeadm: fix the nil pointer dereference in testcase
2023-01-05 05:32:22 -08:00
Paco Xu
cca7a205ad remove kubeadm v1beta2 support 2023-01-05 21:30:26 +08:00
Dave Chen
23f75bf40e kubeadm: fix the nil pointer dereference in testcase
`genCSRConfig.kubeadmConfig` is possible to be nil if there any error
from the config loading, so access the field should only be done if
there is no error in the previous step.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2023-01-05 16:21:15 +08:00
Dave Chen
49732716de kubeadm: unittest might run as non-root
Signed-off-by: Dave Chen <dave.chen@arm.com>
2023-01-05 12:13:19 +08:00
Paco Xu
b3056ea9bd remove the deprecated kubeadm v1beta2 API 2023-01-04 12:19:15 +08:00
Dave Chen
fd60b9c492 kubeadm: return the output from stdout and stderr
It was just saying the copy of file failed with `exit status 1`,
no much details for what's going wrong.

Combine the stderr and stdout and show those info will be easier
for us to fix the problem.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2023-01-03 10:45:12 +08:00
Kubernetes Prow Robot
8a71485643 Merge pull request #114658 from neolit123/1.27-fix-dry-run-server-version
kubeadm: return stored FakedServerVersion when dry-running
2022-12-22 19:05:26 -08:00
Lubomir I. Ivanov
f8da9ab287 kubeadm: return stored FakedServerVersion when dry-running
If we are dry-running, do not attempt to fetch the /version
resource and just return the stored FakeServerVersion,
which is done when constructing the dry-run client in
upgrade/common.go#getClient().

The problem here is that during upgrade
dry-run client reactors are backed by a dynamic client
via NewClientBackedDryRunGetterFromKubeconfig() and
for GetActions there seems to be no analog to
Discovery().Serverversion() resource for a dynamic client(?).
2022-12-22 19:53:35 +02:00
Kubernetes Prow Robot
30e0e8edb9 Merge pull request #114597 from songxiao-wang87/runwxs-test10
Add test for cmd/kubeadm/app/images/images.go
2022-12-22 00:13:25 -08:00
Kubernetes Prow Robot
a6d66d15f6 Merge pull request #114632 from neolit123/1.27-fix-dry-run-server-version
kubeadm: handle dry run GET actions from fake discovery
2022-12-21 04:11:26 -08:00
Lubomir I. Ivanov
54b73deaca kubeadm: handle dry run GET actions from fake discovery
The kubeadm dry run client reactor code is flawed as it assumes
all invoked "get" verb actions can be casted to GetAction.
Apparently that is not the case when Discovery().ServerVersion()
and other discovery calls are made. In such cases the action
type is the bare ActionImpl.

Catch if an action can be casted to ActionImpl and construct a
GetAction from it. GetActionImpl only suppersets ActionImpl with
a Name field (empty string in this case).

Add unit test for Discovery().ServerVersion().
2022-12-21 11:49:59 +02:00
songxiao-wang87
e09c1327b0 Making a run test.
Signed-off-by: songxiao-wang87 <wang.xiaosong23@zte.com.cn>
2022-12-21 07:00:35 +00:00
Lubomir I. Ivanov
b0f38b223e kubeadm: revert feature to backup kubelet config for "upgrade node"
There seems to be a bug where it's not possible to write to
/etc/kubernetes/tmp... at the time of backing up the old kubelet
config.yaml

Also this kubelet config backup only targets "upgrade node"
and it should also target "upgrade apply".

Revert the related changes until a fully working feature
is implemented.
2022-12-20 16:28:28 +02:00
Kubernetes Prow Robot
03bfbdd8aa Merge pull request #114455 from SataQiu/fix-kubeadm-2022121302
kubeadm: fix the bug that kubeadm always do CRI detection even if it is not required by phase subcommand
2022-12-19 00:51:44 -08:00
Jordan Liggitt
78cb3862f1 Fix indentation/spacing in comments to render correctly in godoc 2022-12-17 23:27:38 -05:00
Kubernetes Prow Robot
fdafd50085 Merge pull request #113318 from pacoxu/learner-mode
kubeadm: enable etcd's learner mode when joining etcd members
2022-12-16 21:55:41 -08:00
Paco Xu
37f5da904b kubeadm: remove nested loops for member promotion 2022-12-17 12:40:15 +08:00
Paco Xu
b3deecfb17 add etcd as learner mode and promote when fg EtcdLearnerMode is enabled
- use etcd backoff to wait; still has many warning messages
Signed-off-by: Paco Xu <paco.xu@daocloud.io>
2022-12-16 21:09:59 +08:00
Paco Xu
0d2952202e kubeadm upgrade: fix dry run of backing up kubelet config file
Signed-off-by: Paco Xu <paco.xu@daocloud.io>
2022-12-16 17:02:28 +08:00
Kubernetes Prow Robot
c1c0e4fe0b Merge pull request #114489 from aimuz/replace2tag
kubeadm: replace Runtime.GOOS with go:build tag
2022-12-15 07:27:47 -08:00
Kubernetes Prow Robot
930271fbd8 Merge pull request #114330 from chendave/backup_kubelet
kubeadm: backup the kubelet config file before writting the new one
2022-12-15 07:27:36 -08:00
aimuz
4860b67b48 kubeadm: replace Runtime.GOOS with go:build tag
Signed-off-by: aimuz <mr.imuz@gmail.com>
2022-12-15 17:57:45 +08:00
Dave Chen
cd1f082179 kubeadm: backup the kubelet config file before writting the new one
This addresses the TODO item so that the old kubelet config file could
be recovered if something goes wrong.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2022-12-15 10:16:36 +08:00
Kubernetes Prow Robot
69fe066adc Merge pull request #114477 from chendave/kubeadm_reviewer
kubeadm: add chendave as kubeadm reviewer
2022-12-14 13:01:36 -08:00
Kubernetes Prow Robot
bf49c7c0b5 Merge pull request #114080 from chendave/fix_testcases
kubeadm: fix invalid testcase for `enforceRequirements`
2022-12-14 11:55:56 -08:00
Kubernetes Prow Robot
08160f7975 Merge pull request #113465 from chendave/golang_generic
kubeadm: bump to use golang generic
2022-12-14 11:55:34 -08:00
SataQiu
2501a46b80 kubeadm: avoid CRI detection for phase subcommand when it's --cri-socket flag is not set 2022-12-14 12:00:49 +08:00
Paco Xu
861db2348e kubeadm: add feature gate EtcdLearnerMode alpha 2022-12-14 11:07:46 +08:00
Dave Chen
8995346259 kubeadm: add chendave as kubeadm reviewer
Signed-off-by: Dave Chen <dave.chen@arm.com>
2022-12-14 10:54:03 +08:00