mirror of
https://github.com/1Panel-dev/1Panel.git
synced 2025-12-18 21:38:57 +08:00
fix: Resolve the issue of lost GPU configuration after upgrade ollama (#9362)
Some checks failed
SonarCloud Scan / SonarCloud (push) Failing after 2s
Some checks failed
SonarCloud Scan / SonarCloud (push) Failing after 2s
This commit is contained in:
parent
6e465ac215
commit
03fac3ec06
3 changed files with 39 additions and 6 deletions
|
|
@ -442,17 +442,14 @@ func deleteLink(ctx context.Context, install *model.AppInstall, deleteDB bool, f
|
||||||
return appInstallResourceRepo.DeleteBy(ctx, appInstallResourceRepo.WithAppInstallId(install.ID))
|
return appInstallResourceRepo.DeleteBy(ctx, appInstallResourceRepo.WithAppInstallId(install.ID))
|
||||||
}
|
}
|
||||||
|
|
||||||
func getUpgradeCompose(install model.AppInstall, detail model.AppDetail) (string, error) {
|
func handleUpgradeCompose(install model.AppInstall, detail model.AppDetail) (map[string]interface{}, error) {
|
||||||
if detail.DockerCompose == "" {
|
|
||||||
return "", nil
|
|
||||||
}
|
|
||||||
composeMap := make(map[string]interface{})
|
composeMap := make(map[string]interface{})
|
||||||
if err := yaml.Unmarshal([]byte(detail.DockerCompose), &composeMap); err != nil {
|
if err := yaml.Unmarshal([]byte(detail.DockerCompose), &composeMap); err != nil {
|
||||||
return "", err
|
return nil, err
|
||||||
}
|
}
|
||||||
value, ok := composeMap["services"]
|
value, ok := composeMap["services"]
|
||||||
if !ok || value == nil {
|
if !ok || value == nil {
|
||||||
return "", buserr.New(constant.ErrFileParse)
|
return nil, buserr.New("ErrFileParse")
|
||||||
}
|
}
|
||||||
servicesMap := value.(map[string]interface{})
|
servicesMap := value.(map[string]interface{})
|
||||||
if len(servicesMap) == 1 {
|
if len(servicesMap) == 1 {
|
||||||
|
|
@ -470,6 +467,34 @@ func getUpgradeCompose(install model.AppInstall, detail model.AppDetail) (string
|
||||||
delete(servicesMap, oldServiceName)
|
delete(servicesMap, oldServiceName)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
serviceValue := servicesMap[install.ServiceName].(map[string]interface{})
|
||||||
|
|
||||||
|
oldComposeMap := make(map[string]interface{})
|
||||||
|
if err := yaml.Unmarshal([]byte(install.DockerCompose), &oldComposeMap); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
oldValue, ok := oldComposeMap["services"]
|
||||||
|
if !ok || oldValue == nil {
|
||||||
|
return nil, buserr.New("ErrFileParse")
|
||||||
|
}
|
||||||
|
oldValueMap := oldValue.(map[string]interface{})
|
||||||
|
oldServiceValue := oldValueMap[install.ServiceName].(map[string]interface{})
|
||||||
|
if oldServiceValue["deploy"] != nil {
|
||||||
|
serviceValue["deploy"] = oldServiceValue["deploy"]
|
||||||
|
}
|
||||||
|
servicesMap[install.ServiceName] = serviceValue
|
||||||
|
composeMap["services"] = servicesMap
|
||||||
|
return composeMap, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func getUpgradeCompose(install model.AppInstall, detail model.AppDetail) (string, error) {
|
||||||
|
if detail.DockerCompose == "" {
|
||||||
|
return "", nil
|
||||||
|
}
|
||||||
|
composeMap, err := handleUpgradeCompose(install, detail)
|
||||||
|
if err != nil {
|
||||||
|
return "", err
|
||||||
|
}
|
||||||
envs := make(map[string]interface{})
|
envs := make(map[string]interface{})
|
||||||
if err := json.Unmarshal([]byte(install.Env), &envs); err != nil {
|
if err := json.Unmarshal([]byte(install.Env), &envs); err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
|
|
|
||||||
|
|
@ -109,6 +109,7 @@ func Init() {
|
||||||
|
|
||||||
migrations.AddMcpServer,
|
migrations.AddMcpServer,
|
||||||
migrations.AddPbootCMSPHPExtensions,
|
migrations.AddPbootCMSPHPExtensions,
|
||||||
|
migrations.DeleteV2Openresty,
|
||||||
})
|
})
|
||||||
if err := m.Migrate(); err != nil {
|
if err := m.Migrate(); err != nil {
|
||||||
global.LOG.Error(err)
|
global.LOG.Error(err)
|
||||||
|
|
|
||||||
|
|
@ -485,3 +485,10 @@ var AddPbootCMSPHPExtensions = &gormigrate.Migration{
|
||||||
return nil
|
return nil
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var DeleteV2Openresty = &gormigrate.Migration{
|
||||||
|
ID: "20250701-delete-v2-openresty",
|
||||||
|
Migrate: func(tx *gorm.DB) error {
|
||||||
|
return tx.Delete(&model.AppDetail{}).Where("version = '1.27.1.2-0-1-focal'").Error
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue