Échec du déploiement de Cloud Manager en raison des autorisations de l’importateur de distribution Sling | Cloud Service AEM

Problème

Lors d’un déploiement de Cloud Manager sur des environnements AEM en tant que Cloud Service, l’étape de déploiement échoue et des erreurs semblables à celles ci-dessous sont observées.

[Queue Processor for Subscriber agent forwardPublisherSubscriber] org.apache.jackrabbit.vault.fs.io.Importer Error while committing changes. Retrying import from checkpoint at /. Retries 4/10 
 
 
[Queue Processor for Subscriber agent forwardPublisherSubscriber] org.apache.sling.distribution.journal.impl.subscriber.DistributionSubscriber Error processing queue item 
org.apache.sling.distribution.common.DistributionException: Error processing distribution package dstrpck-1583514457813-c81e7751-2da6-4d00-9814-434187f08d32. Retry attempts 162/infinite. 
... 
Caused by: org.apache.sling.api.resource.PersistenceException: Unable to commit changes to session. 
... 
Caused by: javax.jcr.AccessDeniedException: OakAccess0000: Access denied 
 
 
[EventAdminAsyncThread #7] org.apache.sling.distribution.journal.impl.publisher.DistributionPublisher [null] Error processing distribution package dstrpck-1583514457813-c81e7751-2da6-4d00-9814-434187f08d32. Retry attempts 344/infinite. Message: Error trying to extract package at path /etc/packages/com.myapp/myapp-base.ui.content-5.1.0-SNAPSHOT.zip

Cause

L’utilisateur de l’importateur de distribution Sling a besoin d’autorisations supplémentaires pour les chemins de contenu définis dans le package ui.content.  Cela signifie généralement que nous devons ajouter des autorisations pour /conf et /var.

Solution

La solution consiste à ajouter un script de configuration OSGi RepositoryInitializer à votre package de déploiement d’applications afin d’ajouter des listes de contrôle d’accès pour l’utilisateur de l’importateur de distribution Sling.
Dans l’exemple d’erreur ci-dessus, le package myapp-base.ui.content-*.zip inclut du contenu sous /conf et /var/workflow.  Pour que le déploiement n’échoue pas, nous devons ajouter des autorisations pour l’importateur de distribution Sling sous ces chemins. 

Voici un exemple [1] d’une configuration OSGi de ce type qui ajoute des autorisations supplémentaires pour l’utilisateur de l’importateur de distribution Sling.  Cette configuration ajoute des autorisations sous /var.  Ce fichier xml ci-dessous [1] doit être ajouté au package de l’application sous /apps/myapp/config (où myapp est le dossier dans lequel le code de l’application est stocké).

[1] org.apache.sling.jcr.repoinit.RepositoryInitializer-DistributionService.config

 Adobe

Recevez de l’aide plus rapidement et plus facilement

Nouvel utilisateur ?