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" in filter.xml under /content or /content/experience-fragments (FilterXmlModeAnalysis)
  • Overlapping install paths between multiple packages, including third-party/vendor packages (PackageOverlaps)
  • Custom Oak index definition missing a required jcr:content node (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:

  1. Review the Code Quality report from the affected Cloud Manager pipeline execution and identify all Major and Minor Bug findings.

  2. Update the filter.xml file in the ui.content packages:

    • Change any filter root under /content or /content/experience-fragments from mode="replace" to a safer mode, such as merge or update_properties.
    • If a complete reset of test content is required, use a manually installed package or script outside of Cloud Manager deployments.
  3. Resolve PackageOverlaps findings by adjusting filter roots to eliminate overlapping installation paths between packages. Coordinate with vendor package owners if necessary.

  4. Resolve DiffIndexCheck findings by adding the missing jcr:content node to any custom Oak index definitions identified in the report.

  5. Resolve DuplicateOsgiConfigurations findings by renaming or removing duplicate OSGi configuration files so that each configuration is defined only once across all packages.

  6. Rerun the Cloud Manager pipeline and verify that all Major and Minor Bug findings are resolved and that the Reliability Rating improves.

recommendation-more-help
experience-cloud-kcs-help-kbarticles