diff --git a/pkg/compute/models/guest_actions.go b/pkg/compute/models/guest_actions.go index 46faaea591..3f49717537 100644 --- a/pkg/compute/models/guest_actions.go +++ b/pkg/compute/models/guest_actions.go @@ -296,10 +296,7 @@ func (self *SGuest) PerformDeploy(ctx context.Context, userCred mcclient.TokenCr return nil, fmt.Errorf("Parse query body error") } - // 变更密码/密钥时需要Restart才能生效。更新普通字段不需要Restart, Azure需要在运行状态下操作 - doRestart := false if kwargs.Contains("__delete_keypair__") || kwargs.Contains("keypair") { - doRestart = self.GetDriver().IsNeedRestartForResetLoginInfo() var kpId string if kwargs.Contains("keypair") { @@ -335,6 +332,12 @@ func (self *SGuest) PerformDeploy(ctx context.Context, userCred mcclient.TokenCr } } + // 变更密码/密钥时需要Restart才能生效。更新普通字段不需要Restart, Azure需要在运行状态下操作 + doRestart := false + if resetPasswd, _ := kwargs.Bool("reset_password"); resetPasswd { + doRestart = self.GetDriver().IsNeedRestartForResetLoginInfo() + } + deployStatus, err := self.GetDriver().GetDeployStatus() if err != nil { return nil, httperrors.NewInputParameterError(err.Error())