From 953513c30c86eafc485ef4bcdfd36489cf2675f5 Mon Sep 17 00:00:00 2001 From: Yousong Zhou Date: Fri, 26 Oct 2018 06:34:57 +0000 Subject: [PATCH] loadbalanceragents: fix hb_timeout validation --- pkg/compute/models/loadbalanceragents.go | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/pkg/compute/models/loadbalanceragents.go b/pkg/compute/models/loadbalanceragents.go index 068f5bced2..a555c4fadf 100644 --- a/pkg/compute/models/loadbalanceragents.go +++ b/pkg/compute/models/loadbalanceragents.go @@ -196,7 +196,7 @@ func (p *SLoadbalancerAgentParams) IsZero() bool { func (man *SLoadbalancerAgentManager) ValidateCreateData(ctx context.Context, userCred mcclient.TokenCredential, ownerProjId string, query jsonutils.JSONObject, data *jsonutils.JSONDict) (*jsonutils.JSONDict, error) { { keyV := map[string]validators.IValidator{ - "hb_timeout": validators.NewNonNegativeValidator("nb_timeout").Default(3600), + "hb_timeout": validators.NewNonNegativeValidator("hb_timeout").Default(3600), "params": validators.NewStructValidator("params", &SLoadbalancerAgentParams{}), } for _, v := range keyV { @@ -314,6 +314,16 @@ func (man *SLoadbalancerAgentManager) AllowCreateItem(ctx context.Context, userC } func (lbagent *SLoadbalancerAgent) ValidateUpdateData(ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject, data *jsonutils.JSONDict) (*jsonutils.JSONDict, error) { + { + keyV := map[string]validators.IValidator{ + "hb_timeout": validators.NewNonNegativeValidator("hb_timeout").Optional(true), + } + for _, v := range keyV { + if err := v.Validate(data); err != nil { + return nil, err + } + } + } keys := map[string]time.Time{ "loadbalancers": lbagent.Loadbalancers, "loadbalancer_listeners": lbagent.LoadbalancerListeners,