diff --git a/features/cm/software.go b/features/cm/software.go index e5a75b9d..38119c17 100644 --- a/features/cm/software.go +++ b/features/cm/software.go @@ -780,7 +780,7 @@ func RollBackSoftwareToNF(w http.ResponseWriter, r *http.Request) { return } neTypeUpper := strings.ToUpper(neType) - //neTypeLower := strings.ToLower(neType) + neTypeLower := strings.ToLower(neType) version := vars["version"] if version == "" { @@ -854,6 +854,39 @@ func RollBackSoftwareToNF(w http.ResponseWriter, r *http.Request) { services.ResponseInternalServerError500ProcessError(w, err) return } + switch neTypeLower { + case "omc": + restartCmd := fmt.Sprintf("sudo %s/bin/omcsvc.sh restart", config.GetYamlConfig().NE.OmcDir) + cmd := exec.Command("ssh", sshHost, restartCmd) + out, err := cmd.CombinedOutput() + log.Debugf("Exec output: %v", string(out)) + if err != nil { + log.Error("Faile to execute ssh restart omc:", err) + services.ResponseInternalServerError500ProcessError(w, err) + return + } + case "ims": + restartCmd := "sudo ims-restart" + cmd := exec.Command("ssh", sshHost, restartCmd) + out, err := cmd.CombinedOutput() + log.Debugf("Exec output: %v", string(out)) + if err != nil { + log.Error("Faile to execute ssh sudo systemctl command:", err) + services.ResponseInternalServerError500ProcessError(w, err) + return + } + default: + restartCmd := fmt.Sprintf("sudo systemctl restart %s.service", neTypeLower) + cmd := exec.Command("ssh", sshHost, restartCmd) + out, err := cmd.CombinedOutput() + log.Debugf("Exec output: %v", string(out)) + if err != nil { + log.Error("Faile to execute ssh sudo systemctl command:", err) + services.ResponseInternalServerError500ProcessError(w, err) + return + } + + } } idNeVersion, _ := strconv.Atoi((*neVersion)[0]["id"])