mirror of
https://github.com/1Panel-dev/1Panel.git
synced 2026-09-22 00:00:50 +00:00
fix: resolve node auto-upgrade failure (#12875)
This commit is contained in:
@@ -16,7 +16,6 @@ import (
|
||||
"github.com/1Panel-dev/1Panel/core/utils/cmd"
|
||||
"github.com/1Panel-dev/1Panel/core/utils/common"
|
||||
"github.com/1Panel-dev/1Panel/core/utils/encrypt"
|
||||
"github.com/1Panel-dev/1Panel/core/utils/xpack"
|
||||
"github.com/spf13/cobra"
|
||||
"golang.org/x/term"
|
||||
"gopkg.in/yaml.v3"
|
||||
@@ -92,6 +91,13 @@ type serverConfig struct {
|
||||
} `yaml:"base"`
|
||||
}
|
||||
|
||||
type Node struct {
|
||||
Name string `gorm:"column:name"`
|
||||
Addr string `gorm:"column:addr"`
|
||||
IsAutoUpgrade bool `gorm:"column:is_auto_upgrade"`
|
||||
Status string `gorm:"column:status"`
|
||||
}
|
||||
|
||||
func isEnterprise() bool {
|
||||
var config serverConfig
|
||||
if err := yaml.Unmarshal(conf.AppYaml, &config); err != nil {
|
||||
@@ -158,7 +164,26 @@ var updateVersion = &cobra.Command{
|
||||
fmt.Println(i18n.GetMsgWithMapForCmd("UpdateUserErr", map[string]interface{}{"err": err.Error()}))
|
||||
return err
|
||||
}
|
||||
xpack.MultiNodeProvider.AutoUpgradeWithMaster()
|
||||
|
||||
xpackDB, err := loadDBConn("xpack.db")
|
||||
if err != nil {
|
||||
return nil
|
||||
}
|
||||
var nodes []Node
|
||||
if err := xpackDB.Where("is_auto_upgrade = ? AND name != ?", true, "local").Find(&nodes).Error; err != nil {
|
||||
fmt.Println(i18n.GetMsgWithMapForCmd("LoadAutoUpgradeNodesFailed", map[string]interface{}{"err": err.Error()}))
|
||||
}
|
||||
var nodeNames []string
|
||||
for _, item := range nodes {
|
||||
nodeNames = append(nodeNames, fmt.Sprintf("%s-%s", item.Name, item.Addr))
|
||||
}
|
||||
fmt.Println(i18n.GetMsgWithMapForCmd("AutoUpgradeNodes", map[string]interface{}{"nodes": strings.Join(nodeNames, ", ")}))
|
||||
if err := xpackDB.Model(&Node{}).
|
||||
Where("is_auto_upgrade = ? AND name != ?", true, "local").
|
||||
Updates(map[string]interface{}{"status": constant.StatusWaitForUpgrade}).
|
||||
Error; err != nil {
|
||||
fmt.Println(i18n.GetMsgWithMapForCmd("UpdateAutoUpgradeNodesStatusFailed", map[string]interface{}{"err": err.Error()}))
|
||||
}
|
||||
return nil
|
||||
},
|
||||
}
|
||||
|
||||
@@ -180,6 +180,9 @@ NewSSHClient: "Initializing SSH connection"
|
||||
BackupBeforeUpgrade: "Backup data before upgrade"
|
||||
UploadUpgradeFile: "Distribute upgrade files"
|
||||
RestartAfterUpgrade: "Start service after upgrade"
|
||||
LoadAutoUpgradeNodesFailed: "Load auto upgrade nodes failed, err: {{ .err }}"
|
||||
AutoUpgradeNodes: "Auto upgrade nodes: {{ .nodes }}"
|
||||
UpdateAutoUpgradeNodesStatusFailed: "Update status of auto upgrade nodes failed, err: {{ .err }}"
|
||||
|
||||
#add node
|
||||
MasterData: "Master Node Data"
|
||||
|
||||
@@ -174,6 +174,9 @@ NewSSHClient: "Inicializando conexión SSH"
|
||||
BackupBeforeUpgrade: "Respaldar datos antes de actualizar"
|
||||
UploadUpgradeFile: "Distribuir archivos de actualización"
|
||||
RestartAfterUpgrade: "Iniciar servicio después de actualizar"
|
||||
LoadAutoUpgradeNodesFailed: "Error al cargar nodos de actualización automática, error: {{ .err }}"
|
||||
AutoUpgradeNodes: "Nodos de actualización automática: {{ .nodes }}"
|
||||
UpdateAutoUpgradeNodesStatusFailed: "Error al actualizar el estado de los nodos de actualización automática, error: {{ .err }}"
|
||||
|
||||
#add node
|
||||
MasterData: "Datos del nodo principal"
|
||||
|
||||
@@ -174,6 +174,9 @@ NewSSHClient: "SSH接続の初期化"
|
||||
BackupBeforeUpgrade: "アップグレード前にデータをバックアップ"
|
||||
UploadUpgradeFile: "アップグレードに必要なファイルを配布"
|
||||
RestartAfterUpgrade: "アップグレード後にサービスを起動"
|
||||
LoadAutoUpgradeNodesFailed: "自動アップグレードノードの読み込みに失敗しました、エラー: {{ .err }}"
|
||||
AutoUpgradeNodes: "自動アップグレードノード: {{ .nodes }}"
|
||||
UpdateAutoUpgradeNodesStatusFailed: "自動アップグレードノードのステータス更新に失敗しました、エラー: {{ .err }}"
|
||||
|
||||
#add node
|
||||
MasterData: "マスターノードデータ"
|
||||
|
||||
@@ -173,6 +173,9 @@ NewSSHClient: "SSH 연결 초기화"
|
||||
BackupBeforeUpgrade: "업그레이드 전 데이터 백업"
|
||||
UploadUpgradeFile: "업그레이드에 필요한 파일 전송"
|
||||
RestartAfterUpgrade: "업그레이드 후 서비스 시작"
|
||||
LoadAutoUpgradeNodesFailed: "자동 업그레이드 노드 로드 실패, 오류: {{ .err }}"
|
||||
AutoUpgradeNodes: "자동 업그레이드 노드: {{ .nodes }}"
|
||||
UpdateAutoUpgradeNodesStatusFailed: "자동 업그레이드 노드 상태 업데이트 실패, 오류: {{ .err }}"
|
||||
|
||||
#add node
|
||||
MasterData: "마스터 노드 데이터"
|
||||
|
||||
@@ -168,6 +168,9 @@ NewSSHClient: "Memulakan sambungan SSH"
|
||||
BackupBeforeUpgrade: "Menyandarkan data sebelum naik taraf"
|
||||
UploadUpgradeFile: "Sebarkan fail naik taraf"
|
||||
RestartAfterUpgrade: "Mulakan perkhidmatan selepas naik taraf"
|
||||
LoadAutoUpgradeNodesFailed: "Gagal memuatkan nod naik taraf automatik, ralat: {{ .err }}"
|
||||
AutoUpgradeNodes: "Nod naik taraf automatik: {{ .nodes }}"
|
||||
UpdateAutoUpgradeNodesStatusFailed: "Gagal mengemas kini status nod naik taraf automatik, ralat: {{ .err }}"
|
||||
|
||||
#add node
|
||||
MasterData: "Data Nod Master"
|
||||
|
||||
@@ -173,6 +173,9 @@ NewSSHClient: "Inicializando a conexão SSH"
|
||||
BackupBeforeUpgrade: "Fazer backup dos dados antes da atualização"
|
||||
UploadUpgradeFile: "Distribuir arquivos necessários para a atualização"
|
||||
RestartAfterUpgrade: "Iniciar serviço após a atualização"
|
||||
LoadAutoUpgradeNodesFailed: "Falha ao carregar nós de atualização automática, erro: {{ .err }}"
|
||||
AutoUpgradeNodes: "Nós de atualização automática: {{ .nodes }}"
|
||||
UpdateAutoUpgradeNodesStatusFailed: "Falha ao atualizar o status dos nós de atualização automática, erro: {{ .err }}"
|
||||
|
||||
#add node
|
||||
MasterData: "Dados do Nó Mestre"
|
||||
|
||||
@@ -172,6 +172,9 @@ NewSSHClient: "Инициализация SSH-соединения"
|
||||
BackupBeforeUpgrade: "Резервное копирование данных перед обновлением"
|
||||
UploadUpgradeFile: "Распределение файлов обновления"
|
||||
RestartAfterUpgrade: "Запуск службы после обновления"
|
||||
LoadAutoUpgradeNodesFailed: "Не удалось загрузить узлы автообновления, ошибка: {{ .err }}"
|
||||
AutoUpgradeNodes: "Узлы автообновления: {{ .nodes }}"
|
||||
UpdateAutoUpgradeNodesStatusFailed: "Не удалось обновить статус узлов автообновления, ошибка: {{ .err }}"
|
||||
|
||||
#add node
|
||||
MasterData: "Данные главного узла"
|
||||
|
||||
@@ -172,6 +172,9 @@ NewSSHClient: "SSH bağlantısı başlatılıyor"
|
||||
BackupBeforeUpgrade: "Yükseltme öncesi veri yedekleme"
|
||||
UploadUpgradeFile: "Yükseltme dosyalarını dağıt"
|
||||
RestartAfterUpgrade: "Yükseltme sonrası servisi başlat"
|
||||
LoadAutoUpgradeNodesFailed: "Otomatik yükseltme düğümleri yüklenemedi, hata: {{ .err }}"
|
||||
AutoUpgradeNodes: "Otomatik yükseltme düğümleri: {{ .nodes }}"
|
||||
UpdateAutoUpgradeNodesStatusFailed: "Otomatik yükseltme düğümlerinin durumu güncellenemedi, hata: {{ .err }}"
|
||||
|
||||
#add node
|
||||
MasterData: "Ana Düğüm Verisi"
|
||||
|
||||
@@ -175,6 +175,9 @@ NewSSHClient: "初始化 SSH 連接"
|
||||
BackupBeforeUpgrade: "升級前備份資料"
|
||||
UploadUpgradeFile: "發送升級所需檔案"
|
||||
RestartAfterUpgrade: "升級後啟動服務"
|
||||
LoadAutoUpgradeNodesFailed: "載入自動升級節點失敗,錯誤: {{ .err }}"
|
||||
AutoUpgradeNodes: "自動升級節點: {{ .nodes }}"
|
||||
UpdateAutoUpgradeNodesStatusFailed: "更新自動升級節點狀態失敗,錯誤: {{ .err }}"
|
||||
|
||||
#add node
|
||||
MasterData: "主節點資料"
|
||||
|
||||
@@ -182,6 +182,9 @@ NewSSHClient: "初始化 SSH 连接"
|
||||
BackupBeforeUpgrade: "升级前备份数据"
|
||||
UploadUpgradeFile: "下发升级所需文件"
|
||||
RestartAfterUpgrade: "升级后启动服务"
|
||||
LoadAutoUpgradeNodesFailed: "加载自动升级节点失败,错误: {{ .err }}"
|
||||
AutoUpgradeNodes: "自动升级节点: {{ .nodes }}"
|
||||
UpdateAutoUpgradeNodesStatusFailed: "更新自动升级节点状态失败,错误: {{ .err }}"
|
||||
|
||||
#add node
|
||||
MasterData: "主节点数据"
|
||||
|
||||
Reference in New Issue
Block a user