Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
k3s
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
k3s
Commits
bcef72bf
Unverified
Commit
bcef72bf
authored
Nov 12, 2018
by
k8s-ci-robot
Committed by
GitHub
Nov 12, 2018
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #70877 from yagonobre/reset
Handler error when kubeconfig file not exist on kubeadm reset
parents
468c99ea
5e31a6bb
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
33 additions
and
13 deletions
+33
-13
reset.go
cmd/kubeadm/app/cmd/reset.go
+12
-7
reset_test.go
cmd/kubeadm/app/cmd/reset_test.go
+21
-6
No files found.
cmd/kubeadm/app/cmd/reset.go
View file @
bcef72bf
...
...
@@ -18,7 +18,6 @@ package cmd
import
(
"bufio"
"errors"
"fmt"
"io"
"os"
...
...
@@ -26,6 +25,7 @@ import (
"path/filepath"
"strings"
"github.com/pkg/errors"
"github.com/spf13/cobra"
"k8s.io/klog"
...
...
@@ -51,6 +51,7 @@ func NewCmdReset(in io.Reader, out io.Writer) *cobra.Command {
var
criSocketPath
string
var
ignorePreflightErrors
[]
string
var
forceReset
bool
var
client
clientset
.
Interface
kubeConfigFile
:=
kubeadmconstants
.
GetAdminKubeConfigPath
()
cmd
:=
&
cobra
.
Command
{
...
...
@@ -61,8 +62,10 @@ func NewCmdReset(in io.Reader, out io.Writer) *cobra.Command {
kubeadmutil
.
CheckErr
(
err
)
kubeConfigFile
=
cmdutil
.
FindExistingKubeConfig
(
kubeConfigFile
)
client
,
err
:=
getClientset
(
kubeConfigFile
,
false
)
kubeadmutil
.
CheckErr
(
err
)
if
_
,
err
:=
os
.
Stat
(
kubeConfigFile
);
!
os
.
IsNotExist
(
err
)
{
client
,
err
=
getClientset
(
kubeConfigFile
,
false
)
kubeadmutil
.
CheckErr
(
err
)
}
r
,
err
:=
NewReset
(
in
,
ignorePreflightErrorsSet
,
forceReset
,
certsDir
,
criSocketPath
)
kubeadmutil
.
CheckErr
(
err
)
...
...
@@ -189,11 +192,13 @@ func getEtcdDataDir(manifestPath string, client clientset.Interface) (string, er
const
etcdVolumeName
=
"etcd-data"
var
dataDir
string
cfg
,
err
:=
configutil
.
FetchConfigFromFileOrCluster
(
client
,
os
.
Stdout
,
"reset"
,
""
,
false
)
if
err
==
nil
{
return
cfg
.
Etcd
.
Local
.
DataDir
,
nil
if
client
!=
nil
{
cfg
,
err
:=
configutil
.
FetchConfigFromFileOrCluster
(
client
,
os
.
Stdout
,
"reset"
,
""
,
false
)
if
err
==
nil
{
return
cfg
.
Etcd
.
Local
.
DataDir
,
nil
}
klog
.
Warningf
(
"[reset] Unable to fetch the kubeadm-config ConfigMap, using etcd pod spec as fallback: %v"
,
err
)
}
klog
.
Warningf
(
"[reset] Unable to fetch the kubeadm-config ConfigMap, using etcd pod spec as fallback: %v"
,
err
)
etcdPod
,
err
:=
utilstaticpod
.
ReadStaticPodFromDisk
(
manifestPath
)
if
err
!=
nil
{
...
...
cmd/kubeadm/app/cmd/reset_test.go
View file @
bcef72bf
...
...
@@ -273,30 +273,38 @@ func TestGetEtcdDataDir(t *testing.T) {
podYaml
string
expectErr
bool
writeManifest
bool
validClient
bool
}{
"non-existent file returns error"
:
{
dataDir
:
""
,
podYaml
:
""
,
expectErr
:
true
,
writeManifest
:
false
,
validClient
:
true
,
},
"return etcd data dir"
:
{
dataDir
:
"/path/to/etcd"
,
podYaml
:
etcdPod
,
expectErr
:
false
,
writeManifest
:
true
,
validClient
:
true
,
},
"invalid etcd pod"
:
{
dataDir
:
""
,
podYaml
:
etcdPodInvalid
,
expectErr
:
true
,
writeManifest
:
true
,
validClient
:
true
,
},
"etcd pod spec without data volume"
:
{
dataDir
:
""
,
podYaml
:
etcdPodWithoutDataVolume
,
expectErr
:
true
,
writeManifest
:
true
,
validClient
:
true
,
},
"kubeconfig file doesn't exist"
:
{
dataDir
:
"/path/to/etcd"
,
podYaml
:
etcdPod
,
expectErr
:
false
,
writeManifest
:
true
,
validClient
:
false
,
},
}
...
...
@@ -312,8 +320,15 @@ func TestGetEtcdDataDir(t *testing.T) {
}
}
client
:=
clientsetfake
.
NewSimpleClientset
()
dataDir
,
err
:=
getEtcdDataDir
(
manifestPath
,
client
)
var
dataDir
string
var
err
error
if
test
.
validClient
{
client
:=
clientsetfake
.
NewSimpleClientset
()
dataDir
,
err
=
getEtcdDataDir
(
manifestPath
,
client
)
}
else
{
dataDir
,
err
=
getEtcdDataDir
(
manifestPath
,
nil
)
}
if
(
err
!=
nil
)
!=
test
.
expectErr
{
t
.
Fatalf
(
dedent
.
Dedent
(
"getEtcdDataDir failed
\n
%s
\n
expected error: %t
\n\t
got: %t
\n
error: %v"
),
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment