Probleme beim Laden der OSGi-Konfiguration und bei der Vererbung in allen AEM-Cloud-Umgebungen

Adobe Experience Manager as a Cloud Service (AEMaaCS) verursacht OSGi-Konfigurationsprobleme, wenn Werte in allen Umgebungen fehlen, dupliziert oder inkonsistent sind. Dies geschieht aufgrund einer strikten, auf dem Ausführungsmodus basierenden Auflösung, einer Git-gesteuerten Bereitstellung und dem Laden der Konfiguration auf Pod-Ebene. Um das Problem zu beheben, korrigieren Sie die OSGi-Ordnerstruktur, überprüfen Sie die Ausführungsmodus-Benennung und stellen Sie Konfigurationen erneut bereit, um ein konsistentes Verhalten über alle Pods hinweg sicherzustellen.

Beschreibung description

Umgebung

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

Problem/Symptome

  • OSGi-Konfigurationswerte werden nach der Bereitstellung nicht mehr in der vDeveloper Console angezeigt.
  • Es werden mehrere Instanzen derselben PID angezeigt, z. B. com.day.cq.mailer.DefaultMailService, eine pro Pod.
  • Konfigurationen werden je nach Ausführungsmodus nur in der Autoreninstanz oder nur in der Veröffentlichungsinstanz geladen.
  • Die Vorschauwerte stimmen nicht mit den Veröffentlichungswerten überein, obwohl sie standardmäßig erben.
  • Die neue Developer Console-Benutzeroberfläche zeigt veraltete Werte an, während die klassische Ansicht die richtigen Werte anzeigt.

Grundursache

AEMaaCS löst OSGi-Konfigurationen aus Git mithilfe von strikten, auf dem Ausführungsmodus basierenden Ordnernamen unter dem erforderlichen Repository-Pfad auf. Fehlerhafte Ordner, falsche Ausführungsmodus-Namen oder tiefe Verschachtelungen verhindern die Konfigurationserkennung. Konfigurationen werden pro Pod über das Sling JCR-Installationsprogramm geladen und die Vorschau übernimmt Veröffentlichungswerte. Die neue Developer Console-Benutzeroberfläche zeigt möglicherweise veraltete Werte aufgrund einer bekannten Einschränkung an.

Lösung resolution

Führen Sie die folgenden Schritte aus, um das richtige Verhalten und die richtige Bereitstellung der OSGi-Konfiguration sicherzustellen:

  1. Navigieren Sie zum Git-Repository und stellen Sie sicher, dass OSGi-Konfigurationen unter ui.config/src/main/content/jcr_root/apps/<project>/osgiconfig gespeichert werden.
  2. Stellen Sie sicher, dass Konfigurationsordner dem richtigen Ausführungsmodus-Muster entsprechen, z. B. config.publish, config.publish.stage oder config.author.dev.
  3. Verschieben Sie alle tief verschachtelten Konfigurationsordner, z. B. apps/project/test1/test2/config.author in apps/<project>/osgiconfig/config.<runmode>, um die Erkennung sicherzustellen.
  4. Identifizieren Sie die Zielumgebung und stellen Sie sicher, dass der spezifischste Ausführungsmodus angewendet wird, z. B. config.publish.stage überschreibt config.publish.
  5. Korrigieren Sie alle nicht übereinstimmenden Ausführungsmodus-Namen, z. B. config.stg.public einem gültigen Muster wie config.publish.stage.
  6. Führen Sie die mit dem ui.config verknüpfte Cloud Manager-Pipeline aus, um Konfigurationsänderungen bereitzustellen.
  7. Überprüfen Sie die Konfigurationswerte in der klassischen Ansicht von Developer Console, da die neuere Benutzeroberfläche möglicherweise veraltete Daten anzeigt.
  8. Öffnen Sie die Konfigurationsansicht für Alle Autoren oder Alle Herausgeber und vergewissern Sie sich, dass die Werte pro Pod gruppiert angezeigt werden.
  9. Stellen Sie die Pipeline erneut bereit, wenn nur ein Pod aktualisierte Werte anzeigt, da eine temporäre Drift auf Pod-Ebene auftreten kann.
  10. Entfernen Sie alle config.preview.* Ordner, damit die Vorschau die Werte von der Veröffentlichungsinstanz übernimmt.
  11. Verwenden Sie Umgebungsvariablen, wobei der Service für die Vorschau festgelegt ist, wenn eine vorschauspezifische Differenzierung erforderlich ist.
  12. Entfernen Sie die .cfg.json aus Git und stellen Sie die Pipeline erneut bereit, um eine Konfiguration zu löschen und auf die Standardeinstellung zurückzusetzen.
  13. Fügen Sie mode="replace" in filter.xml hinzu, wenn die Konfiguration nach dem Löschen bestehen bleibt.
  14. Stellen Sie sicher, dass Konfigurationsdateien nur erforderliche Eigenschaften enthalten, damit nicht angegebene Werte auf die Standardwerte zurückgesetzt werden.
  15. Überprüfen Sie, ob alle effektiven Konfigurationswerte in allen Pods in der Developer Console Classic-Ansicht korrekt angezeigt werden.

Wann eskaliert werden soll:

  • Konfigurationswerte werden nach der Validierung der Ordnerstruktur und der erneuten Bereitstellung der Pipeline nicht angezeigt.
  • Die Ausführungsmodus-Auflösung wendet die erwarteten Konfigurationswerte trotz korrekter Ordnernamen nicht an.
  • Nur einige Pods spiegeln aktualisierte Konfigurationswerte nach mehreren Bereitstellungen wider.
  • Die Vorschau erbt keine Veröffentlichungswerte, nachdem vorschauspezifische Konfigurationsordner entfernt wurden.
  • Das Löschen von Konfigurationen wird nach dem Entfernen von Dateien und der erneuten Bereitstellung nicht wirksam.
  • Das Sling-Installationsprogramm verarbeitet Konfigurationsressourcen nicht wie erwartet.

Verwandtes Lesen

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