Improve Cloud Manager reliability rating from C to A in AEM as a Cloud Service
This article explains why the Reliability Rating in an AEM Cloud Manager pipeline may be reported as C and provides steps to resolve code scan issues and improve the rating to A.
Description description
Environment
Adobe Experience Manager as a Cloud Service with Cloud Manager Code Quality scanning
Symptoms
When running a Cloud Manager pipeline, the Reliability Rating is reported as C. The Code Quality report identifies multiple OakPAL ‘Bug’ findings, such as:
- Use of
mode="replace"infilter.xmlunder/contentor/content/experience-fragments(FilterXmlModeAnalysis) - Overlapping install paths between multiple packages, including third-party/vendor packages (PackageOverlaps)
- Custom Oak index definition missing a required
jcr:contentnode (DiffIndexCheck) - Duplicate OSGi configuration files (DuplicateOsgiConfigurations)
These findings are flagged as Major or Minor bugs and directly impact the Reliability Rating in Cloud Manager. The use of mode="replace" under /content is specifically disallowed by Cloud Manager’s FilterXmlModeAnalysis rule, as it can delete and recreate all content under that path on every deployment.
Cause
The Reliability Rating of C is caused by code quality issues detected by OakPAL analysis in Cloud Manager, primarily due to the use of mode="replace" under /content, overlapping package paths, missing nodes in custom Oak indexes, and duplicate OSGi configurations.
Resolution resolution
Follow the steps below to resolve the issue:
-
Review the Code Quality report from the affected Cloud Manager pipeline execution and identify all Major and Minor Bug findings.
-
Update the
filter.xmlfile in theui.contentpackages:- Change any filter root under
/contentor/content/experience-fragmentsfrommode="replace"to a safer mode, such asmergeorupdate_properties. - If a complete reset of test content is required, use a manually installed package or script outside of Cloud Manager deployments.
- Change any filter root under
-
Resolve PackageOverlaps findings by adjusting filter roots to eliminate overlapping installation paths between packages. Coordinate with vendor package owners if necessary.
-
Resolve DiffIndexCheck findings by adding the missing
jcr:contentnode to any custom Oak index definitions identified in the report. -
Resolve DuplicateOsgiConfigurations findings by renaming or removing duplicate OSGi configuration files so that each configuration is defined only once across all packages.
-
Rerun the Cloud Manager pipeline and verify that all Major and Minor Bug findings are resolved and that the Reliability Rating improves.