From abbfc12f34377155131785220f110d14129781eb Mon Sep 17 00:00:00 2001 From: wanyaoqi Date: Mon, 12 Jun 2023 10:16:43 +0800 Subject: [PATCH] fix(region): qga set password not record logininfo guest create from iso no login_account, record login_account when login account is empty. --- pkg/compute/tasks/guest_qga_reset_password_task.go | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/pkg/compute/tasks/guest_qga_reset_password_task.go b/pkg/compute/tasks/guest_qga_reset_password_task.go index b951fca872..fad8f470a2 100644 --- a/pkg/compute/tasks/guest_qga_reset_password_task.go +++ b/pkg/compute/tasks/guest_qga_reset_password_task.go @@ -90,13 +90,17 @@ func (self *GuestQgaSetPasswordTask) OnQgaSetUserPassword(ctx context.Context, g input := &api.ServerQgaSetPasswordInput{} self.GetParams().Unmarshal(input) - if guest.GetMetadata(ctx, "login_account", self.UserCred) == input.Username { - info := make(map[string]interface{}) + info := make(map[string]interface{}) + loginAccount := guest.GetMetadata(ctx, "login_account", self.UserCred) + if loginAccount == input.Username || loginAccount == "" { secret, _ := utils.EncryptAESBase64(guest.Id, input.Password) info["login_key"] = secret info["login_key_timestamp"] = timeutils.UtcNow() - guest.SetAllMetadata(ctx, info, self.UserCred) } + if loginAccount == "" { + info["login_account"] = input.Username + } + guest.SetAllMetadata(ctx, info, self.UserCred) logclient.AddActionLogWithContext(ctx, guest, logclient.ACT_SET_USER_PASSWORD, "qga set password success", self.UserCred, true) self.SetStageComplete(ctx, nil)