Skip to content

Commit 6717501

Browse files
author
xml
committed
fix: Add hot update mechanism to specific configurations
1 parent d4719fe commit 6717501

4 files changed

Lines changed: 71 additions & 35 deletions

File tree

src/internal/config/config.go

Lines changed: 71 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -485,25 +485,6 @@ func getConfigFromDSettings() *Config {
485485
}
486486
}
487487
updateLastoreDaemonStatus()
488-
_, err = c.dsLastoreManager.ConnectValueChanged(func(key string) {
489-
switch key {
490-
case DSettingsKeyLastoreDaemonStatus:
491-
oldStatus := c.lastoreDaemonStatus
492-
updateLastoreDaemonStatus()
493-
newStatus := c.lastoreDaemonStatus
494-
if (oldStatus & DisableUpdate) != (newStatus & DisableUpdate) {
495-
c.dsettingsChangedCbMapMu.Lock()
496-
cb := c.dsettingsChangedCbMap[key]
497-
if cb != nil {
498-
go cb(DisableUpdate, c.lastoreDaemonStatus)
499-
}
500-
c.dsettingsChangedCbMapMu.Unlock()
501-
}
502-
}
503-
})
504-
if err != nil {
505-
logger.Warning(err)
506-
}
507488

508489
v, err = c.dsLastoreManager.Value(0, dSettingsKeyCheckUpdateMode)
509490
if err != nil {
@@ -628,15 +609,6 @@ func getConfigFromDSettings() *Config {
628609
}
629610
}
630611
updateUpgradeDeliveryEnabled()
631-
_, err = c.dsLastoreManager.ConnectValueChanged(func(key string) {
632-
switch key {
633-
case dSettingsKeyUpgradeDeliveryEnabled:
634-
updateUpgradeDeliveryEnabled()
635-
}
636-
})
637-
if err != nil {
638-
logger.Warning(err)
639-
}
640612

641613
v, err = c.dsLastoreManager.Value(0, dSettingsKeySystemCustomSource)
642614
if err != nil {
@@ -722,6 +694,77 @@ func getConfigFromDSettings() *Config {
722694
}
723695
c.OtherSourceList = append(c.OtherSourceList, "/etc/apt/sources.list.d/driver.list")
724696
c.SecuritySourceList = append(c.SecuritySourceList, system.SecuritySourceFile)
697+
698+
_, err = c.dsLastoreManager.ConnectValueChanged(func(key string) {
699+
switch key {
700+
case dSettingsKeyIntranetUpdate:
701+
v, err = c.dsLastoreManager.Value(0, dSettingsKeyIntranetUpdate)
702+
if err != nil {
703+
logger.Warning(err)
704+
} else {
705+
c.IntranetUpdate = v.Value().(bool)
706+
}
707+
case dSettingsKeyPlatformUpdate:
708+
v, err = c.dsLastoreManager.Value(0, dSettingsKeyPlatformUpdate)
709+
if err != nil {
710+
logger.Warning(err)
711+
} else {
712+
c.PlatformUpdate = v.Value().(bool)
713+
}
714+
case dSettingsKeyPlatformUrl:
715+
v, err = c.dsLastoreManager.Value(0, dSettingsKeyPlatformUrl)
716+
if err != nil {
717+
logger.Warning(err)
718+
} else {
719+
c.PlatformUrl = v.Value().(string)
720+
}
721+
case dSettingsKeyGetHardwareIdByHelper:
722+
v, err = c.dsLastoreManager.Value(0, dSettingsKeyGetHardwareIdByHelper)
723+
if err != nil {
724+
logger.Warning(err)
725+
} else {
726+
c.GetHardwareIdByHelper = v.Value().(bool)
727+
}
728+
case dSettingsKeyIncludeDiskInfo:
729+
v, err = c.dsLastoreManager.Value(0, dSettingsKeyIncludeDiskInfo)
730+
if err != nil {
731+
logger.Warning(err)
732+
} else {
733+
c.IncludeDiskInfo = v.Value().(bool)
734+
}
735+
case dSettingsKeyIncrementalUpdate:
736+
v, err = c.dsLastoreManager.Value(0, dSettingsKeyIncrementalUpdate)
737+
if err != nil {
738+
logger.Warning(err)
739+
} else {
740+
c.IncrementalUpdate = v.Value().(bool)
741+
}
742+
case dSettingsKeyAutoDownloadUpdates:
743+
v, err = c.dsLastoreManager.Value(0, dSettingsKeyAutoDownloadUpdates)
744+
if err != nil {
745+
logger.Warning(err)
746+
} else {
747+
c.AutoDownloadUpdates = v.Value().(bool)
748+
}
749+
case dSettingsKeyUpgradeDeliveryEnabled:
750+
updateUpgradeDeliveryEnabled()
751+
case DSettingsKeyLastoreDaemonStatus:
752+
oldStatus := c.lastoreDaemonStatus
753+
updateLastoreDaemonStatus()
754+
newStatus := c.lastoreDaemonStatus
755+
if (oldStatus & DisableUpdate) != (newStatus & DisableUpdate) {
756+
c.dsettingsChangedCbMapMu.Lock()
757+
cb := c.dsettingsChangedCbMap[key]
758+
if cb != nil {
759+
go cb(DisableUpdate, c.lastoreDaemonStatus)
760+
}
761+
c.dsettingsChangedCbMapMu.Unlock()
762+
}
763+
}
764+
})
765+
if err != nil {
766+
logger.Warning(err)
767+
}
725768
return c
726769
}
727770

src/internal/system/common.go

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -214,10 +214,6 @@ const (
214214
)
215215

216216
func IsAuthorized() bool {
217-
// TODO: only for test
218-
if IntranetUpdate {
219-
return true
220-
}
221217
edition, err := getEditionName()
222218
if err != nil {
223219
return false

src/internal/system/system.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@ import (
1212

1313
const VarLibDir = "/var/lib/lastore"
1414

15-
var IntranetUpdate bool
16-
1715
type Status string
1816

1917
const (

src/lastore-daemon/main.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,6 @@ func main() {
7575
}
7676
config := NewConfig(path.Join(system.VarLibDir, "config.json"))
7777
logger.Info("intranet update:", config.IntranetUpdate)
78-
system.IntranetUpdate = config.IntranetUpdate
7978
if config.IntranetUpdate {
8079
go func() {
8180
out, err := exec.Command("/usr/bin/lastore-tools", "gatherinfo", "-type=post").CombinedOutput()

0 commit comments

Comments
 (0)