nextcloud / nextcloud/helm

Unable to configure Redis Sentinel or Redis Cluster with official Helm, standalone Redis works fine

Open
#543 13 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Describe your Issue

Using the official Helm chart I am able to configure Redis in standalone mode with the following values:

values.yaml
values:
    image:
      repository: nextcloud
      pullPolicy: IfNotPresent
    replicaCount: 1

    ingress:
      enabled: false

    phpClientHttpsFix:
      enabled: false
      protocol: https

    nextcloud:
      host: nextcloud.domain.com
      existingSecret:
        enabled: true
        secretName: nextcloud-secret
        usernameKey: adminusername
        passwordKey: adminpassword
        smtpUsernameKey: smtp_username
        smtpPasswordKey: smtp_password
        smtpHostKey: smtp_host
      update: 0
      containerPort: 80
      datadir: /var/www/html/data
      persistence:
        subPath:
      mail:
        enabled: true
        fromAddress: nextcloud
        domain: gmail.com
        smtp:
          host: smtp.gmail.com
          secure: ssl
          port: 465
          authtype: LOGIN
      defaultConfigs:
        .htaccess: true
        redis.config.php: false
        apache-pretty-urls.config.php: true
        apcu.config.php: true
        apps.config.php: true
        autoconfig.php: true
        smtp.config.php: true

      configs:

        custom.config.php: |-
          <?php
          $CONFIG = array (
            'overwritehost' => 'nextcloud.domain.com',
            'overwriteprotocol' => 'https',
            'overwrite.cli.url' => 'https://nextcloud.domain.com',
            'filelocking.enabled' => 'true',
            'loglevel' => '0',
            'enable_previews' => true,
            'trusted_domains' =>
              [
                'nextcloud',
                'nextcloud.domain.com'
              ],
            'trusted_proxies' => ['10.0.0.0/8'],
            'default_phone_region' => 'nz',
          );

        redis.config.php: |-
          <?php
          $CONFIG = array (
            'memcache.distributed' => '\OC\Memcache\Redis',
            'memcache.locking' => '\OC\Memcache\Redis',
            'redis' => array(
              'host' => 'redis-master',
              'port' => 6379,
              'password' => getenv('REDIS_HOST_PASSWORD'),
            )
          );

      extraEnv:
      - name: REDIS_HOST_PASSWORD
        valueFrom:
          secretKeyRef:
            name: redis
            key: redis-password

      extraVolumes:
       - name: shared
         nfs:
          server: storage
          path: /mnt/Volume01/Shared
      extraVolumeMounts:
       - name: shared
         mountPath: "/shared"

    nginx:
      enabled: false
    
    internalDatabase:
      enabled: false

    externalDatabase:
      enabled: true

      type: postgresql

      host: postgres-service:5432

      database: postgres

      existingSecret:
        enabled: true
        secretName: nextcloud-secret
        usernameKey: db-username
        passwordKey: db-password

    mariadb:
      enabled: false

    postgresql:
      enabled: false

    redis:
      enabled: false

    cronjob:
      enabled: true
      resources:
        limits:
          memory: 100Mi
        requests:
         cpu: 50m
         memory: 100Mi

    service:
      type: ClusterIP
      port: 80

    persistence:
      enabled: true
      storageClass: "rook-cephfs"
      accessMode: ReadWriteMany
      size: 8Gi
      nextcloudData:
        enabled: true
        subPath:
        annotations: {}
        storageClass: "managed-nfs-storage"
        accessMode: ReadWriteMany
        size: 10Gi

    resources: 
      limits:
        memory: 500Mi
      requests:
       cpu: 500m
       memory: 500Mi

    livenessProbe:
      enabled: true
      initialDelaySeconds: 10
      periodSeconds: 20
      timeoutSeconds: 5
      failureThreshold: 3
      successThreshold: 1
    readinessProbe:
      enabled: true
      initialDelaySeconds: 10
      periodSeconds: 10
      timeoutSeconds: 5
      failureThreshold: 3
      successThreshold: 1
    startupProbe:
      enabled: true
      initialDelaySeconds: 30
      periodSeconds: 10
      timeoutSeconds: 5
      failureThreshold: 600
      successThreshold: 1

    hpa:
      enabled: false
      cputhreshold: 60
      minPods: 1
      maxPods: 10

    affinity: 
      nodeAffinity:
          preferredDuringSchedulingIgnoredDuringExecution:
          - weight: 50
            preference:
              matchExpressions:
              - key: kubernetes.io/arch
                operator: In
                values:
                - amd64
      podAntiAffinity:                                 
        requiredDuringSchedulingIgnoredDuringExecution:
        - topologyKey: kubernetes.io/hostname     
          labelSelector:                               
            matchLabels:                               
              app.kubernetes.io/name: nextcloud

    metrics:
      enabled: false

When when I setup Redis with sentinel using the Bitnami Redis helm chart and the following values in the redis.config.php section:

        redis.config.php: |-
          <?php
          $CONFIG = array (
            'memcache.distributed' => '\OC\Memcache\Redis',
            'memcache.locking' => '\OC\Memcache\Redis',
            'redis' => array(
              'host' => 'redis',
              'port' => 26379,
              'password' => getenv('REDIS_HOST_PASSWORD'),
            )
          );

(only host and port changes)

I get the following errors in the logs and I am usually unable to see any files in the webUI, or unable to login:

click me for logs
{
    "reqId": "u8DnzkBqQMKciPMlK8MJ",
    "level": 0,
    "time": "2023-12-26T07:51:16+00:00",
    "remoteAddr": "192.168.50.191",
    "user": "username",
    "app": "webdav",
    "method": "GET",
    "url": "/remote.php/dav/files/username/Shared%20Pictures/Unedited/DSC_5844.JPG",
    "message": "\"Shared Pictures/Unedited/DSC_5844.JPG\" is locked, existing lock on file: none",
    "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0",
    "version": "28.0.1.1",
    "exception": {
        "Exception": "OCA\\DAV\\Connector\\Sabre\\Exception\\FileLocked",
        "Message": "\"Shared Pictures/Unedited/DSC_5844.JPG\" is locked, existing lock on file: none",
        "Code": 0,
        "Trace": [
            {
                "file": "/var/www/html/apps/dav/lib/Connector/Sabre/File.php",
                "line": 501,
                "function": "convertToSabreException",
                "class": "OCA\\DAV\\Connector\\Sabre\\File",
                "type": "->",
                "args": [
                    [
                        "OCP\\Lock\\LockedException"
                    ]
                ]
            },
            {
                "file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php",
                "line": 85,
                "function": "get",
                "class": "OCA\\DAV\\Connector\\Sabre\\File",
                "type": "->",
                "args": []
            },
            {
                "file": "/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php",
                "line": 89,
                "function": "httpGet",
                "class": "Sabre\\DAV\\CorePlugin",
                "type": "->",
                "args": [
                    [
                        "Sabre\\HTTP\\Request"
                    ],
                    [
                        "Sabre\\HTTP\\Response"
                    ]
                ]
            },
            {
                "file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
                "line": 472,
                "function": "emit",
                "class": "Sabre\\DAV\\Server",
                "type": "->",
                "args": [
                    "method:GET",
                    [
                        [
                            "Sabre\\HTTP\\Request"
                        ],
                        [
                            "Sabre\\HTTP\\Response"
                        ]
                    ]
                ]
            },
            {
                "file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
                "line": 253,
                "function": "invokeMethod",
                "class": "Sabre\\DAV\\Server",
                "type": "->",
                "args": [
                    [
                        "Sabre\\HTTP\\Request"
                    ],
                    [
                        "Sabre\\HTTP\\Response"
                    ]
                ]
            },
            {
                "file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
                "line": 321,
                "function": "start",
                "class": "Sabre\\DAV\\Server",
                "type": "->",
                "args": []
            },
            {
                "file": "/var/www/html/apps/dav/lib/Server.php",
                "line": 370,
                "function": "exec",
                "class": "Sabre\\DAV\\Server",
                "type": "->",
                "args": []
            },
            {
                "file": "/var/www/html/apps/dav/appinfo/v2/remote.php",
                "line": 35,
                "function": "exec",
                "class": "OCA\\DAV\\Server",
                "type": "->",
                "args": []
            },
            {
                "file": "/var/www/html/remote.php",
                "line": 172,
                "args": [
                    "/var/www/html/apps/dav/appinfo/v2/remote.php"
                ],
                "function": "require_once"
            }
        ],
        "File": "/var/www/html/apps/dav/lib/Connector/Sabre/File.php",
        "Line": 752,
        "Previous": {
            "Exception": "OCP\\Lock\\LockedException",
            "Message": "\"Shared Pictures/Unedited/DSC_5844.JPG\" is locked, existing lock on file: none",
            "Code": 0,
            "Trace": [
                {
                    "file": "/var/www/html/lib/private/Files/View.php",
                    "line": 2048,
                    "function": "lockPath",
                    "class": "OC\\Files\\View",
                    "type": "->",
                    "args": [
                        "/Shared Pictures/Unedited/DSC_5844.JPG",
                        1,
                        false
                    ]
                },
                {
                    "file": "/var/www/html/lib/private/Files/View.php",
                    "line": 1141,
                    "function": "lockFile",
                    "class": "OC\\Files\\View",
                    "type": "->",
                    "args": [
                        "/Shared Pictures/Unedited/DSC_5844.JPG",
                        1
                    ]
                },
                {
                    "file": "/var/www/html/lib/private/Files/View.php",
                    "line": 987,
                    "function": "basicOperation",
                    "class": "OC\\Files\\View",
                    "type": "->",
                    "args": [
                        "fopen",
                        "/Shared Pictures/Unedited/DSC_5844.JPG",
                        [
                            "read"
                        ],
                        "r"
                    ]
                },
                {
                    "file": "/var/www/html/apps/dav/lib/Connector/Sabre/File.php",
                    "line": 499,
                    "function": "fopen",
                    "class": "OC\\Files\\View",
                    "type": "->",
                    "args": [
                        "Shared Pictures/Unedited/DSC_5844.JPG",
                        "r"
                    ]
                },
                {
                    "file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php",
                    "line": 85,
                    "function": "get",
                    "class": "OCA\\DAV\\Connector\\Sabre\\File",
                    "type": "->",
                    "args": []
                },
                {
                    "file": "/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php",
                    "line": 89,
                    "function": "httpGet",
                    "class": "Sabre\\DAV\\CorePlugin",
                    "type": "->",
                    "args": [
                        [
                            "Sabre\\HTTP\\Request"
                        ],
                        [
                            "Sabre\\HTTP\\Response"
                        ]
                    ]
                },
                {
                    "file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
                    "line": 472,
                    "function": "emit",
                    "class": "Sabre\\DAV\\Server",
                    "type": "->",
                    "args": [
                        "method:GET",
                        [
                            [
                                "Sabre\\HTTP\\Request"
                            ],
                            [
                                "Sabre\\HTTP\\Response"
                            ]
                        ]
                    ]
                },
                {
                    "file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
                    "line": 253,
                    "function": "invokeMethod",
                    "class": "Sabre\\DAV\\Server",
                    "type": "->",
                    "args": [
                        [
                            "Sabre\\HTTP\\Request"
                        ],
                        [
                            "Sabre\\HTTP\\Response"
                        ]
                    ]
                },
                {
                    "file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
                    "line": 321,
                    "function": "start",
                    "class": "Sabre\\DAV\\Server",
                    "type": "->",
                    "args": []
                },
                {
                    "file": "/var/www/html/apps/dav/lib/Server.php",
                    "line": 370,
                    "function": "exec",
                    "class": "Sabre\\DAV\\Server",
                    "type": "->",
                    "args": []
                },
                {
                    "file": "/var/www/html/apps/dav/appinfo/v2/remote.php",
                    "line": 35,
                    "function": "exec",
                    "class": "OCA\\DAV\\Server",
                    "type": "->",
                    "args": []
                },
                {
                    "file": "/var/www/html/remote.php",
                    "line": 172,
                    "args": [
                        "/var/www/html/apps/dav/appinfo/v2/remote.php"
                    ],
                    "function": "require_once"
                }
            ],
            "File": "/var/www/html/lib/private/Files/View.php",
            "Line": 1943,
            "Previous": {
                "Exception": "OCP\\Lock\\LockedException",
                "Message": "\"files/39b1b1dd24f88308dadb938d2a7907e9\"(\"Unedited/DSC_5844.JPG\") is locked, existing lock on file: none",
                "Code": 0,
                "Trace": [
                    {
                        "file": "/var/www/html/lib/private/Files/Storage/Wrapper/Wrapper.php",
                        "line": 607,
                        "function": "acquireLock",
                        "class": "OC\\Files\\Storage\\Common",
                        "type": "->",
                        "args": [
                            "Unedited/DSC_5844.JPG",
                            1,
                            [
                                "OC\\Lock\\MemcacheLockingProvider"
                            ]
                        ]
                    },
                    {
                        "file": "/var/www/html/lib/private/Files/Storage/Wrapper/Wrapper.php",
                        "line": 607,
                        "function": "acquireLock",
                        "class": "OC\\Files\\Storage\\Wrapper\\Wrapper",
                        "type": "->",
                        "args": [
                            "Unedited/DSC_5844.JPG",
                            1,
                            [
                                "OC\\Lock\\MemcacheLockingProvider"
                            ]
                        ]
                    },
                    {
                        "file": "/var/www/html/lib/private/Files/View.php",
                        "line": 1935,
                        "function": "acquireLock",
                        "class": "OC\\Files\\Storage\\Wrapper\\Wrapper",
                        "type": "->",
                        "args": [
                            "Unedited/DSC_5844.JPG",
                            1,
                            [
                                "OC\\Lock\\MemcacheLockingProvider"
                            ]
                        ]
                    },
                    {
                        "file": "/var/www/html/lib/private/Files/View.php",
                        "line": 2048,
                        "function": "lockPath",
                        "class": "OC\\Files\\View",
                        "type": "->",
                        "args": [
                            "/Shared Pictures/Unedited/DSC_5844.JPG",
                            1,
                            false
                        ]
                    },
                    {
                        "file": "/var/www/html/lib/private/Files/View.php",
                        "line": 1141,
                        "function": "lockFile",
                        "class": "OC\\Files\\View",
                        "type": "->",
                        "args": [
                            "/Shared Pictures/Unedited/DSC_5844.JPG",
                            1
                        ]
                    },
                    {
                        "file": "/var/www/html/lib/private/Files/View.php",
                        "line": 987,
                        "function": "basicOperation",
                        "class": "OC\\Files\\View",
                        "type": "->",
                        "args": [
                            "fopen",
                            "/Shared Pictures/Unedited/DSC_5844.JPG",
                            [
                                "read"
                            ],
                            "r"
                        ]
                    },
                    {
                        "file": "/var/www/html/apps/dav/lib/Connector/Sabre/File.php",
                        "line": 499,
                        "function": "fopen",
                        "class": "OC\\Files\\View",
                        "type": "->",
                        "args": [
                            "Shared Pictures/Unedited/DSC_5844.JPG",
                            "r"
                        ]
                    },
                    {
                        "file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php",
                        "line": 85,
                        "function": "get",
                        "class": "OCA\\DAV\\Connector\\Sabre\\File",
                        "type": "->",
                        "args": []
                    },
                    {
                        "file": "/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php",
                        "line": 89,
                        "function": "httpGet",
                        "class": "Sabre\\DAV\\CorePlugin",
                        "type": "->",
                        "args": [
                            [
                                "Sabre\\HTTP\\Request"
                            ],
                            [
                                "Sabre\\HTTP\\Response"
                            ]
                        ]
                    },
                    {
                        "file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
                        "line": 472,
                        "function": "emit",
                        "class": "Sabre\\DAV\\Server",
                        "type": "->",
                        "args": [
                            "method:GET",
                            [
                                [
                                    "Sabre\\HTTP\\Request"
                                ],
                                [
                                    "Sabre\\HTTP\\Response"
                                ]
                            ]
                        ]
                    },
                    {
                        "file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
                        "line": 253,
                        "function": "invokeMethod",
                        "class": "Sabre\\DAV\\Server",
                        "type": "->",
                        "args": [
                            [
                                "Sabre\\HTTP\\Request"
                            ],
                            [
                                "Sabre\\HTTP\\Response"
                            ]
                        ]
                    },
                    {
                        "file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
                        "line": 321,
                        "function": "start",
                        "class": "Sabre\\DAV\\Server",
                        "type": "->",
                        "args": []
                    },
                    {
                        "file": "/var/www/html/apps/dav/lib/Server.php",
                        "line": 370,
                        "function": "exec",
                        "class": "Sabre\\DAV\\Server",
                        "type": "->",
                        "args": []
                    },
                    {
                        "file": "/var/www/html/apps/dav/appinfo/v2/remote.php",
                        "line": 35,
                        "function": "exec",
                        "class": "OCA\\DAV\\Server",
                        "type": "->",
                        "args": []
                    },
                    {
                        "file": "/var/www/html/remote.php",
                        "line": 172,
                        "args": [
                            "/var/www/html/apps/dav/appinfo/v2/remote.php"
                        ],
                        "function": "require_once"
                    }
                ],
                "File": "/var/www/html/lib/private/Files/Storage/Common.php",
                "Line": 767,
                "Previous": {
                    "Exception": "OCP\\Lock\\LockedException",
                    "Message": "\"files/39b1b1dd24f88308dadb938d2a7907e9\"(\"local::/shared/Pictures/::Unedited/DSC_5844.JPG\") is locked, existing lock on file: none",
                    "Code": 0,
                    "Trace": [
                        {
                            "file": "/var/www/html/lib/private/Files/Storage/Common.php",
                            "line": 765,
                            "function": "acquireLock",
                            "class": "OC\\Lock\\MemcacheLockingProvider",
                            "type": "->",
                            "args": [
                                "files/39b1b1dd24f88308dadb938d2a7907e9",
                                1,
                                "local::/shared/Pictures/::Unedited/DSC_5844.JPG"
                            ]
                        },
                        {
                            "file": "/var/www/html/lib/private/Files/Storage/Wrapper/Wrapper.php",
                            "line": 607,
                            "function": "acquireLock",
                            "class": "OC\\Files\\Storage\\Common",
                            "type": "->",
                            "args": [
                                "Unedited/DSC_5844.JPG",
                                1,
                                [
                                    "OC\\Lock\\MemcacheLockingProvider"
                                ]
                            ]
                        },
                        {
                            "file": "/var/www/html/lib/private/Files/Storage/Wrapper/Wrapper.php",
                            "line": 607,
                            "function": "acquireLock",
                            "class": "OC\\Files\\Storage\\Wrapper\\Wrapper",
                            "type": "->",
                            "args": [
                                "Unedited/DSC_5844.JPG",
                                1,
                                [
                                    "OC\\Lock\\MemcacheLockingProvider"
                                ]
                            ]
                        },
                        {
                            "file": "/var/www/html/lib/private/Files/View.php",
                            "line": 1935,
                            "function": "acquireLock",
                            "class": "OC\\Files\\Storage\\Wrapper\\Wrapper",
                            "type": "->",
                            "args": [
                                "Unedited/DSC_5844.JPG",
                                1,
                                [
                                    "OC\\Lock\\MemcacheLockingProvider"
                                ]
                            ]
                        },
                        {
                            "file": "/var/www/html/lib/private/Files/View.php",
                            "line": 2048,
                            "function": "lockPath",
                            "class": "OC\\Files\\View",
                            "type": "->",
                            "args": [
                                "/Shared Pictures/Unedited/DSC_5844.JPG",
                                1,
                                false
                            ]
                        },
                        {
                            "file": "/var/www/html/lib/private/Files/View.php",
                            "line": 1141,
                            "function": "lockFile",
                            "class": "OC\\Files\\View",
                            "type": "->",
                            "args": [
                                "/Shared Pictures/Unedited/DSC_5844.JPG",
                                1
                            ]
                        },
                        {
                            "file": "/var/www/html/lib/private/Files/View.php",
                            "line": 987,
                            "function": "basicOperation",
                            "class": "OC\\Files\\View",
                            "type": "->",
                            "args": [
                                "fopen",
                                "/Shared Pictures/Unedited/DSC_5844.JPG",
                                [
                                    "read"
                                ],
                                "r"
                            ]
                        },
                        {
                            "file": "/var/www/html/apps/dav/lib/Connector/Sabre/File.php",
                            "line": 499,
                            "function": "fopen",
                            "class": "OC\\Files\\View",
                            "type": "->",
                            "args": [
                                "Shared Pictures/Unedited/DSC_5844.JPG",
                                "r"
                            ]
                        },
                        {
                            "file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php",
                            "line": 85,
                            "function": "get",
                            "class": "OCA\\DAV\\Connector\\Sabre\\File",
                            "type": "->",
                            "args": []
                        },
                        {
                            "file": "/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php",
                            "line": 89,
                            "function": "httpGet",
                            "class": "Sabre\\DAV\\CorePlugin",
                            "type": "->",
                            "args": [
                                [
                                    "Sabre\\HTTP\\Request"
                                ],
                                [
                                    "Sabre\\HTTP\\Response"
                                ]
                            ]
                        },
                        {
                            "file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
                            "line": 472,
                            "function": "emit",
                            "class": "Sabre\\DAV\\Server",
                            "type": "->",
                            "args": [
                                "method:GET",
                                [
                                    [
                                        "Sabre\\HTTP\\Request"
                                    ],
                                    [
                                        "Sabre\\HTTP\\Response"
                                    ]
                                ]
                            ]
                        },
                        {
                            "file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
                            "line": 253,
                            "function": "invokeMethod",
                            "class": "Sabre\\DAV\\Server",
                            "type": "->",
                            "args": [
                                [
                                    "Sabre\\HTTP\\Request"
                                ],
                                [
                                    "Sabre\\HTTP\\Response"
                                ]
                            ]
                        },
                        {
                            "file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
                            "line": 321,
                            "function": "start",
                            "class": "Sabre\\DAV\\Server",
                            "type": "->",
                            "args": []
                        },
                        {
                            "file": "/var/www/html/apps/dav/lib/Server.php",
                            "line": 370,
                            "function": "exec",
                            "class": "Sabre\\DAV\\Server",
                            "type": "->",
                            "args": []
                        },
                        {
                            "file": "/var/www/html/apps/dav/appinfo/v2/remote.php",
                            "line": 35,
                            "function": "exec",
                            "class": "OCA\\DAV\\Server",
                            "type": "->",
                            "args": []
                        },
                        {
                            "file": "/var/www/html/remote.php",
                            "line": 172,
                            "args": [
                                "/var/www/html/apps/dav/appinfo/v2/remote.php"
                            ],
                            "function": "require_once"
                        }
                    ],
                    "File": "/var/www/html/lib/private/Lock/MemcacheLockingProvider.php",
                    "Line": 62
                }
            }
        },
        "message": "\"Shared Pictures/Unedited/DSC_5844.JPG\" is locked, existing lock on file: none",
        "exception": {},
        "CustomMessage": "\"Shared Pictures/Unedited/DSC_5844.JPG\" is locked, existing lock on file: none"
    }
}

And when I spin up bitnami's redis cluster chart and change the redis.config.php to the following:

        redis.config.php: |-
          <?php
          $CONFIG = array (
            'memcache.distributed' => '\OC\Memcache\Redis',
            'memcache.locking' => '\OC\Memcache\Redis',
            'redis.cluster' => array(
              'seeds' => array(
                'redis-cluster-headless:6379'
              ),
              'password' => getenv('REDIS_HOST_PASSWORD'),
            ),
          );

(I have aslo tried redis-cluster:6379 for the seed, I get the same result)

I get the following errors in the logs and an internal system error on loading the webui:

click me for more logs
{
    "reqId": "XN0dcqwWLpLXe7Dt2RId",
    "level": 3,
    "time": "2023-12-26T07:58:56+00:00",
    "remoteAddr": "192.168.50.191",
    "user": "--",
    "app": "core",
    "method": "GET",
    "url": "/favicon.ico",
    "message": "Exception thrown: RedisClusterException",
    "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0",
    "version": "28.0.1.1",
    "exception": {
        "Exception": "RedisClusterException",
        "Message": "Couldn't map cluster keyspace using any provided seed",
        "Code": 0,
        "Trace": [
            {
                "file": "/var/www/html/lib/private/RedisFactory.php",
                "line": 88,
                "function": "__construct",
                "class": "RedisCluster",
                "type": "->",
                "args": [
                    "*** sensitive parameters replaced ***"
                ]
            },
            {
                "file": "/var/www/html/lib/private/RedisFactory.php",
                "line": 158,
                "function": "create",
                "class": "OC\\RedisFactory",
                "type": "->",
                "args": [
                    "*** sensitive parameters replaced ***"
                ]
            },
            {
                "file": "/var/www/html/lib/private/Memcache/Redis.php",
                "line": 66,
                "function": "getInstance",
                "class": "OC\\RedisFactory",
                "type": "->",
                "args": []
            },
            {
                "file": "/var/www/html/lib/private/Memcache/Redis.php",
                "line": 72,
                "function": "getCache",
                "class": "OC\\Memcache\\Redis",
                "type": "->",
                "args": []
            },
            {
                "file": "/var/www/html/lib/private/URLGenerator.php",
                "line": 203,
                "function": "get",
                "class": "OC\\Memcache\\Redis",
                "type": "->",
                "args": [
                    "core-favicon.ico"
                ]
            },
            {
                "file": "/var/www/html/lib/private/legacy/template/functions.php",
                "line": 249,
                "function": "imagePath",
                "class": "OC\\URLGenerator",
                "type": "->",
                "args": [
                    "core",
                    "favicon.ico"
                ]
            },
            {
                "file": "/var/www/html/core/templates/layout.guest.php",
                "line": 20,
                "function": "image_path",
                "args": [
                    "core",
                    "favicon.ico"
                ]
            },
            {
                "file": "/var/www/html/lib/private/Template/Base.php",
                "line": 180,
                "args": [
                    "/var/www/html/core/templates/layout.guest.php"
                ],
                "function": "include"
            },
            {
                "file": "/var/www/html/lib/private/Template/Base.php",
                "line": 150,
                "function": "load",
                "class": "OC\\Template\\Base",
                "type": "->",
                "args": [
                    "/var/www/html/core/templates/layout.guest.php",
                    "*** sensitive parameters replaced ***"
                ]
            },
            {
                "file": "/var/www/html/lib/private/legacy/OC_Template.php",
                "line": 139,
                "function": "fetchPage",
                "class": "OC\\Template\\Base",
                "type": "->",
                "args": [
                    "*** sensitive parameters replaced ***"
                ]
            },
            {
                "file": "/var/www/html/lib/private/legacy/OC_Template.php",
                "line": 170,
                "function": "fetchPage",
                "class": "OC_Template",
                "type": "->",
                "args": [
                    "*** sensitive parameters replaced ***"
                ]
            },
            {
                "file": "/var/www/html/lib/private/Template/Base.php",
                "line": 132,
                "function": "fetchPage",
                "class": "OC_Template",
                "type": "->",
                "args": []
            },
            {
                "file": "/var/www/html/lib/private/legacy/OC_Template.php",
                "line": 291,
                "function": "printPage",
                "class": "OC\\Template\\Base",
                "type": "->",
                "args": []
            },
            {
                "file": "/var/www/html/index.php",
                "line": 104,
                "function": "printExceptionErrorPage",
                "class": "OC_Template",
                "type": "::",
                "args": [
                    [
                        "RedisClusterException"
                    ],
                    500
                ]
            }
        ],
        "File": "/var/www/html/lib/private/RedisFactory.php",
        "Line": 88,
        "CustomMessage": "Exception thrown: RedisClusterException"
    }
}

Indicating it can't see any of the redis nodes at all.

Logs and Errors

As above

Describe your Environment

  • K3s on Ubuntu

  • Helm Version (or App that manages helm): k3s and fluxio

  • Helm Chart Version: 4.latest

  • values.yaml:

Included above

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 with the values.yaml configuration and the redis.config.php section, then compare the standalone setup with the Bitnami Redis Sentinel configuration and the reported Nextcloud logs. Reproduce the issue with the official Helm chart and verify that Sentinel or Cluster mode allows login and file access without the reported locking errors.

Written by the indexing model from the issue text.

Assessment

Tech stack
helm, kubernetes, php, redis
Domain
databases, devops, 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.