fix(region): validate kickstart enabled (#24560)

This commit is contained in:
wanyaoqi
2026-03-26 18:10:13 +08:00
committed by GitHub
parent 1546612893
commit 037b4c1d2c
2 changed files with 9 additions and 2 deletions
+7
View File
@@ -727,6 +727,13 @@ type ServerCreateInput struct {
Pod *PodCreateInput `json:"pod"`
}
func (c *KickstartConfig) IsEnabled() bool {
if c.Enabled != nil && !*c.Enabled {
return false
}
return true
}
// ServerUpdateKickstartStatusInput 更新虚拟机 kickstart 状态的输入
type ServerUpdateKickstartStatusInput struct {
// kickstart 状态
+2 -2
View File
@@ -2300,7 +2300,7 @@ func (manager *SGuestManager) validateCreateData(
}
// validate KickstartConfig
if input.KickstartConfig != nil {
if input.KickstartConfig != nil && input.KickstartConfig.IsEnabled() {
if err := validateKickstartConfig(input.KickstartConfig); err != nil {
return nil, httperrors.NewInputParameterError("Invalid kickstart config: %v", err)
}
@@ -2807,7 +2807,7 @@ func (guest *SGuest) PostCreate(ctx context.Context, userCred mcclient.TokenCred
kickstartConfig := &api.KickstartConfig{}
if err := kickstartConfigJson.Unmarshal(kickstartConfig); err != nil {
log.Errorf("unmarshal kickstart config fail: %s", err)
} else {
} else if kickstartConfig.IsEnabled() {
if err := guest.SetKickstartConfig(ctx, kickstartConfig, userCred); err != nil {
log.Errorf("Failed to set kickstart config for guest %s: %v", guest.Name, err)
} else {