Problemas de carga y herencia de la configuración de OSGi en los entornos de AEM Cloud

Adobe Experience Manager as a Cloud Service (AEMaaCS) encuentra problemas de configuración de OSGi cuando los valores parecen faltantes, duplicados o incoherentes en los entornos. Esto ocurre debido a una resolución estricta basada en el modo de ejecución, una implementación controlada por Git y una carga de configuración en el nivel de pod. Para resolver el problema, corrija la estructura de carpetas OSGi, valide la nomenclatura del modo de ejecución y vuelva a implementar las configuraciones para garantizar un comportamiento coherente entre los pods.

Descripción description

Entorno

  • Adobe Experience Manager as a Cloud Service (AEMaaCS)
  • Adobe Managed Services (AMS)

Problema/Síntomas

  • Los valores de configuración de OSGi no aparecen en vDeveloper Console después de la implementación.
  • Aparecen varias instancias del mismo PID, como com.day.cq.mailer.DefaultMailService, una por pod.
  • Las configuraciones solo se cargan en Author o solo en Publish, según el modo de ejecución.
  • Los valores de Previsualización no coinciden con los de Publicación, aunque se heredan de forma predeterminada.
  • La nueva IU de Developer Console muestra valores antiguos, mientras que la vista clásica muestra los valores correctos.

Causa principal

AEMaaCS resuelve las configuraciones de OSGi desde Git utilizando una nomenclatura estricta de carpetas basada en el modo de ejecución en la ruta de repositorio requerida. Las carpetas mal colocadas, los nombres de modo de ejecución incorrectos o el anidamiento profundo impiden la detección de la configuración. Las configuraciones se cargan por pod a través del instalador JCR de Sling y la vista previa hereda los valores de publicación. La nueva interfaz de usuario de Developer Console puede mostrar valores antiguos debido a una limitación conocida.

Resolución resolution

Siga estos pasos para garantizar el comportamiento y la implementación correctos de la configuración de OSGi:

  1. Vaya al repositorio de Git y compruebe que las configuraciones de OSGi estén almacenadas en ui.config/src/main/content/jcr_root/apps/<project>/osgiconfig.
  2. Asegúrese de que las carpetas de configuración siguen el patrón de modo de ejecución correcto, como config.publish, config.publish.stage o config.author.dev.
  3. Mueva carpetas de configuración profundamente anidadas, como apps/project/test1/test2/config.author, a pps/<project>/osgiconfig/config.<runmode> para garantizar la detección.
  4. Identifique el entorno de destino y asegúrese de que se aplica el modo de ejecución más específico, por ejemplo config.publish.stage invalida config.publish.
  5. Corrija cualquier nombre de modo de ejecución no coincidente, como config.stg.public, en un patrón válido, como config.publish.stage.
  6. Ejecute la canalización de Cloud Manager asociada con el módulo ui.config para implementar los cambios de configuración.
  7. Compruebe los valores de configuración en la vista clásica de Developer Console, ya que la interfaz de usuario más reciente puede mostrar datos antiguos.
  8. Abra la vista de configuración de Todos los autores o Todos los editores y confirme que los valores aparecen agrupados por pod.
  9. Vuelva a implementar la canalización si solo un pod muestra valores actualizados, porque se puede producir una deriva temporal en el nivel del pod.
  10. Elimine cualquier carpeta config.preview.* para que la vista previa herede los valores de la publicación.
  11. Utilice variables de entorno con el servicio establecido para obtener una vista previa si se requiere una diferenciación específica de la vista previa.
  12. Elimine el archivo .cfg.json de Git y vuelva a implementar la canalización para eliminar una configuración y restablecerla a la configuración predeterminada.
  13. Agregue mode="replace" en filter.xml si la configuración persiste después de la eliminación.
  14. Asegúrese de que los archivos de configuración solo incluyan las propiedades necesarias para que los valores no especificados vuelvan a los valores predeterminados.
  15. Compruebe que todos los valores de configuración efectivos aparecen correctamente en todos los pods de la vista de Developer Console Classic.

Cuándo escalar:

  • Los valores de configuración no aparecen después de validar la estructura de carpetas y volver a implementar la canalización.
  • La resolución del modo de ejecución no aplica los valores de configuración esperados a pesar de tener un nombre de carpeta correcto.
  • Solo algunos pods reflejan los valores de configuración actualizados después de varias implementaciones.
  • La vista previa no hereda los valores de Publish después de quitar las carpetas de configuración específicas de la vista previa.
  • La eliminación de la configuración no surte efecto después de eliminar archivos y volver a implementar.
  • El instalador de Sling no procesa los recursos de configuración como se esperaba.

Lectura relacionada

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