mirror of
https://gitee.com/rainbond/Rainbond.git
synced 2024-12-02 03:37:46 +08:00
Merge branch 'V5.2' into V5.2
This commit is contained in:
commit
dc456631dd
@ -554,11 +554,18 @@ func (s *ServiceAction) ServiceCreate(sc *api_model.ServiceStruct) error {
|
|||||||
v.HostPath = fmt.Sprintf("%s/tenant/%s/service/%s%s", sharePath, sc.TenantID, ts.ServiceID, volumn.VolumePath)
|
v.HostPath = fmt.Sprintf("%s/tenant/%s/service/%s%s", sharePath, sc.TenantID, ts.ServiceID, volumn.VolumePath)
|
||||||
//本地文件存储
|
//本地文件存储
|
||||||
case dbmodel.LocalVolumeType.String():
|
case dbmodel.LocalVolumeType.String():
|
||||||
if sc.ExtendMethod != "state" {
|
if !dbmodel.ServiceType(sc.ExtendMethod).IsState() {
|
||||||
tx.Rollback()
|
tx.Rollback()
|
||||||
return util.CreateAPIHandleError(400, fmt.Errorf("应用类型不为有状态应用.不支持本地存储"))
|
return util.CreateAPIHandleError(400, fmt.Errorf("local volume type only support state component"))
|
||||||
}
|
}
|
||||||
v.HostPath = fmt.Sprintf("%s/tenant/%s/service/%s%s", localPath, sc.TenantID, ts.ServiceID, volumn.VolumePath)
|
v.HostPath = fmt.Sprintf("%s/tenant/%s/service/%s%s", localPath, sc.TenantID, ts.ServiceID, volumn.VolumePath)
|
||||||
|
case dbmodel.ConfigFileVolumeType.String(), dbmodel.MemoryFSVolumeType.String():
|
||||||
|
logrus.Debug("simple volume type : ", volumn.VolumeType)
|
||||||
|
default:
|
||||||
|
if !dbmodel.ServiceType(sc.ExtendMethod).IsState() {
|
||||||
|
tx.Rollback()
|
||||||
|
return util.CreateAPIHandleError(400, fmt.Errorf("custom volume type only support state component"))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if volumn.VolumeName == "" {
|
if volumn.VolumeName == "" {
|
||||||
|
@ -59,11 +59,7 @@ func checkTimeout(event *dbmodel.ServiceEvent) bool {
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
var end time.Time
|
var end time.Time
|
||||||
if event.OptType == "deploy-service" || event.OptType == "create-service" || event.OptType == "build-service" {
|
end = start.Add(3 * time.Minute)
|
||||||
end = start.Add(10 * time.Minute)
|
|
||||||
} else {
|
|
||||||
end = start.Add(3 * time.Minute)
|
|
||||||
}
|
|
||||||
if time.Now().After(end) {
|
if time.Now().After(end) {
|
||||||
event.FinalStatus = "timeout"
|
event.FinalStatus = "timeout"
|
||||||
err = db.GetManager().ServiceEventDao().UpdateModel(event)
|
err = db.GetManager().ServiceEventDao().UpdateModel(event)
|
||||||
|
@ -21,6 +21,13 @@ package exector
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"io/ioutil"
|
||||||
|
"os"
|
||||||
|
"path"
|
||||||
|
"path/filepath"
|
||||||
|
"strings"
|
||||||
|
"time"
|
||||||
|
|
||||||
"github.com/Sirupsen/logrus"
|
"github.com/Sirupsen/logrus"
|
||||||
"github.com/coreos/etcd/clientv3"
|
"github.com/coreos/etcd/clientv3"
|
||||||
"github.com/docker/docker/client"
|
"github.com/docker/docker/client"
|
||||||
@ -33,12 +40,6 @@ import (
|
|||||||
"github.com/goodrain/rainbond/util"
|
"github.com/goodrain/rainbond/util"
|
||||||
"github.com/pquerna/ffjson/ffjson"
|
"github.com/pquerna/ffjson/ffjson"
|
||||||
"github.com/tidwall/gjson"
|
"github.com/tidwall/gjson"
|
||||||
"io/ioutil"
|
|
||||||
"os"
|
|
||||||
"path"
|
|
||||||
"path/filepath"
|
|
||||||
"strings"
|
|
||||||
"time"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
//BackupAPPRestore restrore the group app backup
|
//BackupAPPRestore restrore the group app backup
|
||||||
@ -479,17 +480,21 @@ func (b *BackupAPPRestore) restoreMetadata(appSnapshot *AppSnapshot) error {
|
|||||||
//local
|
//local
|
||||||
case dbmodel.LocalVolumeType.String():
|
case dbmodel.LocalVolumeType.String():
|
||||||
a.HostPath = fmt.Sprintf("%s/tenant/%s/service/%s%s", localPath, b.TenantID, a.ServiceID, a.VolumePath)
|
a.HostPath = fmt.Sprintf("%s/tenant/%s/service/%s%s", localPath, b.TenantID, a.ServiceID, a.VolumePath)
|
||||||
|
case dbmodel.MemoryFSVolumeType.String(), dbmodel.ConfigFileVolumeType.String():
|
||||||
|
logrus.Debugf("simple volume type: %s", a.VolumeType)
|
||||||
|
default:
|
||||||
|
logrus.Warnf("custom volumeType: %s", a.VolumeType)
|
||||||
|
volumeType, err := db.GetManager().VolumeTypeDao().GetVolumeTypeByType(a.VolumeType)
|
||||||
|
if err != nil {
|
||||||
|
logrus.Warnf("get volumeType[%s] error : %s, use share-file instead", a.VolumeType, err.Error())
|
||||||
|
}
|
||||||
|
if volumeType == nil {
|
||||||
|
logrus.Warnf("service[%s] volumeType[%s] do not exists, use default volumeType[%s]", a.ServiceID, a.VolumeType, dbmodel.ShareFileVolumeType.String())
|
||||||
|
a.VolumeType = dbmodel.ShareFileVolumeType.String()
|
||||||
|
a.HostPath = fmt.Sprintf("%s/tenant/%s/service/%s%s", sharePath, b.TenantID, a.ServiceID, a.VolumePath)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
volumeType, err := db.GetManager().VolumeTypeDao().GetVolumeTypeByType(a.VolumeType)
|
|
||||||
if err != nil {
|
|
||||||
logrus.Warnf("get volumeType error : %s", err.Error())
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if volumeType == nil {
|
|
||||||
logrus.Warnf("service[%s] volumeType[%s] do not exists, use default volumeType[%s]", a.ServiceID, a.VolumeType, dbmodel.ShareFileVolumeType.String())
|
|
||||||
a.VolumeType = dbmodel.ShareFileVolumeType.String()
|
|
||||||
a.HostPath = fmt.Sprintf("%s/tenant/%s/service/%s%s", sharePath, b.TenantID, a.ServiceID, a.VolumePath)
|
|
||||||
}
|
|
||||||
if err := db.GetManager().TenantServiceVolumeDaoTransactions(tx).AddModel(a); err != nil {
|
if err := db.GetManager().TenantServiceVolumeDaoTransactions(tx).AddModel(a); err != nil {
|
||||||
tx.Rollback()
|
tx.Rollback()
|
||||||
return fmt.Errorf("create app volume when restore backup error. %s", err.Error())
|
return fmt.Errorf("create app volume when restore backup error. %s", err.Error())
|
||||||
|
Loading…
Reference in New Issue
Block a user