lb: 改正update参数校验

Fixes e4ef23515f ("aws elb support")

Ref

	BEGIN {
		c=0
		u=0
		fool=0
	}

	/^+++ b/ {
		f=substr($0, 7)
		next
	}

	/^@@ .*Create.*/ {
		cl=$0
		c=1
		u=0
		next
	}

	/^@@ .*Update.*/ {
		ul=$0
		c=0
		u=1
		next
	}

	/func init()/ {
		next
	}

	/^@@ .*/ {
		fool=1
		printf "unknown: %s\n", $0
		exit
	}

	/ RunValidators\([^)]+, false); .*/ {
		if (c == 0) {
			printf "%s: %d: c err: %s\n", f, NR, cl
			exit
		}
	}

	/ RunValidators\([^)]+, true); .*/ {
		if (u == 0) {
			printf "%s: %d: u err: %s\n", f, NR, ul
			exit
		}
	}
This commit is contained in:
Yousong Zhou
2019-08-11 14:56:33 +00:00
parent 205e2770c0
commit 6926147afb
5 changed files with 52 additions and 49 deletions
+10 -10
View File
@@ -66,7 +66,7 @@ func (self *SAliyunRegionDriver) validateCreateLBCommonData(ownerId mcclient.IId
"loadbalancer_spec": loadbalancerSpecV,
}
if err := RunValidators(keyV, data); err != nil {
if err := RunValidators(keyV, data, false); err != nil {
return nil, nil, err
}
@@ -200,7 +200,7 @@ func (self *SAliyunRegionDriver) ValidateCreateLoadbalancerBackendData(ctx conte
"send_proxy": validators.NewStringChoicesValidator("send_proxy", api.LB_SENDPROXY_CHOICES).Default(api.LB_SENDPROXY_OFF),
}
if err := RunValidators(keyV, data); err != nil {
if err := RunValidators(keyV, data, false); err != nil {
return nil, err
}
@@ -300,7 +300,7 @@ func (self *SAliyunRegionDriver) ValidateUpdateLoadbalancerBackendData(ctx conte
"send_proxy": validators.NewStringChoicesValidator("send_proxy", api.LB_SENDPROXY_CHOICES).Optional(true),
}
if err := RunValidators(keyV, data); err != nil {
if err := RunValidators(keyV, data, true); err != nil {
return nil, err
}
@@ -334,7 +334,7 @@ func (self *SAliyunRegionDriver) ValidateCreateLoadbalancerListenerRuleData(ctx
"http_request_rate_per_src": validators.NewNonNegativeValidator("http_request_rate_per_src").Default(0),
}
if err := RunValidators(keyV, data); err != nil {
if err := RunValidators(keyV, data, false); err != nil {
return nil, err
}
@@ -439,7 +439,7 @@ func (self *SAliyunRegionDriver) ValidateCreateLoadbalancerListenerData(ctx cont
"http_request_rate_per_src": validators.NewNonNegativeValidator("http_request_rate_per_src").Default(0),
}
if err := RunValidators(keyV, data); err != nil {
if err := RunValidators(keyV, data, false); err != nil {
return nil, err
}
@@ -487,7 +487,7 @@ func (self *SAliyunRegionDriver) ValidateCreateLoadbalancerListenerData(ctx cont
"enable_http2": validators.NewBoolValidator("enable_http2").Default(true),
}
if err := RunValidators(httpsV, data); err != nil {
if err := RunValidators(httpsV, data, false); err != nil {
return nil, err
}
}
@@ -508,7 +508,7 @@ func (self *SAliyunRegionDriver) ValidateCreateLoadbalancerListenerData(ctx cont
"health_check_interval": validators.NewRangeValidator("health_check_interval", 1, 50).Default(2),
}
if err := RunValidators(keyVHealth, data); err != nil {
if err := RunValidators(keyVHealth, data, false); err != nil {
return nil, err
}
@@ -578,7 +578,7 @@ func (self *SAliyunRegionDriver) ValidateCreateLoadbalancerListenerData(ctx cont
V["backend_server_port"] = validators.NewPortValidator("backend_server_port")
}
if err := RunValidators(V, data); err != nil {
if err := RunValidators(V, data, false); err != nil {
return nil, err
}
@@ -666,7 +666,7 @@ func (self *SAliyunRegionDriver) ValidateUpdateLoadbalancerListenerData(ctx cont
"enable_http2": validators.NewBoolValidator("enable_http2"),
}
if err := RunValidators(keyV, data); err != nil {
if err := RunValidators(keyV, data, true); err != nil {
return nil, err
}
@@ -796,7 +796,7 @@ func (self *SAliyunRegionDriver) ValidateUpdateLoadbalancerListenerData(ctx cont
}
}
if err := RunValidators(keyV, data); err != nil {
if err := RunValidators(keyV, data, true); err != nil {
return nil, err
}
return self.SManagedVirtualizationRegionDriver.ValidateUpdateLoadbalancerListenerData(ctx, userCred, data, lblis, backendGroup)
+14 -14
View File
@@ -133,7 +133,7 @@ func (self *SAwsRegionDriver) validateCreateLBCommonData(ownerId mcclient.IIdent
"loadbalancer_spec": loadbalancerSpecV,
}
if err := RunValidators(keyV, data); err != nil {
if err := RunValidators(keyV, data, false); err != nil {
return nil, nil, err
}
@@ -200,7 +200,7 @@ func (self *SAwsRegionDriver) validateCreateApplicationListenerData(ctx context.
"sticky_session_cookie_timeout": validators.NewNonNegativeValidator("sticky_session_cookie_timeout").Optional(true),
}
if err := RunValidators(keyV, data); err != nil {
if err := RunValidators(keyV, data, false); err != nil {
return nil, err
}
@@ -239,7 +239,7 @@ func (self *SAwsRegionDriver) validateCreateApplicationListenerData(ctx context.
"enable_http2": validators.NewBoolValidator("enable_http2").Default(true),
}
if err := RunValidators(httpsV, data); err != nil {
if err := RunValidators(httpsV, data, false); err != nil {
return nil, err
}
}
@@ -260,7 +260,7 @@ func (self *SAwsRegionDriver) validateCreateApplicationListenerData(ctx context.
"health_check_interval": validators.NewRangeValidator("health_check_interval", 5, 300).Default(30),
}
if err := RunValidators(keyVHealth, data); err != nil {
if err := RunValidators(keyVHealth, data, false); err != nil {
return nil, err
}
@@ -283,7 +283,7 @@ func (self *SAwsRegionDriver) validateCreateNetworkListenerData(ctx context.Cont
"send_proxy": validators.NewStringChoicesValidator("send_proxy", api.LB_SENDPROXY_CHOICES).Default(api.LB_SENDPROXY_OFF),
}
if err := RunValidators(keyV, data); err != nil {
if err := RunValidators(keyV, data, false); err != nil {
return nil, err
}
@@ -328,7 +328,7 @@ func (self *SAwsRegionDriver) validateCreateNetworkListenerData(ctx context.Cont
"health_check_interval": validators.NewRangeValidator("health_check_interval", 10, 30).Default(30),
}
if err := RunValidators(keyVHealth, data); err != nil {
if err := RunValidators(keyVHealth, data, false); err != nil {
return nil, err
}
@@ -386,7 +386,7 @@ func (self *SAwsRegionDriver) validateUpdateApplicationListenerData(ctx context.
"sticky_session_cookie_timeout": validators.NewNonNegativeValidator("sticky_session_cookie_timeout").Optional(true),
}
if err := RunValidators(keyV, data); err != nil {
if err := RunValidators(keyV, data, true); err != nil {
return nil, err
}
@@ -413,7 +413,7 @@ func (self *SAwsRegionDriver) validateUpdateApplicationListenerData(ctx context.
"enable_http2": validators.NewBoolValidator("enable_http2").Default(true),
}
if err := RunValidators(httpsV, data); err != nil {
if err := RunValidators(httpsV, data, true); err != nil {
return nil, err
}
}
@@ -434,7 +434,7 @@ func (self *SAwsRegionDriver) validateUpdateApplicationListenerData(ctx context.
"health_check_interval": validators.NewRangeValidator("health_check_interval", 5, 300).Default(30),
}
if err := RunValidators(keyVHealth, data); err != nil {
if err := RunValidators(keyVHealth, data, true); err != nil {
return nil, err
}
@@ -457,7 +457,7 @@ func (self *SAwsRegionDriver) validateUpdateNetworkListenerData(ctx context.Cont
"send_proxy": validators.NewStringChoicesValidator("send_proxy", api.LB_SENDPROXY_CHOICES).Default(api.LB_SENDPROXY_OFF),
}
if err := RunValidators(keyV, data); err != nil {
if err := RunValidators(keyV, data, true); err != nil {
return nil, err
}
@@ -491,7 +491,7 @@ func (self *SAwsRegionDriver) validateUpdateNetworkListenerData(ctx context.Cont
"health_check_interval": validators.NewRangeValidator("health_check_interval", 10, 30).Default(30),
}
if err := RunValidators(keyVHealth, data); err != nil {
if err := RunValidators(keyVHealth, data, true); err != nil {
return nil, err
}
@@ -534,7 +534,7 @@ func (self *SAwsRegionDriver) ValidateCreateLoadbalancerListenerRuleData(ctx con
"path": pathV.Default("").Optional(true),
}
if err := RunValidators(keyV, data); err != nil {
if err := RunValidators(keyV, data, false); err != nil {
return nil, err
}
@@ -624,7 +624,7 @@ func (self *SAwsRegionDriver) ValidateCreateLoadbalancerBackendData(ctx context.
"send_proxy": validators.NewStringChoicesValidator("send_proxy", api.LB_SENDPROXY_CHOICES).Default(api.LB_SENDPROXY_OFF),
}
if err := RunValidators(keyV, data); err != nil {
if err := RunValidators(keyV, data, false); err != nil {
return nil, err
}
@@ -711,7 +711,7 @@ func (self *SAwsRegionDriver) ValidateUpdateLoadbalancerBackendData(ctx context.
"send_proxy": validators.NewStringChoicesValidator("send_proxy", api.LB_SENDPROXY_CHOICES).Optional(true),
}
if err := RunValidators(keyV, data); err != nil {
if err := RunValidators(keyV, data, true); err != nil {
return nil, err
}
+8 -8
View File
@@ -59,7 +59,7 @@ func (self *SHuaWeiRegionDriver) ValidateCreateLoadbalancerData(ctx context.Cont
"manager": managerIdV,
}
if err := RunValidators(keyV, data); err != nil {
if err := RunValidators(keyV, data, false); err != nil {
return nil, err
}
@@ -199,7 +199,7 @@ func (self *SHuaWeiRegionDriver) ValidateCreateLoadbalancerBackendData(ctx conte
"send_proxy": validators.NewStringChoicesValidator("send_proxy", api.LB_SENDPROXY_CHOICES).Default(api.LB_SENDPROXY_OFF),
}
if err := RunValidators(keyV, data); err != nil {
if err := RunValidators(keyV, data, false); err != nil {
return nil, err
}
@@ -290,7 +290,7 @@ func (self *SHuaWeiRegionDriver) ValidateCreateLoadbalancerListenerData(ctx cont
"gzip": validators.NewBoolValidator("gzip").Default(false),
}
if err := RunValidators(keyV, data); err != nil {
if err := RunValidators(keyV, data, false); err != nil {
return nil, err
}
@@ -317,7 +317,7 @@ func (self *SHuaWeiRegionDriver) ValidateCreateLoadbalancerListenerData(ctx cont
"enable_http2": validators.NewBoolValidator("enable_http2").Default(true),
}
if err := RunValidators(httpsV, data); err != nil {
if err := RunValidators(httpsV, data, false); err != nil {
return nil, err
}
}
@@ -338,7 +338,7 @@ func (self *SHuaWeiRegionDriver) ValidateCreateLoadbalancerListenerData(ctx cont
"health_check_interval": validators.NewRangeValidator("health_check_interval", 1, 50).Default(5),
}
if err := RunValidators(keyVHealth, data); err != nil {
if err := RunValidators(keyVHealth, data, false); err != nil {
return nil, err
}
@@ -365,7 +365,7 @@ func (self *SHuaWeiRegionDriver) ValidateCreateLoadbalancerListenerRuleData(ctx
"http_request_rate_per_src": validators.NewNonNegativeValidator("http_request_rate_per_src").Default(0),
}
if err := RunValidators(keyV, data); err != nil {
if err := RunValidators(keyV, data, false); err != nil {
return nil, err
}
@@ -454,7 +454,7 @@ func (self *SHuaWeiRegionDriver) ValidateUpdateLoadbalancerBackendData(ctx conte
"send_proxy": validators.NewStringChoicesValidator("send_proxy", api.LB_SENDPROXY_CHOICES).Optional(true),
}
if err := RunValidators(keyV, data); err != nil {
if err := RunValidators(keyV, data, true); err != nil {
return nil, err
}
@@ -520,7 +520,7 @@ func (self *SHuaWeiRegionDriver) ValidateUpdateLoadbalancerListenerData(ctx cont
"enable_http2": validators.NewBoolValidator("enable_http2"),
}
if err := RunValidators(keyV, data); err != nil {
if err := RunValidators(keyV, data, true); err != nil {
return nil, err
}
+12 -9
View File
@@ -43,8 +43,11 @@ func init() {
models.RegisterRegionDriver(&driver)
}
func RunValidators(validators map[string]validators.IValidator, data *jsonutils.JSONDict) error {
func RunValidators(validators map[string]validators.IValidator, data *jsonutils.JSONDict, optional bool) error {
for _, v := range validators {
if optional {
v.Optional(true)
}
if err := v.Validate(data); err != nil {
return err
}
@@ -68,7 +71,7 @@ func (self *SKVMRegionDriver) ValidateCreateLoadbalancerData(ctx context.Context
"network": networkV,
"cluster": clusterV.Optional(true),
}
if err := RunValidators(keyV, data); err != nil {
if err := RunValidators(keyV, data, false); err != nil {
return nil, err
}
@@ -167,7 +170,7 @@ func (self *SKVMRegionDriver) ValidateCreateLoadbalancerBackendData(ctx context.
"send_proxy": validators.NewStringChoicesValidator("send_proxy", api.LB_SENDPROXY_CHOICES).Default(api.LB_SENDPROXY_OFF),
}
if err := RunValidators(keyV, data); err != nil {
if err := RunValidators(keyV, data, false); err != nil {
return nil, err
}
@@ -268,7 +271,7 @@ func (self *SKVMRegionDriver) ValidateUpdateLoadbalancerBackendData(ctx context.
"send_proxy": validators.NewStringChoicesValidator("send_proxy", api.LB_SENDPROXY_CHOICES).Optional(true),
}
if err := RunValidators(keyV, data); err != nil {
if err := RunValidators(keyV, data, true); err != nil {
return nil, err
}
@@ -290,7 +293,7 @@ func (self *SKVMRegionDriver) ValidateCreateLoadbalancerListenerRuleData(ctx con
"http_request_rate_per_src": validators.NewNonNegativeValidator("http_request_rate_per_src").Default(0),
}
if err := RunValidators(keyV, data); err != nil {
if err := RunValidators(keyV, data, false); err != nil {
return nil, err
}
@@ -380,7 +383,7 @@ func (self *SKVMRegionDriver) ValidateCreateLoadbalancerListenerData(ctx context
"http_request_rate_per_src": validators.NewNonNegativeValidator("http_request_rate_per_src").Default(0),
}
if err := RunValidators(keyV, data); err != nil {
if err := RunValidators(keyV, data, false); err != nil {
return nil, err
}
@@ -407,7 +410,7 @@ func (self *SKVMRegionDriver) ValidateCreateLoadbalancerListenerData(ctx context
"enable_http2": validators.NewBoolValidator("enable_http2").Default(true),
}
if err := RunValidators(httpsV, data); err != nil {
if err := RunValidators(httpsV, data, false); err != nil {
return nil, err
}
}
@@ -428,7 +431,7 @@ func (self *SKVMRegionDriver) ValidateCreateLoadbalancerListenerData(ctx context
"health_check_interval": validators.NewRangeValidator("health_check_interval", 1, 1000).Default(5),
}
if err := RunValidators(keyVHealth, data); err != nil {
if err := RunValidators(keyVHealth, data, false); err != nil {
return nil, err
}
@@ -504,7 +507,7 @@ func (self *SKVMRegionDriver) ValidateUpdateLoadbalancerListenerData(ctx context
"enable_http2": validators.NewBoolValidator("enable_http2"),
}
if err := RunValidators(keyV, data); err != nil {
if err := RunValidators(keyV, data, true); err != nil {
return nil, err
}
+8 -8
View File
@@ -60,7 +60,7 @@ func (self *SQcloudRegionDriver) ValidateCreateLoadbalancerData(ctx context.Cont
"manager": managerIdV,
}
if err := RunValidators(keyV, data); err != nil {
if err := RunValidators(keyV, data, false); err != nil {
return nil, err
}
@@ -113,7 +113,7 @@ func (self *SQcloudRegionDriver) ValidateCreateLoadbalancerListenerData(ctx cont
"gzip": validators.NewBoolValidator("gzip").Default(false),
}
if err := RunValidators(keyV, data); err != nil {
if err := RunValidators(keyV, data, false); err != nil {
return nil, err
}
@@ -150,7 +150,7 @@ func (self *SQcloudRegionDriver) ValidateCreateLoadbalancerListenerData(ctx cont
"enable_http2": validators.NewBoolValidator("enable_http2").Default(true),
}
if err := RunValidators(httpsV, data); err != nil {
if err := RunValidators(httpsV, data, false); err != nil {
return nil, err
}
}
@@ -171,7 +171,7 @@ func (self *SQcloudRegionDriver) ValidateCreateLoadbalancerListenerData(ctx cont
"health_check_interval": validators.NewRangeValidator("health_check_interval", 5, 300).Default(5),
}
if err := RunValidators(keyVHealth, data); err != nil {
if err := RunValidators(keyVHealth, data, false); err != nil {
return nil, err
}
@@ -578,7 +578,7 @@ func (self *SQcloudRegionDriver) ValidateUpdateLoadbalancerListenerData(ctx cont
"enable_http2": validators.NewBoolValidator("enable_http2"),
}
if err := RunValidators(keyV, data); err != nil {
if err := RunValidators(keyV, data, true); err != nil {
return nil, err
}
@@ -599,7 +599,7 @@ func (self *SQcloudRegionDriver) ValidateUpdateLoadbalancerBackendData(ctx conte
"send_proxy": validators.NewStringChoicesValidator("send_proxy", api.LB_SENDPROXY_CHOICES).Optional(true),
}
if err := RunValidators(keyV, data); err != nil {
if err := RunValidators(keyV, data, true); err != nil {
return nil, err
}
return data, nil
@@ -617,7 +617,7 @@ func (self *SQcloudRegionDriver) ValidateCreateLoadbalancerListenerRuleData(ctx
"http_request_rate_per_src": validators.NewNonNegativeValidator("http_request_rate_per_src").Default(0),
}
if err := RunValidators(keyV, data); err != nil {
if err := RunValidators(keyV, data, false); err != nil {
return nil, err
}
@@ -680,7 +680,7 @@ func (self *SQcloudRegionDriver) ValidateCreateLoadbalancerBackendData(ctx conte
"send_proxy": validators.NewStringChoicesValidator("send_proxy", api.LB_SENDPROXY_CHOICES).Default(api.LB_SENDPROXY_OFF),
}
if err := RunValidators(keyV, data); err != nil {
if err := RunValidators(keyV, data, false); err != nil {
return nil, err
}