Problèmes de chargement et d’héritage de la configuration OSGi dans les environnements cloud AEM

Adobe Experience Manager as a Cloud Service (AEMaaCS) rencontre des problèmes de configuration OSGi lorsque les valeurs semblent manquantes, dupliquées ou incohérentes entre les environnements. Cela se produit en raison d’une résolution stricte basée sur le mode d’exécution, d’un déploiement piloté par Git et d’un chargement de la configuration au niveau du pod. Pour résoudre ce problème, corrigez la structure de dossiers OSGi, validez la dénomination du mode d’exécution et redéployez les configurations afin d’assurer un comportement cohérent entre les capsules.

Description description

Environnement

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

Problème/Symptômes

  • Les valeurs de configuration OSGi n’apparaissent pas dans la console vDeveloper après le déploiement.
  • Plusieurs instances du même PID s’affichent, par exemple com.day.cq.mailer.DefaultMailService, une par capsule.
  • Les configurations se chargent uniquement en mode de création ou uniquement en mode de publication selon le mode d’exécution.
  • Les valeurs de prévisualisation ne correspondent pas aux valeurs de publication, même si elles héritent par défaut.
  • La nouvelle interface utilisateur de Developer Console affiche des valeurs obsolètes, tandis que la vue classique affiche des valeurs correctes.

Cause première

AEMaaCS résout les configurations OSGi à partir de Git en utilisant un nom de dossier basé sur le mode d’exécution strict sous le chemin de référentiel requis. Les dossiers mal placés, les noms de mode d’exécution incorrects ou l’imbrication profonde empêchent la détection de la configuration. Les configurations se chargent par capsule via le programme d’installation de Sling JCR et la prévisualisation hérite des valeurs de publication. La nouvelle interface utilisateur de Developer Console peut afficher des valeurs obsolètes en raison d’une limitation connue.

Résolution resolution

Pour garantir le déploiement et le comportement corrects de la configuration OSGi, procédez comme suit :

  1. Accédez au référentiel Git et vérifiez que les configurations OSGi sont stockées sous ui.config/src/main/content/jcr_root/apps/<project>/osgiconfig.
  2. Assurez-vous que les dossiers de configuration suivent le modèle de mode d’exécution approprié, tel que config.publish, config.publish.stage ou config.author.dev.
  3. Déplacez tous les dossiers de configuration profondément imbriqués, tels que les apps/project/test1/test2/config.author vers un pps/<project>/osgiconfig/config.<runmode> pour garantir la détection.
  4. Identifiez l’environnement cible et assurez-vous que le mode d’exécution le plus spécifique s’applique, par exemple config.publish.stage remplace config.publish.
  5. Corrigez les noms de mode d’exécution incompatibles, par exemple en config.stg.public un modèle valide tel que config.publish.stage.
  6. Exécutez le pipeline Cloud Manager associé au module ui.config pour déployer les modifications de configuration.
  7. Vérifiez les valeurs de configuration dans la vue Developer Console classique, car la nouvelle interface utilisateur peut afficher des données obsolètes.
  8. Ouvrez la vue de configuration pour Tous les auteurs ou Tous les éditeurs et vérifiez que les valeurs apparaissent regroupées par capsule.
  9. Redéployez le pipeline si une seule capsule affiche des valeurs mises à jour, car une dérive temporaire au niveau de la capsule peut se produire.
  10. Supprimez tous les dossiers config.preview.* afin que l’aperçu hérite des valeurs de l’instance de publication.
  11. Utilisez des variables d’environnement avec le jeu de services pour prévisualiser si une différenciation spécifique à la prévisualisation est requise.
  12. Supprimez le fichier .cfg.json de Git et redéployez le pipeline pour supprimer une configuration et la réinitialiser sur la valeur par défaut.
  13. Ajoutez mode="replace" dans filter.xml si la configuration persiste après la suppression.
  14. Assurez-vous que les fichiers de configuration incluent uniquement les propriétés requises, de sorte que les valeurs non spécifiées reviennent aux valeurs par défaut.
  15. Vérifiez que toutes les valeurs de configuration en vigueur s’affichent correctement sur toutes les capsules dans la vue Developer Console Classic.

Moment de la réaffectation :

  • Les valeurs de configuration n’apparaissent pas après la validation de la structure de dossiers et le redéploiement du pipeline.
  • La résolution du mode d’exécution n’applique pas les valeurs de configuration attendues malgré un nom de dossier correct.
  • Seules certaines capsules reflètent les valeurs de configuration mises à jour après plusieurs déploiements.
  • L’aperçu n’hérite pas des valeurs de publication après la suppression des dossiers de configuration spécifiques à l’aperçu.
  • La suppression de la configuration ne prend pas effet après la suppression des fichiers et le redéploiement.
  • Le programme d’installation de Sling ne traite pas les ressources de configuration comme prévu.

Lecture connexe

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