mirror of
https://github.com/kyverno/kyverno.git
synced 2025-03-05 15:37:19 +00:00
Merge pull request #809 from shravanshetty1/808_policy_status
#808 - Policy status is not being updated
This commit is contained in:
commit
3a56a2d624
7 changed files with 8 additions and 6 deletions
|
@ -20,6 +20,7 @@ spec:
|
||||||
validation:
|
validation:
|
||||||
openAPIV3Schema:
|
openAPIV3Schema:
|
||||||
properties:
|
properties:
|
||||||
|
status: {}
|
||||||
spec:
|
spec:
|
||||||
required:
|
required:
|
||||||
- rules
|
- rules
|
||||||
|
|
|
@ -20,6 +20,7 @@ spec:
|
||||||
validation:
|
validation:
|
||||||
openAPIV3Schema:
|
openAPIV3Schema:
|
||||||
properties:
|
properties:
|
||||||
|
status: {}
|
||||||
spec:
|
spec:
|
||||||
required:
|
required:
|
||||||
- rules
|
- rules
|
||||||
|
|
|
@ -121,7 +121,7 @@ type Policy struct {
|
||||||
metav1.TypeMeta `json:",inline"`
|
metav1.TypeMeta `json:",inline"`
|
||||||
metav1.ObjectMeta `json:"metadata,omitempty"`
|
metav1.ObjectMeta `json:"metadata,omitempty"`
|
||||||
Spec Spec `json:"spec"`
|
Spec Spec `json:"spec"`
|
||||||
Status PolicyStatus `json:"status"`
|
Status PolicyStatus `json:"status,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// Spec describes policy behavior by its rules
|
// Spec describes policy behavior by its rules
|
||||||
|
@ -230,7 +230,7 @@ type CloneFrom struct {
|
||||||
// PolicyStatus mostly contains statistics related to policy
|
// PolicyStatus mostly contains statistics related to policy
|
||||||
type PolicyStatus struct {
|
type PolicyStatus struct {
|
||||||
// average time required to process the policy rules on a resource
|
// average time required to process the policy rules on a resource
|
||||||
AvgExecutionTime string `json:"averageExecutionTime"`
|
AvgExecutionTime string `json:"averageExecutionTime,omitempty"`
|
||||||
// number of violations created by this policy
|
// number of violations created by this policy
|
||||||
ViolationCount int `json:"violationCount,omitempty"`
|
ViolationCount int `json:"violationCount,omitempty"`
|
||||||
// Count of rules that failed
|
// Count of rules that failed
|
||||||
|
|
|
@ -15,7 +15,7 @@ func Test_Stats(t *testing.T) {
|
||||||
expectedOutput []byte
|
expectedOutput []byte
|
||||||
existingStatus map[string]v1.PolicyStatus
|
existingStatus map[string]v1.PolicyStatus
|
||||||
}{
|
}{
|
||||||
expectedOutput: []byte(`{"policy1":{"averageExecutionTime":"","resourcesGeneratedCount":2,"ruleStatus":[{"ruleName":"rule1","averageExecutionTime":"23ns","resourcesGeneratedCount":1},{"ruleName":"rule2","averageExecutionTime":"44ns","resourcesGeneratedCount":1},{"ruleName":"rule3"}]}}`),
|
expectedOutput: []byte(`{"policy1":{"resourcesGeneratedCount":2,"ruleStatus":[{"ruleName":"rule1","averageExecutionTime":"23ns","resourcesGeneratedCount":1},{"ruleName":"rule2","averageExecutionTime":"44ns","resourcesGeneratedCount":1},{"ruleName":"rule3"}]}}`),
|
||||||
generatedSyncStats: []generateSyncStats{
|
generatedSyncStats: []generateSyncStats{
|
||||||
{
|
{
|
||||||
policyName: "policy1",
|
policyName: "policy1",
|
||||||
|
|
|
@ -80,7 +80,7 @@ func (s *Sync) Run(workers int, stopCh <-chan struct{}) {
|
||||||
go s.updateStatusCache(stopCh)
|
go s.updateStatusCache(stopCh)
|
||||||
}
|
}
|
||||||
|
|
||||||
wait.Until(s.updatePolicyStatus, 2*time.Second, stopCh)
|
wait.Until(s.updatePolicyStatus, 10*time.Second, stopCh)
|
||||||
<-stopCh
|
<-stopCh
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -28,7 +28,7 @@ func (d dummyStatusUpdater) PolicyName() string {
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestKeyToMutex(t *testing.T) {
|
func TestKeyToMutex(t *testing.T) {
|
||||||
expectedCache := `{"policy1":{"averageExecutionTime":"","rulesAppliedCount":100}}`
|
expectedCache := `{"policy1":{"rulesAppliedCount":100}}`
|
||||||
|
|
||||||
stopCh := make(chan struct{})
|
stopCh := make(chan struct{})
|
||||||
s := NewSync(nil, dummyStore{})
|
s := NewSync(nil, dummyStore{})
|
||||||
|
|
|
@ -33,7 +33,7 @@ func Test_Stats(t *testing.T) {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
expectedOutput: []byte(`{"policy1":{"averageExecutionTime":"","violationCount":1,"ruleStatus":[{"ruleName":"rule4","violationCount":1}]},"policy2":{"averageExecutionTime":"","violationCount":1,"ruleStatus":[{"ruleName":"rule4","violationCount":1}]}}`),
|
expectedOutput: []byte(`{"policy1":{"violationCount":1,"ruleStatus":[{"ruleName":"rule4","violationCount":1}]},"policy2":{"violationCount":1,"ruleStatus":[{"ruleName":"rule4","violationCount":1}]}}`),
|
||||||
violationCountStats: []struct {
|
violationCountStats: []struct {
|
||||||
policyName string
|
policyName string
|
||||||
violatedRules []v1.ViolatedRule
|
violatedRules []v1.ViolatedRule
|
||||||
|
|
Loading…
Add table
Reference in a new issue