创建完disk后同步有用信息

This commit is contained in:
屈轩
2018-10-17 18:14:03 +08:00
parent 20cf5be92a
commit 8df405ffd3
2 changed files with 28 additions and 3 deletions

View File

@@ -68,9 +68,15 @@ func (self *SAliyunGuestDriver) ValidateCreateData(ctx context.Context, userCred
}
type SDiskInfo struct {
DiskType string
Size int
Uuid string
DiskType string
Size int
Uuid string
BillingType string
FsFromat string
AutoDelete bool
TemplateId string
DiskFormat string
ExpiredAt time.Time
Metadata map[string]string
}
@@ -107,6 +113,12 @@ func fetchIVMinfo(desc SManagedVMCreateConfig, iVM cloudprovider.ICloudVM, guest
dinfo.Uuid = idisks[i].GetGlobalId()
dinfo.Size = idisks[i].GetDiskSizeMB()
dinfo.DiskType = idisks[i].GetDiskType()
dinfo.BillingType = idisks[i].GetBillingType()
dinfo.DiskFormat = idisks[i].GetDiskFormat()
dinfo.AutoDelete = idisks[i].GetIsAutoDelete()
dinfo.TemplateId = idisks[i].GetTemplateId()
dinfo.FsFromat = idisks[i].GetFsFormat()
dinfo.ExpiredAt = idisks[i].GetExpiredAt()
if metaData := idisks[i].GetMetadata(); metaData != nil {
dinfo.Metadata = make(map[string]string, 0)
if err := metaData.Unmarshal(dinfo.Metadata); err != nil {
@@ -388,6 +400,12 @@ func (self *SAliyunGuestDriver) OnGuestDeployTaskDataReceived(ctx context.Contex
disk.ExternalId = diskInfo[i].Uuid
disk.DiskType = diskInfo[i].DiskType
disk.Status = models.DISK_READY
disk.BillingType = diskInfo[i].BillingType
disk.FsFormat = diskInfo[i].FsFromat
disk.AutoDelete = diskInfo[i].AutoDelete
disk.TemplateId = diskInfo[i].TemplateId
disk.DiskFormat = diskInfo[i].DiskFormat
disk.ExpiredAt = diskInfo[i].ExpiredAt
if len(diskInfo[i].Metadata) > 0 {
for key, value := range diskInfo[i].Metadata {
if err := disk.SetMetadata(ctx, key, value, task.GetUserCred()); err != nil {

View File

@@ -180,7 +180,14 @@ func (self *SAzureGuestDriver) OnGuestDeployTaskDataReceived(ctx context.Context
_, err = disk.GetModelManager().TableSpec().Update(disk, func() error {
disk.DiskSize = diskInfo[i].Size
disk.ExternalId = diskInfo[i].Uuid
disk.DiskType = diskInfo[i].DiskType
disk.Status = models.DISK_READY
disk.BillingType = diskInfo[i].BillingType
disk.FsFormat = diskInfo[i].FsFromat
disk.AutoDelete = diskInfo[i].AutoDelete
disk.TemplateId = diskInfo[i].TemplateId
disk.DiskFormat = diskInfo[i].DiskFormat
disk.ExpiredAt = diskInfo[i].ExpiredAt
if len(diskInfo[i].Metadata) > 0 {
for key, value := range diskInfo[i].Metadata {
if err := disk.SetMetadata(ctx, key, value, task.GetUserCred()); err != nil {