summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfisherxu <xufei40@huawei.com>2020-02-20 17:58:41 +0800
committerfisherxu <xufei40@huawei.com>2020-02-28 14:53:47 +0800
commit261fc5a6e14ca0f230672ebdb9084e93f4817382 (patch)
treec969c74e327cc87e71af490850f717b6b1303a5f
parentsupport init & join at same host (diff)
downloadkubeedge-261fc5a6e14ca0f230672ebdb9084e93f4817382.tar.gz
if cloudcore or edgecore is already running on the host, reset first
-rw-r--r--keadm/cmd/keadm/app/cmd/edge/join.go11
-rw-r--r--keadm/cmd/keadm/app/cmd/util/cloudinstaller.go1
-rw-r--r--keadm/cmd/keadm/app/cmd/util/edgecoreinstaller.go12
-rw-r--r--keadm/cmd/keadm/app/cmd/util/k8sinstaller.go10
-rw-r--r--keadm/cmd/keadm/app/cmd/util/ubuntuinstaller.go12
5 files changed, 26 insertions, 20 deletions
diff --git a/keadm/cmd/keadm/app/cmd/edge/join.go b/keadm/cmd/keadm/app/cmd/edge/join.go
index f119f4916..f4495e41a 100644
--- a/keadm/cmd/keadm/app/cmd/edge/join.go
+++ b/keadm/cmd/keadm/app/cmd/edge/join.go
@@ -34,17 +34,12 @@ further instructions and forward telemetry data from
devices to cloud
`
edgeJoinExample = `
-keadm join --cloudcoreip=<ip address> --edgenodeid=<unique string as edge identifier>
+keadm join --cloudcore-ipport=<ip:port address> --edgenode-name=<unique string as edge identifier>
- - For this command --cloudcoreip flag is a Mandatory option
+ - For this command --cloudcore-ipport flag is a required option
- This command will download and install the default version of pre-requisites and KubeEdge
-keadm join --cloudcoreip=10.20.30.40 --edgenodeid=testing123 --kubeedge-version=0.2.1 --k8sserverip=50.60.70.80:8080 --interfacename eth0
-
-- In case, any flag is used in a format like "--docker-version" or "--docker-version=" (without a value)
- then default versions shown in help will be chosen.
- The versions for "--docker-version", "--kubernetes-version" and "--kubeedge-version" flags should be in the
- format "18.06.3", "1.14.0" and "0.2.1" respectively
+keadm join --cloudcore-ipport=10.20.30.40:10000 --edgenode-name=testing123 --kubeedge-version=1.2.0
`
)
diff --git a/keadm/cmd/keadm/app/cmd/util/cloudinstaller.go b/keadm/cmd/keadm/app/cmd/util/cloudinstaller.go
index 4fdb813ba..2616dd1ab 100644
--- a/keadm/cmd/keadm/app/cmd/util/cloudinstaller.go
+++ b/keadm/cmd/keadm/app/cmd/util/cloudinstaller.go
@@ -164,6 +164,7 @@ func (cu *KubeCloudInstTool) RunCloudCore() error {
//TearDown method will remove the edge node from api-server and stop cloudcore process
func (cu *KubeCloudInstTool) TearDown() error {
cu.SetOSInterface(GetOSInterface())
+ cu.SetKubeEdgeVersion(cu.ToolVersion)
//Kill cloudcore process
cu.KillKubeEdgeBinary(KubeCloudBinaryName)
diff --git a/keadm/cmd/keadm/app/cmd/util/edgecoreinstaller.go b/keadm/cmd/keadm/app/cmd/util/edgecoreinstaller.go
index 84b4331e4..f762cd832 100644
--- a/keadm/cmd/keadm/app/cmd/util/edgecoreinstaller.go
+++ b/keadm/cmd/keadm/app/cmd/util/edgecoreinstaller.go
@@ -41,9 +41,18 @@ type KubeEdgeInstTool struct {
// and makes the required configuration changes and initiates edgecore.
func (ku *KubeEdgeInstTool) InstallTools() error {
ku.SetOSInterface(GetOSInterface())
+
+ edgeCoreRunning, err := ku.IsKubeEdgeProcessRunning(KubeEdgeBinaryName)
+ if err != nil {
+ return err
+ }
+ if edgeCoreRunning {
+ return fmt.Errorf("EdgeCore is already running on this node, please run reset to clean up first")
+ }
+
ku.SetKubeEdgeVersion(ku.ToolVersion)
- err := ku.InstallKubeEdge(types.EdgeCore)
+ err = ku.InstallKubeEdge(types.EdgeCore)
if err != nil {
return err
}
@@ -123,6 +132,7 @@ func (ku *KubeEdgeInstTool) createEdgeConfigFiles() error {
//TearDown method will remove the edge node from api-server and stop edgecore process
func (ku *KubeEdgeInstTool) TearDown() error {
ku.SetOSInterface(GetOSInterface())
+ ku.SetKubeEdgeVersion(ku.ToolVersion)
//Kill edge core process
ku.KillKubeEdgeBinary(KubeEdgeBinaryName)
diff --git a/keadm/cmd/keadm/app/cmd/util/k8sinstaller.go b/keadm/cmd/keadm/app/cmd/util/k8sinstaller.go
index b723ea75b..260ce7e30 100644
--- a/keadm/cmd/keadm/app/cmd/util/k8sinstaller.go
+++ b/keadm/cmd/keadm/app/cmd/util/k8sinstaller.go
@@ -40,7 +40,15 @@ type K8SInstTool struct {
func (ks *K8SInstTool) InstallTools() error {
ks.SetOSInterface(GetOSInterface())
- err := ks.IsK8SComponentInstalled(ks.KubeConfig, ks.Master)
+ cloudCoreRunning, err := ks.IsKubeEdgeProcessRunning(KubeCloudBinaryName)
+ if err != nil {
+ return err
+ }
+ if cloudCoreRunning {
+ return fmt.Errorf("CloudCore is already running on this node, please run reset to clean up first")
+ }
+
+ err = ks.IsK8SComponentInstalled(ks.KubeConfig, ks.Master)
if err != nil {
return err
}
diff --git a/keadm/cmd/keadm/app/cmd/util/ubuntuinstaller.go b/keadm/cmd/keadm/app/cmd/util/ubuntuinstaller.go
index 52c97937e..74ab16047 100644
--- a/keadm/cmd/keadm/app/cmd/util/ubuntuinstaller.go
+++ b/keadm/cmd/keadm/app/cmd/util/ubuntuinstaller.go
@@ -89,10 +89,6 @@ func (u *UbuntuOS) IsK8SComponentInstalled(kubeConfig, master string) error {
return fmt.Errorf("Failed to get the version of K8s master, please check whether K8s was successfully installed, err: %v", err)
}
- if serverVersion.GitVersion == "" {
- return fmt.Errorf("Failed to get the version of K8s master, please check whether K8s was successfully installed, err: %v", err)
- }
-
k8sMinorVersion, _ := strconv.Atoi(serverVersion.Minor)
if k8sMinorVersion >= types.DefaultK8SMinimumVersion {
return nil
@@ -182,7 +178,7 @@ SKIPDOWNLOADAND:
var untarFileAndMoveCloudCore, untarFileAndMoveEdgeCore string
if u.KubeEdgeVersion >= "1.1.0" {
if componentType == types.CloudCore {
- untarFileAndMoveCloudCore = fmt.Sprintf("cd %s && tar -C %s -xvzf %s && cp %s%s/cloud/%s %s/",
+ untarFileAndMoveCloudCore = fmt.Sprintf("cd %s && tar -C %s -xvzf %s && cp %s/%s/cloud/cloudcore/%s %s/",
KubeEdgePath, KubeEdgePath, filename, KubeEdgePath, dirname, KubeCloudBinaryName, KubeEdgeUsrBinPath)
}
if componentType == types.EdgeCore {
@@ -257,11 +253,7 @@ func (u *UbuntuOS) KillKubeEdgeBinary(proc string) error {
cmd := &Command{Cmd: exec.Command("sh", "-c", binExec)}
cmd.ExecuteCommand()
- if u.KubeEdgeVersion >= "1.1.0" {
- fmt.Println("KubeEdge", proc, "is stopped, For logs visit: ", KubeEdgeLogPath)
- } else {
- fmt.Println("KubeEdge is stopped, For logs visit", KubeEdgePath+"kubeedge/edge/")
- }
+ fmt.Println("KubeEdge", proc, "is stopped, For logs visit: ", KubeEdgeLogPath+proc+".log")
return nil
}