Update von ownCloud: Unknown database 'owncloud'

german
ucs-4-2
owncloud

#1

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?


#2

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?


#3

Um das zu beurteilen, w├Ąren Logs hilfreich gewesen.


#4

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


#5

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


#6

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.


#7

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


#8

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.*


#9

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?


#10

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


#11

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.


#12

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.


#13

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

#14

@dmitry Hat sich das mal jemand von Owncloud angeschaut?


#15

wir arbeiten gerade an der L├Âsung dieses Problems.


#16

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


#17

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


#18

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.


#19

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.


#20

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