From 6978492242e6c4c89aadcab5956c6d8e0324aefa Mon Sep 17 00:00:00 2001 From: Yousong Zhou Date: Fri, 29 Nov 2019 05:26:13 +0000 Subject: [PATCH 1/3] cloudnet: fix validating "action" --- pkg/cloudnet/models/rules.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/cloudnet/models/rules.go b/pkg/cloudnet/models/rules.go index 433f93a30f..ec4dd393d3 100644 --- a/pkg/cloudnet/models/rules.go +++ b/pkg/cloudnet/models/rules.go @@ -115,7 +115,7 @@ func (man *SRuleManager) validateData(ctx context.Context, userCred mcclient.Tok protoV := validators.NewStringChoicesValidator("match_proto", protoChoices) srcPortV := validators.NewPortValidator("match_src_port") destPortV := validators.NewPortValidator("match_dest_port") - actionV := validators.NewStringChoicesValidator("action", protoChoices) + actionV := validators.NewStringChoicesValidator("action", actionChoices) actionOptsV := validators.NewStringLenRangeValidator("action_options", 0, 256) if isUpdate { inIfnameV.Default(rule.MatchInIfname) From e1ac463622a36b64b9e66db0716f3f29cd73ed70 Mon Sep 17 00:00:00 2001 From: Yousong Zhou Date: Fri, 29 Nov 2019 05:26:31 +0000 Subject: [PATCH 2/3] climc: cloudnet: fix passing invalid port on creating rules --- pkg/mcclient/options/cloudnet/rules.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/mcclient/options/cloudnet/rules.go b/pkg/mcclient/options/cloudnet/rules.go index 9607e38f9f..f25616a74a 100644 --- a/pkg/mcclient/options/cloudnet/rules.go +++ b/pkg/mcclient/options/cloudnet/rules.go @@ -26,8 +26,8 @@ type RuleCreateOptions struct { MatchSrcNet string MatchDestNet string MatchProto string - MatchSrcPort int - MatchDestPort int + MatchSrcPort int `json:",omitzero"` + MatchDestPort int `json:",omitzero"` MatchInIfname string MatchOutIfname string From df8f050fca54d0c621b8aafe0216535ff9285646 Mon Sep 17 00:00:00 2001 From: Yousong Zhou Date: Fri, 29 Nov 2019 07:11:42 +0000 Subject: [PATCH 3/3] cloudnet: return non-nil data on validata create data pass --- pkg/cloudnet/models/routes.go | 2 +- pkg/cloudnet/models/rules.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/cloudnet/models/routes.go b/pkg/cloudnet/models/routes.go index 3080117127..2cb6eceb76 100644 --- a/pkg/cloudnet/models/routes.go +++ b/pkg/cloudnet/models/routes.go @@ -103,7 +103,7 @@ func (man *SRouteManager) ValidateCreateData(ctx context.Context, userCred mccli router.Name+"-"+iface.Name+"-"+rand.String(4)), ) } - return nil, nil + return data, nil } func (man *SRouteManager) ListItemFilter(ctx context.Context, q *sqlchemy.SQuery, userCred mcclient.TokenCredential, query jsonutils.JSONObject) (*sqlchemy.SQuery, error) { diff --git a/pkg/cloudnet/models/rules.go b/pkg/cloudnet/models/rules.go index ec4dd393d3..186a05c82f 100644 --- a/pkg/cloudnet/models/rules.go +++ b/pkg/cloudnet/models/rules.go @@ -200,7 +200,7 @@ func (man *SRuleManager) ValidateCreateData(ctx context.Context, userCred mcclie if err := man.validateData(ctx, userCred, ownerId, query, data, nil); err != nil { return nil, err } - return nil, nil + return data, nil } func (man *SRuleManager) ListItemFilter(ctx context.Context, q *sqlchemy.SQuery, userCred mcclient.TokenCredential, query jsonutils.JSONObject) (*sqlchemy.SQuery, error) {