Skip to content

Commit 8fc6a10

Browse files
mprahlopenshift-merge-robot
authored andcommitted
Use better names for the extra_vars passed to the Ansible job
Relates: https://issues.redhat.com/browse/ACM-2946 Signed-off-by: mprahl <[email protected]>
1 parent f59745d commit 8fc6a10

File tree

4 files changed

+36
-37
lines changed

4 files changed

+36
-37
lines changed

api/v1beta1/policyautomation_types.go

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ const (
4444
Disabled PolicyAutomationMode = "disabled"
4545
)
4646

47-
const DefaultPolicyViolationContextLimit = 1000
47+
const DefaultPolicyViolationsLimit = 1000
4848

4949
// AutomationDef defines the automation to invoke
5050
type AutomationDef struct {
@@ -66,21 +66,20 @@ type AutomationDef struct {
6666
JobTTL *int `json:"jobTtl,omitempty"`
6767
// +kubebuilder:validation:Minimum=0
6868
// The maximum number of violating cluster contexts that will be provided to the Ansible job as extra variables.
69-
// When policyViolationContextLimit is set to 0, it means no limit.
69+
// When policyViolationsLimit is set to 0, it means no limit.
7070
// The default value is 1000.
71-
PolicyViolationContextLimit *uint `json:"policyViolationContextLimit,omitempty"`
71+
PolicyViolationsLimit *uint `json:"policyViolationsLimit,omitempty"`
7272
}
7373

7474
// ViolationContext defines the non-compliant replicated policy information
7575
// that is sent to the AnsibleJob through extra_vars.
7676
type ViolationContext struct {
77-
TargetClusters []string `json:"targetClusters" ansibleJob:"target_clusters"`
78-
PolicyName string `json:"policyName" ansibleJob:"policy_name"`
79-
PolicyNamespace string `json:"namespace"`
80-
HubCluster string `json:"hubCluster" ansibleJob:"hub_cluster"`
81-
PolicySets []string `json:"policySet" ansibleJob:"policy_set"`
82-
//nolint: lll
83-
PolicyViolationContext map[string]ReplicatedPolicyStatus `json:"policyViolationContext" ansibleJob:"policy_violation_context"`
77+
TargetClusters []string `json:"targetClusters" ansibleJob:"target_clusters"`
78+
PolicyName string `json:"policyName" ansibleJob:"policy_name"`
79+
PolicyNamespace string `json:"policyNamespace" ansibleJob:"policy_namespace"`
80+
HubCluster string `json:"hubCluster" ansibleJob:"hub_cluster"`
81+
PolicySets []string `json:"policySets" ansibleJob:"policy_sets"`
82+
PolicyViolations map[string]ReplicatedPolicyStatus `json:"policyViolations" ansibleJob:"policy_violations"`
8483
}
8584

8685
// PolicyAutomationStatus defines the observed state of PolicyAutomation

controllers/automation/policyautomation_controller.go

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -195,16 +195,16 @@ func (r *PolicyAutomationReconciler) getViolationContext(
195195
return violationContext, nil
196196
}
197197

198-
policyViolationContextLimit := policyAutomation.Spec.Automation.PolicyViolationContextLimit
199-
if policyViolationContextLimit == nil {
200-
policyViolationContextLimit = new(uint)
201-
*policyViolationContextLimit = policyv1beta1.DefaultPolicyViolationContextLimit
198+
policyViolationsLimit := policyAutomation.Spec.Automation.PolicyViolationsLimit
199+
if policyViolationsLimit == nil {
200+
policyViolationsLimit = new(uint)
201+
*policyViolationsLimit = policyv1beta1.DefaultPolicyViolationsLimit
202202
}
203203

204-
contextLimit := int(*policyViolationContextLimit)
204+
contextLimit := int(*policyViolationsLimit)
205205

206206
targetListMap := getTargetListMap(targetList)
207-
violationContext.PolicyViolationContext = make(
207+
violationContext.PolicyViolations = make(
208208
map[string]policyv1beta1.ReplicatedPolicyStatus,
209209
len(replicatedPlcList.Items),
210210
)
@@ -219,7 +219,7 @@ func (r *PolicyAutomationReconciler) getViolationContext(
219219
rPlcStatus := policyv1beta1.ReplicatedPolicyStatus{}
220220
// Convert PolicyStatus to ReplicatedPolicyStatus and skip the unnecessary items
221221
err := common.TypeConverter(rPlc.Status, &rPlcStatus)
222-
if err != nil { // still assign the empty rPlcStatus to PolicyViolationContext later
222+
if err != nil { // still assign the empty rPlcStatus to PolicyViolations later
223223
log.Error(err, "The PolicyStatus cannot be converted to the type ReplicatedPolicyStatus.")
224224
}
225225

@@ -229,10 +229,10 @@ func (r *PolicyAutomationReconciler) getViolationContext(
229229
rPlcStatus.ViolationMessage = statusDetails[0].History[0].Message
230230
}
231231

232-
violationContext.PolicyViolationContext[clusterName] = rPlcStatus
233-
if contextLimit > 0 && len(violationContext.PolicyViolationContext) == contextLimit {
232+
violationContext.PolicyViolations[clusterName] = rPlcStatus
233+
if contextLimit > 0 && len(violationContext.PolicyViolations) == contextLimit {
234234
log.V(2).Info(
235-
"PolicyViolationContextLimit is %s so skipping %s remaining replicated policies violations.",
235+
"PolicyViolationsLimit is %s so skipping %s remaining replicated policies violations.",
236236
fmt.Sprint(contextLimit),
237237
fmt.Sprint(len(replicatedPlcList.Items)-contextLimit),
238238
)

deploy/crds/policy.open-cluster-management.io_policyautomations.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,11 +55,11 @@ spec:
5555
job
5656
minLength: 1
5757
type: string
58-
policyViolationContextLimit:
58+
policyViolationsLimit:
5959
description: The maximum number of violating cluster contexts
6060
that will be provided to the Ansible job as extra variables.
61-
When policyViolationContextLimit is set to 0, it means no limit.
62-
The default value is 1000.
61+
When policyViolationsLimit is set to 0, it means no limit. The
62+
default value is 1000.
6363
minimum: 0
6464
type: integer
6565
secret:

test/e2e/case5_policy_automation_test.go

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -171,13 +171,13 @@ var _ = Describe("Test policy automation", func() {
171171
spec := ansiblejobList.Items[0].Object["spec"]
172172
extraVars := spec.(map[string]interface{})["extra_vars"].(map[string]interface{})
173173
Expect(extraVars["policy_name"]).To(Equal("case5-test-policy"))
174-
Expect(extraVars["namespace"]).To(Equal(testNamespace))
174+
Expect(extraVars["policy_namespace"]).To(Equal(testNamespace))
175175
Expect(extraVars["hub_cluster"]).To(Equal("millienium-falcon.tatooine.local"))
176176
Expect(len(extraVars["target_clusters"].([]interface{}))).To(Equal(1))
177177
Expect(extraVars["target_clusters"].([]interface{})[0]).To(Equal("managed1"))
178-
Expect(len(extraVars["policy_set"].([]interface{}))).To(Equal(1))
179-
Expect(extraVars["policy_set"].([]interface{})[0]).To(Equal("case5-test-policyset"))
180-
managed1 := extraVars["policy_violation_context"].(map[string]interface{})["managed1"]
178+
Expect(len(extraVars["policy_sets"].([]interface{}))).To(Equal(1))
179+
Expect(extraVars["policy_sets"].([]interface{})[0]).To(Equal("case5-test-policyset"))
180+
managed1 := extraVars["policy_violations"].(map[string]interface{})["managed1"]
181181
compliant := managed1.(map[string]interface{})["compliant"]
182182
Expect(compliant).To(Equal(string(policiesv1.NonCompliant)))
183183
violationMessage := managed1.(map[string]interface{})["violation_message"]
@@ -807,15 +807,15 @@ var _ = Describe("Test policy automation", func() {
807807
spec := ansiblejobList.Items[0].Object["spec"]
808808
extraVars := spec.(map[string]interface{})["extra_vars"].(map[string]interface{})
809809
Expect(extraVars["policy_name"]).To(Equal("case5-test-policy"))
810-
Expect(extraVars["namespace"]).To(Equal(testNamespace))
810+
Expect(extraVars["policy_namespace"]).To(Equal(testNamespace))
811811
Expect(extraVars["hub_cluster"]).To(Equal("millienium-falcon.tatooine.local"))
812812
Expect(len(extraVars["target_clusters"].([]interface{}))).To(Equal(2))
813-
Expect(len(extraVars["policy_set"].([]interface{}))).To(Equal(1))
814-
Expect(extraVars["policy_set"].([]interface{})[0]).To(Equal("case5-test-policyset"))
815-
managed1 := extraVars["policy_violation_context"].(map[string]interface{})["managed1"]
813+
Expect(len(extraVars["policy_sets"].([]interface{}))).To(Equal(1))
814+
Expect(extraVars["policy_sets"].([]interface{})[0]).To(Equal("case5-test-policyset"))
815+
managed1 := extraVars["policy_violations"].(map[string]interface{})["managed1"]
816816
compliant := managed1.(map[string]interface{})["compliant"]
817817
Expect(compliant).To(Equal(string(policiesv1.NonCompliant)))
818-
managed2 := extraVars["policy_violation_context"].(map[string]interface{})["managed2"]
818+
managed2 := extraVars["policy_violations"].(map[string]interface{})["managed2"]
819819
compliant = managed2.(map[string]interface{})["compliant"]
820820
Expect(compliant).To(Equal(string(policiesv1.NonCompliant)))
821821

@@ -866,7 +866,7 @@ var _ = Describe("Test policy automation", func() {
866866
return len(ansiblejobList.Items)
867867
}, 30, 1).Should(Equal(2))
868868

869-
By("Check the policy_violation_context is mostly empty for the compliant manual run case")
869+
By("Check policy_violations is mostly empty for the compliant manual run case")
870870
ansiblejobList, err = clientHubDynamic.Resource(gvrAnsibleJob).Namespace(testNamespace).List(
871871
context.TODO(), metav1.ListOptions{},
872872
)
@@ -880,12 +880,12 @@ var _ = Describe("Test policy automation", func() {
880880

881881
extraVars = spec.(map[string]interface{})["extra_vars"].(map[string]interface{})
882882
Expect(extraVars["policy_name"]).To(Equal("case5-test-policy"))
883-
Expect(extraVars["namespace"]).To(Equal(testNamespace))
883+
Expect(extraVars["policy_namespace"]).To(Equal(testNamespace))
884884
Expect(extraVars["hub_cluster"]).To(Equal("millienium-falcon.tatooine.local"))
885885
Expect(len(extraVars["target_clusters"].([]interface{}))).To(Equal(0))
886-
Expect(len(extraVars["policy_set"].([]interface{}))).To(Equal(1))
887-
Expect(extraVars["policy_set"].([]interface{})[0]).To(Equal("case5-test-policyset"))
888-
Expect(extraVars["policy_violation_context"]).To(BeNil())
886+
Expect(len(extraVars["policy_sets"].([]interface{}))).To(Equal(1))
887+
Expect(extraVars["policy_sets"].([]interface{})[0]).To(Equal("case5-test-policyset"))
888+
Expect(extraVars["policy_violations"]).To(BeNil())
889889
})
890890
})
891891
Describe("Clean up", func() {

0 commit comments

Comments
 (0)