openshift / compliance-operator

Operator providing OpenShift cluster compliance checks
Apache License 2.0
110 stars 110 forks source link

Associate variable with compliance check result #693

Closed Vincent056 closed 3 years ago

Vincent056 commented 3 years ago

Added a new attribute ValuesUsed into ComplianceCheckResult that contains a string slice with all the associate settable variables for a rule

openshift-ci[bot] commented 3 years ago

Hi @Vincent056. Thanks for your PR.

I'm waiting for a openshift member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository.
Vincent056 commented 3 years ago

@jhrozek I went with the safe path, I noticed there are more than one states in oval:states for certain oval tests, and I also found out there are some variables in oval:objects that have used variables. What I did is to generate a hash map map each oval test to all its associate variables, by going through each test's objects and states. And then during complianceCheckResult creation, I have a function to lookup value from the generated hash map.

Vincent056 commented 3 years ago

@jhrozek @mrogers950 @JAORMX Hi, can you guys do a review when you free up? Thanks!

JAORMX commented 3 years ago

/ok-to-test

JAORMX commented 3 years ago

/retest

Vincent056 commented 3 years ago

/test e2e-aws

JAORMX commented 3 years ago

@Vincent056 the failures seem consistent, perhaps it's now time to investigate.

JAORMX commented 3 years ago
        --- FAIL: TestE2E/Parallel_tests/TestSuiteWithContentThatDoesNotMatch (220.03s)
        --- FAIL: TestE2E/Serial_tests/TestSuiteScan (105.04s)
        --- FAIL: TestE2E/Serial_tests/TestPlatformAndNodeSuiteScan (110.04s) 
JAORMX commented 3 years ago

/retest

Vincent056 commented 3 years ago

@JAORMX before we set the ValuesUsed, I checked each variable against generated set-values hash table from ResultConfigMap, and the rule with two variables test was removed, because I couldn’t find a rule with two variable for moderated after only includes settable variables.

JAORMX commented 3 years ago

@JAORMX before we set the ValuesUsed, I checked each variable against generated set-values hash table from ResultConfigMap, and the rule with two variables test was removed, because I couldn’t find a rule with two variable for moderated after only includes settable variables.

Got it, makes sense. I think code-wise, this is good to go. Let's just add the docs for the new entry in the CRD and we can merge this.

openshift-ci[bot] commented 3 years ago

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: JAORMX, Vincent056

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files: - ~~[OWNERS](https://github.com/openshift/compliance-operator/blob/master/OWNERS)~~ [JAORMX] Approvers can indicate their approval by writing `/approve` in a comment Approvers can cancel approval by writing `/approve cancel` in a comment