Update von ownCloud: Unknown database 'owncloud'

Ich habe heute versucht von ownCloud 10.0.4 auf 10.0.7 zu aktualiesieren. Zuvor wurde ein Update auf die Errata 4.2-3 418 gemacht.

Das Update der ownCloud-App schlug fehl und jetzt wird beim Aufruf der Login-Seite folgender Fehler anzeigt:

Exception occurred while logging exception: Failed to connect to the database: An exception occured in driver: SQLSTATE[HY000] [1049] Unknown database 'owncloud'
#0 /var/www/owncloud/lib/composer/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(429): OC\DB\Connection->connect()
#1 /var/www/owncloud/lib/composer/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(389): Doctrine\DBAL\Connection->getDatabasePlatformVersion()
#2 /var/www/owncloud/lib/composer/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(328): Doctrine\DBAL\Connection->detectDatabasePlatform()
#3 /var/www/owncloud/lib/composer/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(623): Doctrine\DBAL\Connection->getDatabasePlatform()
....

Was kann ich machen, damit ownCloud wieder ins Netz gehen kann?

Nachdem ich die DaSi zurückgespielt hatte und das System damit wieder lief, habe ich den Vorgang erneut gestartet. Zuvor habe ich erst auf das letzte Errata aktualisiert.

Leider kam es zum gleichem Ergebniss: Das Update wurde abgebrochen und beim Aufruf der Webseite kommt es zu der besagten “Anzeige” (siehe meinen vorherigen Post)

Mache ich was falsch?

Um das zu beurteilen, wären Logs hilfreich gewesen.

Ja, das kann ich verstehen. Welche Logs soll ich den hier reinstellen, die einen Anhaltspunkt geben, warum das System sich nicht updaten läßt. Habe es nochmal versucht - leider kommt es immer wieder zu dem besagtem Fehler, so daß ich einen Restore vom System machen muss

Relevant sind AFAIK /var/log/univention/appcenter.log und /var/log/univention/updater.log.

Ich war so todesmutig es selber zu probieren (es gibt ja inzwischen 10.0.8). Leider bin ich selber auf das Problem gestoßen. Laut mysqlshow ist die Datenbank auch tatsächlich nicht mehr da.

Da der Thread hier schon 2 Wochen existiert und es seitdem auch ein Update gab, in dem der Fehler immer noch ist, frage ich mich schon, ob überhaupt eine QA existiert!

EDIT: Logs reiche ich nach. Ich möchte die erstmal selber durchgucken. Hat jemand einen Link auf das Installations-Script. Das würde ich mir mal gerne anschauen.

Danke für die Rückmeldung - ich konnte leider bisher keine weiteren Versuche machen, weil wir grad mitten in der Umstellung nach Office365 steckenn - aber ich bin gespannt, wie sich das ganze hier weiter entwickelt

Welche UCS Version wird denn eingesetzt? MyKey0815 hatte es oben schon geschrieben. Mit welcher Version wurde ownCloud ursprünglich installiert? Wichtig ist die Info, ob es vor 9.1 war, also die Migration auf die ownCloud AppID durchgeführt wurde (vorher war die id owncloud82).

Die Scripte für die 10.0.8 App liegen unter http://appcenter.software-univention.de/univention-repository/4.2/maintained/component/owncloud_20180427115720/ bzw. lokal auf UCS unter /var/cache/univention-appcenter/appcenter.software-univention.de/4.2/owncloud_20180427115720.*

Oh sorry, es handelt sich um ein UCS 4.3 DC Slave Errata 87. Die Ursprüngliche Version von Owncloud weiß ich natürlich nicht mehr, es könnte 8.0 gewesen sein. Also ja, die Migration wurde durchgeführt.

Vielen Dank für den Link auf die Scripte, auch wenn ich sie inzwischen selbst gefunden habe.

Ist es eigentlich von Univention so gewollt, daß beim Upgrade ein neus Maschinenkonto erstellt wird? Das macht das Rückspielen von Backups IMO unnötig schwieriger.

@MyKey0815 Hast du das Upgrade eigentlich auch mit “univention-upgrade” auf der Shell oder über die UMC durchgeführt?

Ich habe auch ein Upgrade durchgeführt gehabt - aber schon vor Monaten

@SirTux Ich habe es über die UMC ausgeführt, nachdem ich beim Anmelden den Hinweis bekommen habe, dass Update verfügbar sind

Das sollte eigentlich nicht passieren, und ich kann es auch nicht nachstellen. Im /var/log/univention/appcenter.log sehe ich beim Update:
Already found cn=owncl-89102529,cn=memberserver,cn=computers,dc=ucs,dc=local as a host for owncloud. Trying to retrieve machine secret. Es wird dann das bisherige Computerkonto inklusive dessen machine.secret weiterverwendet. Ich habe unter UCS 4.3 getestet.

Auch das Problem mit der unbekannten/gelöschten Datenbank kann ich im Moment nicht nachstellen. Das wäre für eine weitere Fehleranalyse notwendig.

Hier ist das Log vom Start des Upgrades bis zum Database Error.
log-part.log (138,5 KB)

Hier ist das vollständige Log:
log-full.log (435,9 KB)

@damrose Diese Meldungen habe ich auch.

Hier nimmt das Problem wohl seinen Lauf:

  5749 actions.upgrade                  18-05-24 15:41:53 [    INFO]: Executing interface restore_data_before_setup for owncloud
  5749 actions.upgrade                  18-05-24 15:41:53 [    INFO]: No interface defined
  5749 actions.upgrade                  18-05-24 15:41:53 [    INFO]: Executing interface setup for owncloud
  5749 actions.upgrade                  18-05-24 15:41:53 [    INFO]: Copying App Center's setup to container's /usr/share/univention-docker-container-mode/setup_custom
  5749 actions.upgrade.container.bdc2   18-05-24 15:41:54 [   DEBUG]: Using container.bdc2 for container bdc2b5a87c7bb212d7e5a74b8f7cf42986e4603566c33050d81af5154d126c38
  5749 actions.upgrade.container.bdc2   18-05-24 15:41:54 [   DEBUG]: Calling docker exec bdc2b5a87c7bb212d7e5a74b8f7cf42986e4603566c33050d81af5154d126c38 /usr/share/univention-docker-container-mode/setup_custom --username Administrator --app owncloud --error-file /var/univention/tmp/tmpGxxyU6 --password-file /var/univention/tmp/tmpFae0tW --app-version 10.0.8-20180428
  5749 actions.upgrade.container.bdc2   18-05-24 15:41:54 [    INFO]: enabling ldap app in docker setup script
  5749 actions.upgrade.container.bdc2   18-05-24 15:41:54 [    INFO]: wait for 5 seconds
  5749 packages                         18-05-24 15:41:56 [   DEBUG]: Releasing LOCK
  5749 actions.upgrade                  18-05-24 15:41:56 [CRITICAL]: Setup script failed!
  5749 actions.upgrade                  18-05-24 15:41:56 [ WARNING]: Aborting...
  5749 actions.remove                   18-05-24 15:41:56 [   DEBUG]: Calling remove

@dmitry Hat sich das mal jemand von Owncloud angeschaut?

wir arbeiten gerade an der Lösung dieses Problems.

1 Like

Hallo in die Runde,

bei uns ist das Problem auch aufgetreten. Allerdings scheint der Grund ein LOCK den cache von apt zu sein:

 25276 actions.remove                   18-06-28 18:45:23 [    INFO]: Running 51owncloud-uninstall.uinst done
 25276 actions.remove                   18-06-28 18:45:23 [   DEBUG]: /usr/sbin/univention-run-join-scripts returned with 0
 25276 actions.remove.readme            18-06-28 18:45:23 [   DEBUG]: Calling elinks -dump /var/cache/univention-appcenter/appcenter.software-univention.de/4.1/owncloud_20180315081545.README_POST_UNINSTALL_EN
 25276 actions.upgrade-search           18-06-28 18:45:27 [   DEBUG]: Calling upgrade-search
 25276 actions.upgrade-search.progress  18-06-28 18:45:27 [   DEBUG]: 0
 25276 actions.upgrade-search           18-06-28 18:45:27 [   DEBUG]: Checking 4.1/owncloud=10.0.4-20180315
 25276 actions.upgrade-search.progress  18-06-28 18:45:27 [   DEBUG]: 100
 25276 actions.remove.progress          18-06-28 18:45:27 [   DEBUG]: 100
 25276 actions.upgrade-search           18-06-28 18:45:27 [   DEBUG]: Calling upgrade-search
 25276 actions.upgrade-search.progress  18-06-28 18:45:27 [   DEBUG]: 0
 25276 actions.upgrade-search           18-06-28 18:45:27 [   DEBUG]: Checking 4.1/owncloud=10.0.4-20180315
 25276 actions.upgrade-search.progress  18-06-28 18:45:27 [   DEBUG]: 100
 25276 actions.install                  18-06-28 18:45:27 [   ERROR]: Failed to lock /var/cache/apt/archives/lock
Traceback (most recent call last):
  File "/usr/lib/pymodules/python2.7/univention/appcenter/actions/__init__.py", line 226, in call_with_namespace
    result = self.main(namespace)
  File "/usr/lib/pymodules/python2.7/univention/appcenter/actions/install.py", line 72, in main
    return self.do_it(args)
  File "/usr/lib/pymodules/python2.7/univention/appcenter/actions/install_base.py", line 99, in do_it
    self._do_it(app, args)
  File "/usr/lib/pymodules/python2.7/univention/appcenter/actions/docker_install.py", line 63, in _do_it
    ret = super(Install, self)._do_it(app, args)
  File "/usr/lib/pymodules/python2.7/univention/appcenter/actions/install.py", line 85, in _do_it
    self._register_database(app)
  File "/usr/lib/pymodules/python2.7/univention/appcenter/actions/register.py", line 348, in _register_database
    database_connector.create_database()
  File "/usr/lib/pymodules/python2.7/univention/appcenter/database.py", line 177, in create_database
    self.setup()
  File "/usr/lib/pymodules/python2.7/univention/appcenter/database.py", line 173, in setup
    self.install()
  File "/usr/lib/pymodules/python2.7/univention/appcenter/database.py", line 115, in install
    mark_packages_as_manually_installed(packages)
  File "/usr/lib/pymodules/python2.7/univention/appcenter/packages.py", line 102, in mark_packages_as_manually_installed
    return get_package_manager().mark_auto(False, *pkgs)
  File "/usr/lib/pymodules/python2.7/univention/lib/package_manager.py", line 515, in mark_auto
    self.commit()
  File "/usr/lib/pymodules/python2.7/univention/lib/package_manager.py", line 660, in commit
    result = self.cache.commit(**kwargs)
  File "/usr/lib/python2.7/dist-packages/apt/cache.py", line 501, in commit
    res = self._fetch_archives(fetcher, pm)
  File "/usr/lib/python2.7/dist-packages/apt/cache.py", line 322, in _fetch_archives
    raise LockFailedException("Failed to lock %s" % lockfile)
LockFailedException: Failed to lock /var/cache/apt/archives/lock
 25276 utils                            18-06-28 18:45:27 [   DEBUG]: send_information: action=upgrade app=owncloud value=LockFailedException('Failed to lock /var/cache/apt/archives/lock',) status=500
 25276 utils                            18-06-28 18:45:27 [   DEBUG]: tracking information: {'status': 500, 'uuid': '0107e699-39cd-443c-b6ec-6664acdc24d1', 'app': u'owncloud', 'value': "LockFailedException('Failed to lock /var/cache/apt/archives/lock',)", 'version': u'10.0.8-20180428', 'role': 'memberserver', 'action': 'upgrade', 'system-uuid': 'c2e88370-d56e-4c27-958a-6d141ba9ede7'}
 25276 actions.upgrade-search           18-06-28 18:45:28 [   DEBUG]: Calling upgrade-search
 25276 actions.upgrade-search.progress  18-06-28 18:45:28 [   DEBUG]: 0
 25276 actions.upgrade-search           18-06-28 18:45:28 [   DEBUG]: Checking owncloud=10.0.8-20180428
 25276 actions.upgrade-search.progress  18-06-28 18:45:28 [   DEBUG]: 100
 25276 actions.upgrade                  18-06-28 18:45:28 [   ERROR]: Failed to lock /var/cache/apt/archives/lock
Traceback (most recent call last):
  File "/usr/lib/pymodules/python2.7/univention/appcenter/actions/__init__.py", line 226, in call_with_namespace
    result = self.main(namespace)
  File "/usr/lib/pymodules/python2.7/univention/appcenter/actions/upgrade.py", line 75, in main
    return self.do_it(args)
  File "/usr/lib/pymodules/python2.7/univention/appcenter/actions/install_base.py", line 99, in do_it
    self._do_it(app, args)
  File "/usr/lib/pymodules/python2.7/univention/appcenter/actions/docker_upgrade.py", line 111, in _do_it
    self._upgrade_image(app, args)
  File "/usr/lib/pymodules/python2.7/univention/appcenter/actions/docker_upgrade.py", line 165, in _upgrade_image
    self._install_new_app(app, args)
  File "/usr/lib/pymodules/python2.7/univention/appcenter/actions/docker_upgrade.py", line 70, in _install_new_app
    return Install._do_it(self, app, args)
  File "/usr/lib/pymodules/python2.7/univention/appcenter/actions/docker_install.py", line 63, in _do_it
    ret = super(Install, self)._do_it(app, args)
  File "/usr/lib/pymodules/python2.7/univention/appcenter/actions/install.py", line 85, in _do_it
    self._register_database(app)
  File "/usr/lib/pymodules/python2.7/univention/appcenter/actions/register.py", line 348, in _register_database
    database_connector.create_database()
  File "/usr/lib/pymodules/python2.7/univention/appcenter/database.py", line 177, in create_database
    self.setup()
  File "/usr/lib/pymodules/python2.7/univention/appcenter/database.py", line 173, in setup
    self.install()
  File "/usr/lib/pymodules/python2.7/univention/appcenter/database.py", line 115, in install
    mark_packages_as_manually_installed(packages)
  File "/usr/lib/pymodules/python2.7/univention/appcenter/packages.py", line 102, in mark_packages_as_manually_installed
    return get_package_manager().mark_auto(False, *pkgs)
  File "/usr/lib/pymodules/python2.7/univention/lib/package_manager.py", line 515, in mark_auto
    self.commit()
  File "/usr/lib/pymodules/python2.7/univention/lib/package_manager.py", line 660, in commit
    result = self.cache.commit(**kwargs)
  File "/usr/lib/python2.7/dist-packages/apt/cache.py", line 501, in commit
    res = self._fetch_archives(fetcher, pm)
  File "/usr/lib/python2.7/dist-packages/apt/cache.py", line 322, in _fetch_archives
    raise LockFailedException("Failed to lock %s" % lockfile)
LockFailedException: Failed to lock /var/cache/apt/archives/lock

Inzwischen konnte ich die Datenbank aus dem Backup wieder hergestellen. Leider kommt es aber immernoch zu dem Fehler der fehlgeschlagenen LDAP Verbindung. In einem anderen Zusammenhang hatten wir dieses Problem schon einmal https://help.univention.com/t/owncloud-upgrade-to-10-0-4-20180315-webui-fails/8433/3
In dem Fall half es, das Maschinen Passwort in der UMC neu zusetzen und in der Owncloud Config zu hinterlegen.

Leider komme ich aber gar nicht mehr bis zum Login in Owncloud.

Lässt sich die LDAP-Auth vorübergehend deaktivieren?

Oder anders herum: Lässt sich das Maschinen Passwort auf der CLI direkt ändern? Wenn ich es richtig verstanden habe, sind die /etc/machine.secret Dateien ja nicht im Klartext hinterlegt, oder?

lG
Sebastian

Hallo,

ich muß derzeit bei jedem Neustart des Containers immer das LDAP-Paßwort neu setzen. Wie kann ich das fixen? Wo muß das Paßwort überall hinterlegt sein.

Viele Grüße,
SirTux

EDIT: Das scheint erledigt. Es war wie vermutet im Container /etc/machine.secret. Allerdings war beim ersten Versuch ein Newline zu viel :wink:

@dmitry Wo muß das Paßwort sonst noch überall korrekt stehen? In /var/lib/univention-appcenter/apps/owncloud/machine.secret? Ich würde diese Fehlerquelle gerne ausschließen, bevor ich das Update erneut auf die nun hoffentlich gefixte Version probiere.

ownCloud stellt nur den Docker Container her :slight_smile:

LDAP ist eine Sache von univention.

Ich denke dass wenn du dich vor dem Upgrade in LDAP einwählen kannst, kannst du es auch nach dem Upgrade.

Übrigens, heute ist die neue Appliance raus.

Inklusive Setup-Scripte nehme ich an. Und diese konfigurieren doch u.a. die LDAP-Authentifizierung …

Mastodon