-
Bug
-
Resolution: Unresolved
-
Major
-
None
-
None
-
Quality / Stability / Reliability
-
False
-
-
False
-
-
Description of problem:
The compliance operator content is built in the ComplianceAsCode/content repository. We build rules there as YAML files, which the content build system converts to XML that meets the OVAL and XCCDF standards. The build system uses `platform` and `platforms` to denote if a rule is applicable to a given system (e.g., ocp4-node, or aarch64_arch). The RHEL Compliance team has asked that we use `platform` instead of `platforms`, which is more complex and overly engineered. For our purposes, we should be able to sort our rules into profiles using `platform`. However, using `platform` in the rule and in the profile results in the following error at build time: $ ./build_product ocp4 rhcos4 --datastream-only ... TypeError: argument of type 'NoneType' is not iterable This is because the platform isn't safely checked before it's used to build the required OVAL/XCCDF.
https://github.com/ComplianceAsCode/content/blob/master/ssg/entities/profile_base.py#L27-L30
Version-Release number of selected component (if applicable):
Development versions of the Compliance Operator. Doesn't affect end-users, but makes writing the content for ARM64 more complicated.
How reproducible:
100%
Steps to Reproduce:
1. ./build_product ocp4 rhcos4 --datastream-only 2. 3.
Actual results:
TypeError
Expected results:
The build system should product XCCDF datastream XML files of the OCP4 content in build/
Additional info: