Automated cherry pick of #19547: Fix/create from iso set os distro (#19548)

* fix(region): iso guest copy image props to metadata

* fix(region): always run host ping detect task
This commit is contained in:
wanyaoqi
2024-02-28 14:16:36 +08:00
committed by GitHub
parent d504b76e06
commit c016dad7da
2 changed files with 14 additions and 3 deletions
+1 -3
View File
@@ -159,9 +159,7 @@ func StartServiceWithJobs(jobs func(cron *cronman.SCronJobManager)) {
cron.AddJobAtIntervals("CleanExpiredPostpaidNatGateways", time.Duration(opts.PrepaidExpireCheckSeconds)*time.Second, models.NatGatewayManager.DeleteExpiredPostpaids)
cron.AddJobAtIntervals("CleanExpiredPostpaidNas", time.Duration(opts.PrepaidExpireCheckSeconds)*time.Second, models.FileSystemManager.DeleteExpiredPostpaids)
if !opts.EnableHostHealthCheck {
cron.AddJobAtIntervals("StartHostPingDetectionTask", time.Duration(opts.HostOfflineDetectionInterval)*time.Second, models.HostManager.PingDetectionTask)
}
cron.AddJobAtIntervals("StartHostPingDetectionTask", time.Duration(opts.HostOfflineDetectionInterval)*time.Second, models.HostManager.PingDetectionTask)
cron.AddJobAtIntervals("RefreshCloudproviderHostStatus", time.Duration(opts.ManagedHostSyncStatusIntervalSeconds)*time.Second, models.RefreshCloudproviderHostStatus)
+13
View File
@@ -25,6 +25,7 @@ import (
"yunion.io/x/pkg/util/billing"
api "yunion.io/x/onecloud/pkg/apis/compute"
imageapi "yunion.io/x/onecloud/pkg/apis/image"
"yunion.io/x/onecloud/pkg/cloudcommon/db"
"yunion.io/x/onecloud/pkg/cloudcommon/db/taskman"
"yunion.io/x/onecloud/pkg/cloudcommon/notifyclient"
@@ -135,6 +136,18 @@ func (self *GuestCreateTask) OnSecurityGroupPrepared(ctx context.Context, guest
}
if len(cdrom) > 0 {
image, err := models.CachedimageManager.GetImageInfo(ctx, self.UserCred, cdrom, false)
if err != nil {
log.Errorf("failed get image %s info: %s", cdrom, err)
} else {
imagePros := map[string]interface{}{}
for _, k := range []string{imageapi.IMAGE_OS_ARCH, imageapi.IMAGE_OS_DISTRO, imageapi.IMAGE_OS_VERSION, imageapi.IMAGE_OS_TYPE} {
if v, ok := image.Properties[k]; ok {
imagePros[k] = v
}
}
guest.SetAllMetadata(ctx, imagePros, self.UserCred)
}
self.SetStage("OnCdromPrepared", nil)
guest.GetDriver().RequestGuestCreateInsertIso(ctx, cdrom, bootIndex, self, guest)
} else {