Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Openstack swift cached token has expired and is not renewed #14155

Closed
julienfastre opened this issue Feb 12, 2019 · 5 comments
Closed

Openstack swift cached token has expired and is not renewed #14155

julienfastre opened this issue Feb 12, 2019 · 5 comments
Labels
0. Needs triage Pending check for reproducibility or if it fits our roadmap bug feature: filesystem

Comments

@julienfastre
Copy link

julienfastre commented Feb 12, 2019

Steps to reproduce

(The issue was not reproduced on another instance)

  1. Create an instance with openstack swift as primary storage with docker container, using redis as caching
  2. After the storage works, wait for the expiration of the token

Expected behaviour

The server renews the identity token.

Actual behaviour

The identity token is not renewed, and the server show "internal error" page.

Clearing the cache make the instance work again:

docker-compose stop
docker-compose rm -v redis
docker-compose up -d
# the redis instance is re-created with a  clean cache

Server configuration

This is my docker-compose file:

services:
  db:
    image: postgres:11
    volumes:
      - "./pgdata:/var/lib/postgresql/data"
  redis:
    image: redis:latest
  app:
    image: "nextcloud:15-apache"
    volumes:
      - "./custom_apps:/var/www/html/custom_apps"
      - "./config:/var/www/html/config"
      - "./data:/var/www/html/data"
    links:
      - db
      - redis
    ports:
      - "127.0.0.1:8025:80"

Operating system:

Debian 9, using docker image nextcloud:15-apache

Web server:

Apache

Database:

Postgresql

PHP version:

PHP 7.2.14 (cli) (built: Feb  6 2019 05:10:24) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.14, Copyright (c) 1999-2018, by Zend Technologies

Nextcloud version: 15.0.4

Updated from an older Nextcloud/ownCloud or fresh install:

Update from nextcloud 14.0.??

Where did you install Nextcloud from:

Docker image

Signing status:

Signing status
No errors have been found.

List of activated apps:

App list
Enabled:
  - accessibility: 1.1.0
  - activity: 2.8.2
  - calendar: 1.6.4
  - camerarawpreviews: 0.6.3
  - cloud_federation_api: 0.1.0
  - comments: 1.5.0
  - contacts: 3.0.3
  - dav: 1.8.1
  - deck: 0.5.2
  - federatedfilesharing: 1.5.0
  - federation: 1.5.0
  - files: 1.10.0
  - files_external: 1.6.0
  - files_pdfviewer: 1.4.0
  - files_sharing: 1.7.0
  - files_texteditor: 2.7.0
  - files_trashbin: 1.5.0
  - files_versions: 1.8.0
  - files_videoplayer: 1.4.0
  - firstrunwizard: 2.4.0
  - gallery: 18.2.0
  - logreader: 2.0.0
  - lookup_server_connector: 1.3.0
  - nextcloud_announcements: 1.4.0
  - notifications: 2.3.0
  - oauth2: 1.3.0
  - password_policy: 1.5.0
  - previewgenerator: 2.0.0
  - provisioning_api: 1.5.0
  - richdocuments: 3.2.0
  - serverinfo: 1.5.0
  - sharebymail: 1.5.0
  - support: 1.0.0
  - survey_client: 1.3.0
  - systemtags: 1.5.0
  - theming: 1.6.0
  - twofactor_backupcodes: 1.4.1
  - twofactor_totp: 2.1.0
  - updatenotification: 1.5.0
  - workflowengine: 1.5.0
Disabled:
  - admin_audit
  - encryption
  - user_ldap

Nextcloud configuration:

Config report
{
    "system": {
        "objectstore": {
            "class": "OC\\Files\\ObjectStore\\Swift",
            "arguments": {
                "user": {
                    "name": "***REMOVED SENSITIVE VALUE Manually***",
                    "password": "***REMOVED SENSITIVE VALUE Manually***",
                    "domain": {
                        "name": "default"
                    }
                },
                "scope": {
                    "project": {
                        "id": "***REMOVED SENSITIVE VALUE Manually*"
                    }
                },
                "bucket": "***REMOVED SENSITIVE VALUE Manually*",
                "autocreate": true,
                "region": "GRA1",
                "url": "https:\/\/auth.cloud.ovh.net\/v3\/",
                "authUrl": "https:\/\/auth.cloud.ovh.net\/v3",
                "tenantName": "***REMOVED SENSITIVE VALUE Manually*",
                "tenantId": "***REMOVED SENSITIVE VALUE Manually*",
                "serviceName": "swift",
                "urlType": "internal"
            }
        },
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "***REMOVED SENSITIVE VALUE Manually*"
        ],
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "pgsql",
        "version": "15.0.4.0",
        "overwrite.cli.url": "https:\/\/nextcloud.fastre.info",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbport": "",
        "dbtableprefix": "oc_",
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "installed": true,
        "memcache.local": "\\OC\\Memcache\\Redis",
        "redis": {
            "host": "***REMOVED SENSITIVE VALUE***",
            "port": 6379
        },
        "mail_smtpmode": "smtp",
        "mail_smtpsecure": "tls",
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpauthtype": "LOGIN",
        "mail_smtpauth": 1,
        "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpport": "587",
        "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
        "mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
        "maintenance": false,
        "loglevel": 2,
        "apps_paths": [
            {
                "path": "\/var\/www\/html\/apps",
                "url": "\/apps",
                "writable": false
            },
            {
                "path": "\/var\/www\/html\/custom_apps",
                "url": "\/custom_apps",
                "writable": true
            }
        ],
        "theme": "",
        "trusted_proxies": "***REMOVED SENSITIVE VALUE***",
        "overwriteprotocol": "https"
    }
}

Are you using external storage, if yes which one:

Yes: openstack swift

Are you using encryption:

No

Are you using an external user-backend, if yes which one:

No

Client configuration

Note relevant here.

Logs

Web server error log

Simply show an error 500...

Nextcloud log (data/nextcloud.log)

Nextcloud log
{
    "app": "core",
    "level": 3,
    "message": {
        "Code": 0,
        "CustomMessage": "--",
        "Exception": "RuntimeException",
        "File": "/var/www/html/3rdparty/php-opencloud/openstack/src/Identity/v3/Service.php",
        "Line": 39,
        "Message": "Cached token has expired on \"2019-02-11T21:47:52+0000\".",
        "Trace": [
            "// ... omitted for clarity and confidentiality"
                ],
                "class": "OpenStack\\Identity\\v3\\Service",
                "file": "/var/www/html/lib/private/Files/ObjectStore/SwiftFactory.php",
                "function": "authenticate",
                "line": 178,
                "type": "->"
            },
            {
                "args": [
                    {
                        "__class__": "OpenStack\\Identity\\v3\\Service"
                    },
                    "IdOfTheUser@https://auth.cloud.ovh.net/v3//Password"
                ],
                "class": "OC\\Files\\ObjectStore\\SwiftFactory",
                "file": "/var/www/html/lib/private/Files/ObjectStore/SwiftFactory.php",
                "function": "auth",
                "line": 130,
                "type": "->"
            },
            {
                "args": [],
                "class": "OC\\Files\\ObjectStore\\SwiftFactory",
                "file": "/var/www/html/lib/private/Files/ObjectStore/SwiftFactory.php",
                "function": "getClient",
                "line": 223,
                "type": "->"
            },
            {
                "args": [],
                "class": "OC\\Files\\ObjectStore\\SwiftFactory",
                "file": "/var/www/html/lib/private/Files/ObjectStore/SwiftFactory.php",
                "function": "createContainer",
                "line": 211,
                "type": "->"
            },
            {
                "args": [],
                "class": "OC\\Files\\ObjectStore\\SwiftFactory",
                "file": "/var/www/html/lib/private/Files/ObjectStore/Swift.php",
                "function": "getContainer",
                "line": 59,
                "type": "->"
            },
            {
                "args": [],
                "class": "OC\\Files\\ObjectStore\\Swift",
                "file": "/var/www/html/lib/private/Files/ObjectStore/Swift.php",
                "function": "getContainer",
                "line": 79,
                "type": "->"
            },
            {
                "args": [
                    "urn:oid:166606",
                    null
                ],
                "class": "OC\\Files\\ObjectStore\\Swift",
                "file": "/var/www/html/lib/private/Files/ObjectStore/ObjectStoreStorage.php",
                "function": "writeObject",
                "line": 457,
                "type": "->"
            },
            {
                "args": [
                    "appdata_ocntk2fugwux/js/core/merged-template-prepend.js",
                    null,
                    1
                ],
                "class": "OC\\Files\\ObjectStore\\ObjectStoreStorage",
                "file": "/var/www/html/lib/private/Files/ObjectStore/ObjectStoreStorage.php",
                "function": "writeStream",
                "line": 416,
                "type": "->"
            },
            {
                "args": [
                    "appdata_ocntk2fugwux/js/core/merged-template-prepend.js",
                    " "
                ],
                "class": "OC\\Files\\ObjectStore\\ObjectStoreStorage",
                "file": "/var/www/html/lib/private/Files/ObjectStore/ObjectStoreStorage.php",
                "function": "file_put_contents",
                "line": 370,
                "type": "->"
            },
            {
                "args": [
                    "appdata_ocntk2fugwux/js/core/merged-template-prepend.js",
                    1549959557
                ],
                "class": "OC\\Files\\ObjectStore\\ObjectStoreStorage",
                "file": "/var/www/html/lib/private/Files/Storage/Wrapper/Wrapper.php",
                "function": "touch",
                "line": 354,
                "type": "->"
            },
            {
                "args": [
                    "appdata_ocntk2fugwux/js/core/merged-template-prepend.js",
                    null
                ],
                "class": "OC\\Files\\Storage\\Wrapper\\Wrapper",
                "file": "/var/www/html/lib/private/Files/Storage/Wrapper/Availability.php",
                "function": "touch",
                "line": 376,
                "type": "->"
            },
            {
                "args": [
                    "appdata_ocntk2fugwux/js/core/merged-template-prepend.js",
                    null
                ],
                "class": "OC\\Files\\Storage\\Wrapper\\Availability",
                "file": "/var/www/html/lib/private/Files/Storage/Wrapper/Wrapper.php",
                "function": "touch",
                "line": 354,
                "type": "->"
            },
            {
                "args": [
                    "appdata_ocntk2fugwux/js/core/merged-template-prepend.js"
                ],
                "class": "OC\\Files\\Storage\\Wrapper\\Wrapper",
                "file": "/var/www/html/lib/private/Files/View.php",
                "function": "touch",
                "line": 1152,
                "type": "->"
            },
            {
                "args": [
                    "touch",
                    "/appdata_ocntk2fugwux/js/core/merged-template-prepend.js",
                    [
                        "touch",
                        "create",
                        "write"
                    ],
                    null
                ],
                "class": "OC\\Files\\View",
                "file": "/var/www/html/lib/private/Files/View.php",
                "function": "basicOperation",
                "line": 567,
                "type": "->"
            },
            {
                "args": [
                    "/appdata_ocntk2fugwux/js/core/merged-template-prepend.js"
                ],
                "class": "OC\\Files\\View",
                "file": "/var/www/html/lib/private/Files/Node/Folder.php",
                "function": "touch",
                "line": 181,
                "type": "->"
            },
            {
                "args": [
                    "merged-template-prepend.js"
                ],
                "class": "OC\\Files\\Node\\Folder",
                "file": "/var/www/html/lib/private/Files/SimpleFS/SimpleFolder.php",
                "function": "newFile",
                "line": 83,
                "type": "->"
            },
            {
                "args": [
                    "merged-template-prepend.js"
                ],
                "class": "OC\\Files\\SimpleFS\\SimpleFolder",
                "file": "/var/www/html/lib/private/Template/JSCombiner.php",
                "function": "newFile",
                "line": 177,
                "type": "->"
            },
            {
                "args": [
                    "/var/www/html/core/js",
                    "merged-template-prepend.js",
                    {
                        "__class__": "OC\\Files\\SimpleFS\\SimpleFolder"
                    }
                ],
                "class": "OC\\Template\\JSCombiner",
                "file": "/var/www/html/lib/private/Template/JSCombiner.php",
                "function": "cache",
                "line": 103,
                "type": "->"
            },
            {
                "args": [
                    "/var/www/html",
                    "core/js/merged-template-prepend.json",
                    "core"
                ],
                "class": "OC\\Template\\JSCombiner",
                "file": "/var/www/html/lib/private/Template/JSResourceLocator.php",
                "function": "process",
                "line": 114,
                "type": "->"
            },
            {
                "args": [
                    "/var/www/html",
                    "core/js/merged-template-prepend.json"
                ],
                "class": "OC\\Template\\JSResourceLocator",
                "file": "/var/www/html/lib/private/Template/JSResourceLocator.php",
                "function": "cacheAndAppendCombineJsonIfExist",
                "line": 70,
                "type": "->"
            },
            {
                "args": [
                    "js/merged-template-prepend"
                ],
                "class": "OC\\Template\\JSResourceLocator",
                "file": "/var/www/html/lib/private/Template/ResourceLocator.php",
                "function": "doFind",
                "line": 78,
                "type": "->"
            },
            {
                "args": [
                    [
                        "vendor/core",
                        "js/merged-template-prepend",
                        "search/js/search",
                        "core/l10n/fr",
                        "files_pdfviewer/l10n/en",
                        "files_pdfviewer/js/previewplugin",
                        "core/js/merged-share-backend",
                        "files_videoplayer/l10n/en",
                        "files_videoplayer/js/viewer",
                        "firstrunwizard/l10n/fr",
                        "firstrunwizard/js/jquery.colorbox",
                        "firstrunwizard/js/firstrunwizard",
                        "gallery/l10n/fr",
                        "notifications/l10n/fr",
                        "notifications/js/notifications",
                        "search/l10n/fr",
                        "search/js/searchprovider",
                        "js/jquery-ui-fixes",
                        "js/files/fileinfo",
                        "js/files/client",
                        "js/contactsmenu",
                        "js/contactsmenu_templates",
                        "files/l10n/fr",
                        "files/js/merged-index",
                        "files_sharing/l10n/fr",
                        "files_sharing/js/app",
                        "files_sharing/js/sharedfilelist",
                        "files_external/l10n/fr",
                        "files_external/js/statusmanager",
                        "files_external/js/templates",
                        "files_external/js/rollingqueue",
                        "files_external/js/app",
                        "files_external/js/mountsfilelist",
                        "files_trashbin/l10n/fr",
                        "files_trashbin/js/app",
                        "files_trashbin/js/filelist",
                        "activity/l10n/fr",
                        "activity/js/activity-sidebar",
                        "js/oc-backbone-webdav",
                        "comments/l10n/fr",
                        "comments/js/merged",
                        "files_versions/l10n/fr",
                        "files_versions/js/merged",
                        "richdocuments/l10n/fr",
                        "richdocuments/js/viewer/viewer",
                        "federatedfilesharing/l10n/fr",
                        "federatedfilesharing/js/external",
                        "files_sharing/js/additionalScripts",
                        "files_texteditor/l10n/fr",
                        "files_texteditor/js/merged",
                        "gallery/js/scripts-for-file-app",
                        "js/systemtags/merged",
                        "systemtags/l10n/fr",
                        "systemtags/js/merged"
                    ]
                ],
                "class": "OC\\Template\\ResourceLocator",
                "file": "/var/www/html/lib/private/TemplateLayout.php",
                "function": "find",
                "line": 322,
                "type": "->"
            },
            {
                "args": [
                    [
                        "vendor/core",
                        "js/merged-template-prepend",
                        "search/js/search",
                        "core/l10n/fr",
                        "files_pdfviewer/l10n/en",
                        "files_pdfviewer/js/previewplugin",
                        "core/js/merged-share-backend",
                        "files_videoplayer/l10n/en",
                        "files_videoplayer/js/viewer",
                        "firstrunwizard/l10n/fr",
                        "firstrunwizard/js/jquery.colorbox",
                        "firstrunwizard/js/firstrunwizard",
                        "gallery/l10n/fr",
                        "notifications/l10n/fr",
                        "notifications/js/notifications",
                        "search/l10n/fr",
                        "search/js/searchprovider",
                        "js/jquery-ui-fixes",
                        "js/files/fileinfo",
                        "js/files/client",
                        "js/contactsmenu",
                        "js/contactsmenu_templates",
                        "files/l10n/fr",
                        "files/js/merged-index",
                        "files_sharing/l10n/fr",
                        "files_sharing/js/app",
                        "files_sharing/js/sharedfilelist",
                        "files_external/l10n/fr",
                        "files_external/js/statusmanager",
                        "files_external/js/templates",
                        "files_external/js/rollingqueue",
                        "files_external/js/app",
                        "files_external/js/mountsfilelist",
                        "files_trashbin/l10n/fr",
                        "files_trashbin/js/app",
                        "files_trashbin/js/filelist",
                        "activity/l10n/fr",
                        "activity/js/activity-sidebar",
                        "js/oc-backbone-webdav",
                        "comments/l10n/fr",
                        "comments/js/merged",
                        "files_versions/l10n/fr",
                        "files_versions/js/merged",
                        "richdocuments/l10n/fr",
                        "richdocuments/js/viewer/viewer",
                        "federatedfilesharing/l10n/fr",
                        "federatedfilesharing/js/external",
                        "files_sharing/js/additionalScripts",
                        "files_texteditor/l10n/fr",
                        "files_texteditor/js/merged",
                        "gallery/js/scripts-for-file-app",
                        "js/systemtags/merged",
                        "systemtags/l10n/fr",
                        "systemtags/js/merged"
                    ]
                ],
                "class": "OC\\TemplateLayout",
                "file": "/var/www/html/lib/private/TemplateLayout.php",
                "function": "findJavascriptFiles",
                "line": 154,
                "type": "::"
            },
            {
                "args": [
                    "error",
                    ""
                ],
                "class": "OC\\TemplateLayout",
                "file": "/var/www/html/lib/private/legacy/template.php",
                "function": "__construct",
                "line": 211,
                "type": "->"
            },
            {
                "args": [],
                "class": "OC_Template",
                "file": "/var/www/html/lib/private/Template/Base.php",
                "function": "fetchPage",
                "line": 132,
                "type": "->"
            },
            {
                "args": [],
                "class": "OC\\Template\\Base",
                "file": "/var/www/html/lib/private/legacy/template.php",
                "function": "printPage",
                "line": 360,
                "type": "->"
            },
            {
                "args": [
                    {
                        "__class__": "RuntimeException"
                    },
                    500
                ],
                "class": "OC_Template",
                "file": "/var/www/html/index.php",
                "function": "printExceptionErrorPage",
                "line": 69,
                "type": "::"
            }
        ]
    },
    "method": "GET",
    "remoteAddr": "188.188.xxx.xxx",
    "reqId": "jbyS49BGI5L2xuNWyTCR",
    "time": "2019-02-12T08:19:17+00:00",
    "url": "/index.php/apps/files/",
    "user": "xxxxxxxx",
    "userAgent": "Mozilla/5.0 (X11; Linux x86_64; rv:67.0) Gecko/20100101 Firefox/67.0",
    "version": "15.0.4.0"
}

Browser log

Not relevant here

@julienfastre julienfastre added 0. Needs triage Pending check for reproducibility or if it fits our roadmap bug labels Feb 12, 2019
@MorrisJobke
Copy link
Member

cc @icewind1991 @rullzer

@julienfastre
Copy link
Author

FYI, clearing the cache makes the instance working again:

docker-compose stop
docker-compose rm -v redis
docker-compose up -d
# the redis instance is re-created with a  clean cache

(I edited the bug description to add this information)

@MorrisJobke
Copy link
Member

Fix is in #14175

@vpecinka
Copy link
Contributor

I face the same problem. Looking forward to the PR being merged.

@ChristophWurst
Copy link
Member

Fix is in #14175

PR was merged 🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0. Needs triage Pending check for reproducibility or if it fits our roadmap bug feature: filesystem
Projects
None yet
Development

No branches or pull requests

4 participants