From 16c74db9c8fd7633e4bc226e04138a585550e8e9 Mon Sep 17 00:00:00 2001 From: Jian Qiu Date: Sat, 16 Apr 2022 09:34:33 +0800 Subject: [PATCH] fix: guest save image inherit projects of guest (#14041) Co-authored-by: Qiu Jian --- pkg/compute/models/disks.go | 5 +++++ pkg/compute/models/guest_actions.go | 3 +++ 2 files changed, 8 insertions(+) diff --git a/pkg/compute/models/disks.go b/pkg/compute/models/disks.go index 09e9e64bee..41e4623983 100644 --- a/pkg/compute/models/disks.go +++ b/pkg/compute/models/disks.go @@ -1036,6 +1036,8 @@ func (self *SDisk) PrepareSaveImage(ctx context.Context, userCred mcclient.Token OsArch string Properties map[string]string + ProjectId string + EncryptKeyId string }{ Name: input.Name, @@ -1048,6 +1050,9 @@ func (self *SDisk) PrepareSaveImage(ctx context.Context, userCred mcclient.Token "os_type": input.OsType, "os_arch": input.OsArch, }, + + // inherit the ownership of disk + ProjectId: self.ProjectId, } if self.IsEncrypted() { diff --git a/pkg/compute/models/guest_actions.go b/pkg/compute/models/guest_actions.go index 74fa857c51..8a31aa1d95 100644 --- a/pkg/compute/models/guest_actions.go +++ b/pkg/compute/models/guest_actions.go @@ -235,6 +235,9 @@ func (self *SGuest) PerformSaveGuestImage(ctx context.Context, userCred mcclient kwargs := imageapi.GuestImageCreateInput{} kwargs.GuestImageCreateInputBase = input.GuestImageCreateInputBase kwargs.Properties = make(map[string]string) + if len(kwargs.ProjectId) == 0 { + kwargs.ProjectId = self.ProjectId + } for _, disk := range diskList { kwargs.Images = append(kwargs.Images, imageapi.GuestImageCreateInputSubimage{