修复默认生成的集群没有开启节点和服务DNS同步的Bug

This commit is contained in:
GoEdgeLab
2022-10-23 09:02:45 +08:00
parent 9a455aacd0
commit 64108b63b3
2 changed files with 62 additions and 0 deletions

View File

@@ -6,6 +6,7 @@ package setup
import (
"encoding/json"
"github.com/TeaOSLab/EdgeAPI/internal/errors"
"github.com/TeaOSLab/EdgeCommon/pkg/dnsconfigs"
"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs"
"github.com/TeaOSLab/EdgeCommon/pkg/systemconfigs"
"github.com/iwind/TeaGo/dbs"
@@ -141,5 +142,37 @@ func upgradeV0_5_3(db *dbs.DB) error {
// v0.5.6
func upgradeV0_5_6(db *dbs.DB) error {
// 修复默认集群的DNS设置
{
var id = 1
clusterMap, err := db.FindOne("SELECT dns FROM edgeNodeClusters WHERE id=? AND state=1", id)
if err != nil {
return err
}
if len(clusterMap) > 0 {
var dnsString = clusterMap.GetString("dns")
if len(dnsString) > 0 && dnsString != "null" {
var dnsData = []byte(dnsString)
var dnsConfig = &dnsconfigs.ClusterDNSConfig{
CNAMEAsDomain: true,
IncludingLnNodes: true,
}
err = json.Unmarshal(dnsData, dnsConfig)
if err == nil && !dnsConfig.NodesAutoSync && !dnsConfig.ServersAutoSync {
dnsConfig.NodesAutoSync = true
dnsConfig.ServersAutoSync = true
dnsConfigJSON, err := json.Marshal(dnsConfig)
if err != nil {
return err
}
_, err = db.Exec("UPDATE edgeNodeClusters SET dns=? WHERE id=?", dnsConfigJSON, id)
if err != nil {
return err
}
}
}
}
}
return nil
}