From 0d701003e3b0757526993066cc8cc02102ac4bbd Mon Sep 17 00:00:00 2001 From: wanyaoqi <18528551+wanyaoqi@users.noreply.github.com> Date: Mon, 24 Oct 2022 05:42:49 +0800 Subject: [PATCH] fix(region): multi cdrom interface not compatible (#15222) Signed-off-by: wanyaoqi Signed-off-by: wanyaoqi --- pkg/compute/models/guest_queries.go | 12 ++++++++---- pkg/compute/models/guests.go | 3 +++ 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/pkg/compute/models/guest_queries.go b/pkg/compute/models/guest_queries.go index d3dc621360..e32089e824 100644 --- a/pkg/compute/models/guest_queries.go +++ b/pkg/compute/models/guest_queries.go @@ -223,8 +223,10 @@ func (manager *SGuestManager) FetchCustomizeColumns( if gcds != nil { for i := range rows { for _, gcd := range gcds[guestIds[i]] { - t := api.Cdrom{Ordinal: gcd.Ordinal, Detail: gcd.GetDetails()} - rows[i].Cdrom = append(rows[i].Cdrom, t) + if details := gcd.GetDetails(); len(details) > 0 { + t := api.Cdrom{Ordinal: gcd.Ordinal, Detail: details} + rows[i].Cdrom = append(rows[i].Cdrom, t) + } } } } @@ -234,8 +236,10 @@ func (manager *SGuestManager) FetchCustomizeColumns( if gfloppys != nil { for i := range rows { for _, gfl := range gfloppys[guestIds[i]] { - t := api.Floppy{Ordinal: gfl.Ordinal, Detail: gfl.GetDetails()} - rows[i].Floppy = append(rows[i].Floppy, t) + if details := gfl.GetDetails(); len(details) > 0 { + t := api.Floppy{Ordinal: gfl.Ordinal, Detail: details} + rows[i].Floppy = append(rows[i].Floppy, t) + } } } } diff --git a/pkg/compute/models/guests.go b/pkg/compute/models/guests.go index 3125a30a69..6f24a623df 100644 --- a/pkg/compute/models/guests.go +++ b/pkg/compute/models/guests.go @@ -4556,6 +4556,9 @@ func (self *SGuest) GetJsonDescAtHypervisor(ctx context.Context, host *SHost) *a cdromDesc := cdrom.getJsonDesc() desc.Cdroms = append(desc.Cdroms, cdromDesc) } + if len(desc.Cdroms) > 0 { + desc.Cdrom = desc.Cdroms[0] + } //floppy floppys, _ := self.getFloppys()