From 8dda9cc4130a223cb867d83e9e222d6b51c39f12 Mon Sep 17 00:00:00 2001 From: shravan Date: Mon, 16 Mar 2020 14:08:13 +0530 Subject: [PATCH] 725 error response now returns rule message if it exists --- pkg/engine/validation.go | 6 +++++- pkg/webhooks/common.go | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/pkg/engine/validation.go b/pkg/engine/validation.go index 10e86e084f..fc4e89bf1c 100644 --- a/pkg/engine/validation.go +++ b/pkg/engine/validation.go @@ -235,7 +235,11 @@ func validatePatterns(ctx context.EvalInterface, resource unstructured.Unstructu } resp.Success = false glog.V(4).Infof("Validation rule '%s' failed. %s", rule.Name, errorStr) - resp.Message = fmt.Sprintf("Validation rule '%s' has failed", rule.Name) + if rule.Validation.Message == "" { + resp.Message = fmt.Sprintf("Validation rule '%s' has failed", rule.Name) + } else { + resp.Message = rule.Validation.Message + } return resp } } diff --git a/pkg/webhooks/common.go b/pkg/webhooks/common.go index 34b1f2c968..2ca90049f8 100644 --- a/pkg/webhooks/common.go +++ b/pkg/webhooks/common.go @@ -39,10 +39,10 @@ func toBlockResource(engineReponses []response.EngineResponse) bool { } // getEnforceFailureErrorMsg gets the error messages for failed enforce policy -func getEnforceFailureErrorMsg(engineReponses []response.EngineResponse) string { +func getEnforceFailureErrorMsg(engineResponses []response.EngineResponse) string { policyToRule := make(map[string]interface{}) var resourceName string - for _, er := range engineReponses { + for _, er := range engineResponses { if !er.IsSuccesful() && er.PolicyResponse.ValidationFailureAction == Enforce { ruleToReason := make(map[string]string) for _, rule := range er.PolicyResponse.Rules {