Falha na implantação do Cloud Manager devido a permissões de importador de distribuição de sling | AEM Cloud Service

Problema

Durante a implantação do Cloud Manager em ambientes do AEM as a Cloud Service, a etapa de implantação falha e são observados erros como os abaixo.

[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

Causa

O usuário sling-distribution-import precisa de permissões adicionais para os caminhos de conteúdo definidos no pacote ui.content.  Geralmente significa que precisamos adicionar permissões para /conf e /var.

Solução

A solução para isso é adicionar um script de configuração OSGi do RepositoryInitializer ao pacote de implantação dos aplicativos para adicionar ACLs para o usuário do importador de distribuição de sling.
No exemplo de erro acima, o pacote myapp-base.ui.content-*.zip inclui conteúdo em /conf e /var/workflow.  Para que a implantação não falhe, precisaríamos adicionar permissões para sling-distribution-import nesses caminhos. 

Este é um exemplo [1] de uma dessas configurações OSGi que adiciona permissões adicionais para o usuário sling-distribution-importer.  Essa configuração adiciona permissões em /var.  Esse arquivo xml abaixo [1] precisa ser adicionado ao pacote do aplicativo em /apps/myapp/config (onde o myapp é a pasta onde o código do aplicativo está armazenado).

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

Logotipo da Adobe

Fazer logon em sua conta