summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfisherxu <xufei40@huawei.com>2020-02-20 17:44:34 +0800
committerfisherxu <xufei40@huawei.com>2020-02-28 14:53:47 +0800
commitdbef471bc35717d7d723b99a0929689dea412cbb (patch)
tree0f2096c78e9166fd7f311c44000f407e3915b77d
parentfix for edgecore (diff)
downloadkubeedge-dbef471bc35717d7d723b99a0929689dea412cbb.tar.gz
support init & join at same host
-rw-r--r--keadm/cmd/keadm/app/cmd/common/types.go11
-rw-r--r--keadm/cmd/keadm/app/cmd/util/centosinstaller.go4
-rw-r--r--keadm/cmd/keadm/app/cmd/util/cloudinstaller.go2
-rw-r--r--keadm/cmd/keadm/app/cmd/util/edgecoreinstaller.go2
-rw-r--r--keadm/cmd/keadm/app/cmd/util/ubuntuinstaller.go40
5 files changed, 38 insertions, 21 deletions
diff --git a/keadm/cmd/keadm/app/cmd/common/types.go b/keadm/cmd/keadm/app/cmd/common/types.go
index c4fc1e159..5c8e4df97 100644
--- a/keadm/cmd/keadm/app/cmd/common/types.go
+++ b/keadm/cmd/keadm/app/cmd/common/types.go
@@ -57,6 +57,15 @@ const (
KubeEdgeEdgeRunning
)
+//ModuleRunning is defined to know the running status of KubeEdge components
+type ComponentType string
+
+//All Component type
+const (
+ CloudCore ComponentType = "cloudcore"
+ EdgeCore ComponentType = "edgecore"
+)
+
//ToolsInstaller interface for tools with install and teardown methods.
type ToolsInstaller interface {
InstallTools() error
@@ -67,7 +76,7 @@ type ToolsInstaller interface {
type OSTypeInstaller interface {
InstallMQTT() error
IsK8SComponentInstalled(string, string) error
- InstallKubeEdge() error
+ InstallKubeEdge(ComponentType) error
SetKubeEdgeVersion(string)
RunEdgeCore() error
KillKubeEdgeBinary(string) error
diff --git a/keadm/cmd/keadm/app/cmd/util/centosinstaller.go b/keadm/cmd/keadm/app/cmd/util/centosinstaller.go
index 738cd59b6..264b28d58 100644
--- a/keadm/cmd/keadm/app/cmd/util/centosinstaller.go
+++ b/keadm/cmd/keadm/app/cmd/util/centosinstaller.go
@@ -19,6 +19,8 @@ package util
import (
"fmt"
"os/exec"
+
+ types "github.com/kubeedge/kubeedge/keadm/cmd/keadm/app/cmd/common"
)
//CentOS struct objects shall have information of the tools version to be installed
@@ -96,7 +98,7 @@ func (c *CentOS) IsK8SComponentInstalled(component, defVersion string) error {
//InstallKubeEdge downloads the provided version of KubeEdge.
//Untar's in the specified location /etc/kubeedge/ and then copies
//the binary to excecutables' path (eg: /usr/local/bin)
-func (c *CentOS) InstallKubeEdge() error {
+func (c *CentOS) InstallKubeEdge(componentType types.ComponentType) error {
fmt.Println("InstallKubeEdge called")
return nil
}
diff --git a/keadm/cmd/keadm/app/cmd/util/cloudinstaller.go b/keadm/cmd/keadm/app/cmd/util/cloudinstaller.go
index 3a3a5289e..4fdb813ba 100644
--- a/keadm/cmd/keadm/app/cmd/util/cloudinstaller.go
+++ b/keadm/cmd/keadm/app/cmd/util/cloudinstaller.go
@@ -24,7 +24,7 @@ func (cu *KubeCloudInstTool) InstallTools() error {
cu.SetOSInterface(GetOSInterface())
cu.SetKubeEdgeVersion(cu.ToolVersion)
- err := cu.InstallKubeEdge()
+ err := cu.InstallKubeEdge(types.CloudCore)
if err != nil {
return err
}
diff --git a/keadm/cmd/keadm/app/cmd/util/edgecoreinstaller.go b/keadm/cmd/keadm/app/cmd/util/edgecoreinstaller.go
index 82e320c67..84b4331e4 100644
--- a/keadm/cmd/keadm/app/cmd/util/edgecoreinstaller.go
+++ b/keadm/cmd/keadm/app/cmd/util/edgecoreinstaller.go
@@ -43,7 +43,7 @@ func (ku *KubeEdgeInstTool) InstallTools() error {
ku.SetOSInterface(GetOSInterface())
ku.SetKubeEdgeVersion(ku.ToolVersion)
- err := ku.InstallKubeEdge()
+ err := ku.InstallKubeEdge(types.EdgeCore)
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 9eee8c687..52c97937e 100644
--- a/keadm/cmd/keadm/app/cmd/util/ubuntuinstaller.go
+++ b/keadm/cmd/keadm/app/cmd/util/ubuntuinstaller.go
@@ -105,7 +105,7 @@ func (u *UbuntuOS) IsK8SComponentInstalled(kubeConfig, master string) error {
// InstallKubeEdge downloads the provided version of KubeEdge.
// Untar's in the specified location /etc/kubeedge/ and then copies
// the binary to excecutables' path (eg: /usr/local/bin)
-func (u *UbuntuOS) InstallKubeEdge() error {
+func (u *UbuntuOS) InstallKubeEdge(componentType types.ComponentType) error {
var (
dwnldURL string
cmd *Command
@@ -179,31 +179,37 @@ func (u *UbuntuOS) InstallKubeEdge() error {
SKIPDOWNLOADAND:
// Compatible with 1.0.0
- var untarFileAndMoveEdgeCore, moveCloudCore string
+ var untarFileAndMoveCloudCore, untarFileAndMoveEdgeCore string
if u.KubeEdgeVersion >= "1.1.0" {
- untarFileAndMoveEdgeCore = fmt.Sprintf("cd %s && tar -C %s -xvzf %s && cp %s%s/edge/%s %s/",
- KubeEdgePath, KubeEdgePath, filename, KubeEdgePath, dirname, KubeEdgeBinaryName, KubeEdgeUsrBinPath)
- moveCloudCore = fmt.Sprintf("cd %s && cp %s%s/cloud/cloudcore/%s %s/",
- KubeEdgePath, KubeEdgePath, dirname, KubeCloudBinaryName, KubeEdgeUsrBinPath)
+ if componentType == types.CloudCore {
+ untarFileAndMoveCloudCore = fmt.Sprintf("cd %s && tar -C %s -xvzf %s && cp %s%s/cloud/%s %s/",
+ KubeEdgePath, KubeEdgePath, filename, KubeEdgePath, dirname, KubeCloudBinaryName, KubeEdgeUsrBinPath)
+ }
+ if componentType == types.EdgeCore {
+ untarFileAndMoveEdgeCore = fmt.Sprintf("cd %s && tar -C %s -xvzf %s && cp %s%s/edge/%s %s/",
+ KubeEdgePath, KubeEdgePath, filename, KubeEdgePath, dirname, KubeEdgeBinaryName, KubeEdgeUsrBinPath)
+ }
} else {
untarFileAndMoveEdgeCore = fmt.Sprintf("cd %s && tar -C %s -xvzf %s && cp %skubeedge/edge/%s %s/.",
KubeEdgePath, KubeEdgePath, filename, KubeEdgePath, KubeEdgeBinaryName, KubeEdgeUsrBinPath)
- moveCloudCore = fmt.Sprintf("cd %s && cp %skubeedge/cloud/%s %s/.",
+ untarFileAndMoveEdgeCore = fmt.Sprintf("cd %s && cp %skubeedge/cloud/%s %s/.",
KubeEdgePath, KubeEdgePath, KubeCloudBinaryName, KubeEdgeUsrBinPath)
}
- stdout, err := runCommandWithShell(untarFileAndMoveEdgeCore)
- if err != nil {
- return err
+ if componentType == types.CloudCore {
+ stdout, err := runCommandWithShell(untarFileAndMoveCloudCore)
+ if err != nil {
+ return err
+ }
+ fmt.Println(stdout)
}
- fmt.Println(stdout)
-
- stdout, err = runCommandWithShell(moveCloudCore)
- if err != nil {
- return err
+ if componentType == types.EdgeCore {
+ stdout, err := runCommandWithShell(untarFileAndMoveEdgeCore)
+ if err != nil {
+ return err
+ }
+ fmt.Println(stdout)
}
- fmt.Println(stdout)
-
return nil
}