summaryrefslogtreecommitdiff
path: root/keadm
diff options
context:
space:
mode:
authorShelley-BaoYue <baoyue2@huawei.com>2023-07-24 10:21:52 +0800
committerShelley-BaoYue <baoyue2@huawei.com>2023-07-24 20:03:57 +0800
commit32485598f09b7cb4b4dd810f4e00bbe4426f7c45 (patch)
tree388e0c050a5cf69272824e8aacf12a47ae3c401b /keadm
parentfix mqtt: start mqtt container (diff)
downloadkubeedge-32485598f09b7cb4b4dd810f4e00bbe4426f7c45.tar.gz
fix reviewer opinion
Signed-off-by: Shelley-BaoYue <baoyue2@huawei.com>
Diffstat (limited to 'keadm')
-rw-r--r--keadm/cmd/keadm/app/cmd/common/content.go8
-rw-r--r--keadm/cmd/keadm/app/cmd/edge/join.go14
-rw-r--r--keadm/cmd/keadm/app/cmd/edge/upgrade.go9
3 files changed, 18 insertions, 13 deletions
diff --git a/keadm/cmd/keadm/app/cmd/common/content.go b/keadm/cmd/keadm/app/cmd/common/content.go
index ff9153d93..18db7682c 100644
--- a/keadm/cmd/keadm/app/cmd/common/content.go
+++ b/keadm/cmd/keadm/app/cmd/common/content.go
@@ -19,6 +19,8 @@ package common
import (
"fmt"
"os"
+
+ "github.com/kubeedge/kubeedge/common/constants"
)
// TODO (@zc2638) Need to migrate util's constants to common
@@ -31,14 +33,16 @@ Type=simple
ExecStart=%s
Restart=always
RestartSec=10
+Environment=%s
[Install]
WantedBy=multi-user.target
`
-func GenerateServiceFile(process string, execStartCmd string) error {
+func GenerateServiceFile(process string, execStartCmd string, withMqtt bool) error {
filename := fmt.Sprintf("%s.service", process)
- content := fmt.Sprintf(serviceFileTemplate, process, execStartCmd)
+
+ content := fmt.Sprintf(serviceFileTemplate, process, execStartCmd, fmt.Sprintf("%s=%t", constants.DeployMqttContainerEnv, withMqtt))
serviceFilePath := fmt.Sprintf("/etc/systemd/system/%s", filename)
return os.WriteFile(serviceFilePath, []byte(content), os.ModePerm)
}
diff --git a/keadm/cmd/keadm/app/cmd/edge/join.go b/keadm/cmd/keadm/app/cmd/edge/join.go
index d215eb0df..0f246e2eb 100644
--- a/keadm/cmd/keadm/app/cmd/edge/join.go
+++ b/keadm/cmd/keadm/app/cmd/edge/join.go
@@ -186,7 +186,7 @@ func join(opt *common.JoinOptions, step *common.Step) error {
}
step.Printf("Generate systemd service file")
- if err := common.GenerateServiceFile(util.KubeEdgeBinaryName, filepath.Join(util.KubeEdgeUsrBinPath, util.KubeEdgeBinaryName)); err != nil {
+ if err := common.GenerateServiceFile(util.KubeEdgeBinaryName, filepath.Join(util.KubeEdgeUsrBinPath, util.KubeEdgeBinaryName), opt.WithMQTT); err != nil {
return fmt.Errorf("create systemd service file failed: %v", err)
}
@@ -203,7 +203,7 @@ func join(opt *common.JoinOptions, step *common.Step) error {
}
step.Printf("Run EdgeCore daemon")
- err := runEdgeCore()
+ err := runEdgeCore(opt.WithMQTT)
if err != nil {
return fmt.Errorf("start edgecore failed: %v", err)
}
@@ -318,10 +318,6 @@ func createEdgeConfigFiles(opt *common.JoinOptions) error {
edgeCoreConfig.Modules.Edged.NodeLabels = setEdgedNodeLabels(opt)
}
- if !opt.WithMQTT {
- edgeCoreConfig.Modules.EventBus.EnableMqttContainer = false
- }
-
if errs := validation.ValidateEdgeCoreConfiguration(edgeCoreConfig); len(errs) > 0 {
return errors.New(pkgutil.SpliceErrors(errs.ToAggregate().Errors()))
}
@@ -412,7 +408,7 @@ func setEdgedNodeLabels(opt *common.JoinOptions) map[string]string {
return labelsMap
}
-func runEdgeCore() error {
+func runEdgeCore(withMqtt bool) error {
systemdExist := util.HasSystemd()
var binExec, tip string
@@ -423,6 +419,10 @@ func runEdgeCore() error {
common.EdgeCore, common.EdgeCore)
} else {
tip = fmt.Sprintf("KubeEdge edgecore is running, For logs visit: %s%s.log", util.KubeEdgeLogPath, util.KubeEdgeBinaryName)
+ err := os.Setenv(constants.DeployMqttContainerEnv, strconv.FormatBool(withMqtt))
+ if err != nil {
+ klog.Errorf("Set Environment %s failed, err: %v", constants.DeployMqttContainerEnv, err)
+ }
binExec = fmt.Sprintf(
"%s > %skubeedge/edge/%s.log 2>&1 &",
filepath.Join(util.KubeEdgeUsrBinPath, util.KubeEdgeBinaryName),
diff --git a/keadm/cmd/keadm/app/cmd/edge/upgrade.go b/keadm/cmd/keadm/app/cmd/edge/upgrade.go
index 576d9d99c..4cc59f592 100644
--- a/keadm/cmd/keadm/app/cmd/edge/upgrade.go
+++ b/keadm/cmd/keadm/app/cmd/edge/upgrade.go
@@ -243,16 +243,17 @@ func (up *Upgrade) Process() error {
return fmt.Errorf("failed to cp file: %v", err)
}
+ // set withMqtt to false during upgrading edgecore, it will not affect the MQTT container. This is a temporary workaround and will be modified in v1.15.
// generate edgecore.service
if util.HasSystemd() {
- err = common.GenerateServiceFile(util.KubeEdgeBinaryName, fmt.Sprintf("%s --config %s", filepath.Join(util.KubeEdgeUsrBinPath, util.KubeEdgeBinaryName), up.ConfigFilePath))
+ err = common.GenerateServiceFile(util.KubeEdgeBinaryName, fmt.Sprintf("%s --config %s", filepath.Join(util.KubeEdgeUsrBinPath, util.KubeEdgeBinaryName), up.ConfigFilePath), false)
if err != nil {
return fmt.Errorf("failed to create edgecore.service file: %v", err)
}
}
// start new edgecore service
- err = runEdgeCore()
+ err = runEdgeCore(false)
if err != nil {
return fmt.Errorf("failed to start edgecore: %v", err)
}
@@ -287,14 +288,14 @@ func (up *Upgrade) Rollback() error {
// generate edgecore.service
if util.HasSystemd() {
- err = common.GenerateServiceFile(util.KubeEdgeBinaryName, fmt.Sprintf("%s --config %s", filepath.Join(util.KubeEdgeUsrBinPath, util.KubeEdgeBinaryName), up.ConfigFilePath))
+ err = common.GenerateServiceFile(util.KubeEdgeBinaryName, fmt.Sprintf("%s --config %s", filepath.Join(util.KubeEdgeUsrBinPath, util.KubeEdgeBinaryName), up.ConfigFilePath), false)
if err != nil {
return fmt.Errorf("failed to create edgecore.service file: %v", err)
}
}
// start edgecore
- err = runEdgeCore()
+ err = runEdgeCore(false)
if err != nil {
return fmt.Errorf("failed to start origin edgecore: %v", err)
}