nextcloud / nextcloud/helm

Deployment on AWS EKS - any chown-operation on persistent storage is not permitted

Open
#318 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

help wanted Persistence
Dominant language
Go Template
Stars
534
Forks
314
Avg merge
42m
Merged PRs (30d)
1

Description

I deployed the chart on my aws eks cluster.
When I don't use persistent storage, all is fine.
But when I provide an EFS as persistent storage the nextcloud image is not able to perform any chown-operations.
Talked to AWS Support, but they couldn't help me.

How to reproduce:

helm install nextcloud w/ persistent storage on aws eks cluster.
helm upgrade --install -f value.yaml nextcloud nextcloud/nextcloud

logs of the nextcloud pod are this *1000:

rsync: [receiver] chown "/var/www/html/3rdparty/aws/aws-sdk-php/src/data/cloudfront/2019-03-26/.smoke.json.php.OCBd81" failed: Operation not permitted (1)
rsync: [receiver] chown "/var/www/html/3rdparty/aws/aws-sdk-php/src/data/cloudfront/2019-03-26/.waiters-1.json.php.qjGStZ" failed: Operation not permitted (1)
rsync: [receiver] chown "/var/www/html/3rdparty/aws/aws-sdk-php/src/data/cloudfront/2019-03-26/.waiters-2.json.php.e3lKv1" failed: Operation not permitted (1)
rsync: [generator] chown "/var/www/html/3rdparty/doctrine/cache/lib" failed: Operation not permitted (1)
rsync: [generator] chown "/var/www/html/3rdparty/doctrine/cache/lib/Doctrine" failed: Operation not permitted (1)
rsync: [generator] chown "/var/www/html/3rdparty/doctrine/cache/lib/Doctrine/Common" failed: Operation not permitted (1)
rsync: [receiver] chown "/var/www/html/3rdparty/aws/aws-sdk-php/src/data/cloudfront/2020-05-31/.api-2.json.php.VVyVv1" failed: Operation not permitted (1)
rsync: [receiver] chown "/var/www/html/3rdparty/aws/aws-sdk-php/src/data/cloudfront/2020-05-31/.paginators-1.json.php.DiLrlZ" failed: Operation not permitted (1)
rsync: [receiver] chown "/var/www/html/3rdparty/aws/aws-sdk-php/src/data/cloudfront/2020-05-31/.smoke.json.php.pwuGv2" failed: Operation not permitted (1)
rsync: [receiver] chown "/var/www/html/3rdparty/aws/aws-sdk-php/src/data/cloudfront/2020-05-31/.waiters-1.json.php.oWgzLZ" failed: Operation not permitted (1)
rsync: [receiver] chown "/var/www/html/3rdparty/aws/aws-sdk-php/src/data/cloudfront/2020-05-31/.waiters-2.json.php.oyHzh1" failed: Operation not permitted (1)
rsync: [receiver] chown "/var/www/html/3rdparty/aws/aws-sdk-php/src/data/cloudhsm/2014-05-30/.api-2.json.php.q9gc20" failed: Operation not permitted (1)
rsync: [receiver] chown "/var/www/html/3rdparty/aws/aws-sdk-php/src/data/cloudhsm/2014-05-30/.paginators-1.json.php.NCqlOY" failed: Operation not permitted (1)
rsync: [receiver] chown "/var/www/html/3rdparty/aws/aws-sdk-php/src/data/cloudhsmv2/2017-04-28/.api-2.json.php.mlX0Y1" failed: Operation not permitted (1)
rsync: [receiver] chown "/var/www/html/3rdparty/aws/aws-sdk-php/src/data/cloudhsmv2/2017-04-28/.paginators-1.json.php.HFxAd2" failed: Operation not permitted (1)
rsync: [receiver] chown "/var/www/html/3rdparty/aws/aws-sdk-php/src/data/cloudhsmv2/2017-04-28/.smoke.json.php.7nseHZ" failed: Operation not permitted (1)
rsync: [generator] chown "/var/www/html/3rdparty/doctrine/cache/lib/Doctrine/Common/Cache" failed: Operation not permitted (1)
rsync: [generator] chown "/var/www/html/3rdparty/doctrine/cache/lib/Doctrine/Common/Cache/Psr6" failed: Operation not permitted (1)
What was expected:

Nextcloud should be up and running.
But instead it fails it's liveness probe etc.

###Full configuration and tests
AWS: "Prevent root access by default*" in EFS is NOT enabled. Providing the same claim to a postgres-cluster works fine.

values.yaml:

image:
  repository: nextcloud
  pullPolicy: IfNotPresent

ingress:
  enabled: true
  className: nginx
  annotations:
    nginx.ingress.kubernetes.io/from-to-www-redirect: "true"
  nginx.ingress.kubernetes.io/proxy-body-size: 4G
  kubernetes.io/tls-acme: "true"
  cert-manager.io/cluster-issuer: letsencrypt-production
  tls:
    - secretName: tls-letsencrypt-production
      hosts:
        - www.nextcloud.example.io
  labels: {}
  path: /
  pathType: Prefix

nextcloud:
  host: www.nextcloud.example.io
  password: changeme
  username: someUser

internalDatabase:
  enabled: true
  name: nextcloud

persistence:
  enabled: true
  annotations: {}
  existingClaim: nextcloud-claim
  nextcloudData:
    enabled: true
    existingClaim: nextcloud-data-claim

claims.yaml:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: nextcloud-claim
spec:
  accessModes:
    - ReadWriteMany
  storageClassName: efs-sc
  resources:
    requests:
      storage: 8Gi
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: nextcloud-data-claim
spec:
  accessModes:
    - ReadWriteMany
  storageClassName: efs-sc
  resources:
    requests:
      storage: 8Gi

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the Helm installation on AWS EKS with the provided values.yaml, PVCs, and EFS-backed storage, then inspect the chart's persistence-related configuration and pod logs. Done means the Nextcloud pod starts successfully, its liveness probe passes, and the reported rsync chown failures no longer prevent startup.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, helm, kubernetes
Domain
cloud, infrastructure
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.