Fehler bei Update auf 4.0.5

Antworten
insideAC
Beiträge: 29
Registriert: 09 Dez 2011, 07:20

Fehler bei Update auf 4.0.5

Beitrag von insideAC »

Hallo Leute,

ich habe gerade von 4.03 auf 4.05 aktualisiert.
In dem safe-upgrade Prozess wurde auch der MySQL-Server mit aktualisiert.

Während des Installationsprozesses kam es zu folgendem Fehler:

Code: Alles auswählen

Richte opsi-linux-bootimage ein (20140919-2) ...
[2] Traceback: (Logger.py|767)
[2]      line 1641 in '<module>' in file '/usr/bin/opsi-admin' (Logger.py|767)
[2]      line 242 in 'main' in file '/usr/bin/opsi-admin' (Logger.py|767)
[2]      line 209 in '__init__' in file '/usr/lib/pymodules/python2.6/OPSI/Backend/BackendManager.py' (Logger.py|767)
[2]      line 314 in '__init__' in file '/usr/lib/pymodules/python2.6/OPSI/Backend/BackendManager.py' (Logger.py|767)
[2]      line 364 in '__loadBackends' in file '/usr/lib/pymodules/python2.6/OPSI/Backend/BackendManager.py' (Logger.py|767)
[2]      line 453 in '__init__' in file '/usr/lib/pymodules/python2.6/OPSI/Backend/MySQL.py' (Logger.py|767)
[2]      line 136 in '__init__' in file '/usr/lib/pymodules/python2.6/OPSI/Backend/MySQL.py' (Logger.py|767)
[2]      line 163 in '_createConnectionPool' in file '/usr/lib/pymodules/python2.6/OPSI/Backend/MySQL.py' (Logger.py|767)
[2]      ==>>> Backend I/O error: Failed to connect to database 'opsi' address 'localhost': (2002, "Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)") (opsi-admin|1649)

Richte opsi-depotserver ein (4.0.5.11-1) ...
/usr/lib/python2.6/dist-packages/zope/__init__.py:3: UserWarning: Module _mysql was already imported from /usr/lib/pymodules/python2.6/_mysql.so, but /usr/lib/pymodules/python2.6 is being added to sys.path
  import pkg_resources
[2] [Jan 08 12:15:07] Traceback: (Logger.py|767)
[2] [Jan 08 12:15:07]      line 159 in '_createConnectionPool' in file '/usr/lib/pymodules/python2.6/OPSI/Backend/MySQL.py' (Logger.py|767)
[2] [Jan 08 12:15:07]      line 73 in '__init__' in file '/usr/lib/pymodules/python2.6/OPSI/Backend/MySQL.py' (Logger.py|767)
[2] [Jan 08 12:15:07]      line 142 in 'connect' in file '/usr/lib/pymodules/python2.6/sqlalchemy/pool.py' (Logger.py|767)
[2] [Jan 08 12:15:07]      line 304 in '__init__' in file '/usr/lib/pymodules/python2.6/sqlalchemy/pool.py' (Logger.py|767)
[2] [Jan 08 12:15:07]      line 161 in 'get' in file '/usr/lib/pymodules/python2.6/sqlalchemy/pool.py' (Logger.py|767)
[2] [Jan 08 12:15:07]      line 642 in 'do_get' in file '/usr/lib/pymodules/python2.6/sqlalchemy/pool.py' (Logger.py|767)
[2] [Jan 08 12:15:07]      line 122 in 'create_connection' in file '/usr/lib/pymodules/python2.6/sqlalchemy/pool.py' (Logger.py|767)
[2] [Jan 08 12:15:07]      line 198 in '__init__' in file '/usr/lib/pymodules/python2.6/sqlalchemy/pool.py' (Logger.py|767)
[2] [Jan 08 12:15:07]      line 261 in '__connect' in file '/usr/lib/pymodules/python2.6/sqlalchemy/pool.py' (Logger.py|767)
[2] [Jan 08 12:15:07]      line 71 in 'creator' in file '/usr/lib/pymodules/python2.6/OPSI/Backend/MySQL.py' (Logger.py|767)
[2] [Jan 08 12:15:07]      line 81 in 'Connect' in file '/usr/lib/pymodules/python2.6/MySQLdb/__init__.py' (Logger.py|767)
[2] [Jan 08 12:15:07]      line 170 in '__init__' in file '/usr/lib/pymodules/python2.6/MySQLdb/connections.py' (Logger.py|767)
[2] [Jan 08 12:15:07]      ==>>> (2002, "Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)") (MySQL.py|162)
[4] [Jan 08 12:15:07] Backend I/O error: Failed to connect to database 'opsi' address 'localhost': (2002, "Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)") (opsi-setup|717)
[4] [Jan 08 12:15:07] Failed to read opsi modules file '/etc/opsi/modules': [Errno 2] Datei oder Verzeichnis nicht gefunden: u'/etc/opsi/modules' (Backend.py|386)
[5] [Jan 08 12:15:07] Disabling mysql backend and license management module: no customer in modules file (MySQL.py|466)
[5] [Jan 08 12:15:07] Creating base path: '/var/lib/opsi/config' (File.py|233)
[3] [Jan 08 12:15:07] Unknown DB Error: (2002, "Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)") (MySQL.py|203)
[2] [Jan 08 12:15:07] Traceback: (Logger.py|767)
[2] [Jan 08 12:15:07]      line 3054 in '<module>' in file '/usr/bin/opsi-setup' (Logger.py|767)
[2] [Jan 08 12:15:07]      line 3041 in 'main' in file '/usr/bin/opsi-setup' (Logger.py|767)
[2] [Jan 08 12:15:07]      line 742 in 'update' in file '/usr/bin/opsi-setup' (Logger.py|767)
[2] [Jan 08 12:15:07]      line 67 in 'initializeConfigs' in file '/usr/lib/pymodules/python2.6/OPSI/Util/Task/ConfigureBackend/ConfigurationData.py' (Logger.py|767)
[2] [Jan 08 12:15:07]      line 1 in 'backend_createBase' in file '<string>' (Logger.py|767)
[2] [Jan 08 12:15:07]      line 445 in '_executeMethod' in file '/usr/lib/pymodules/python2.6/OPSI/Backend/Backend.py' (Logger.py|767)
[2] [Jan 08 12:15:07]      line 1 in 'backend_createBase' in file '<string>' (Logger.py|767)
[2] [Jan 08 12:15:07]      line 445 in '_executeMethod' in file '/usr/lib/pymodules/python2.6/OPSI/Backend/Backend.py' (Logger.py|767)
[2] [Jan 08 12:15:07]      line 1 in 'backend_createBase' in file '<string>' (Logger.py|767)
[2] [Jan 08 12:15:07]      line 445 in '_executeMethod' in file '/usr/lib/pymodules/python2.6/OPSI/Backend/Backend.py' (Logger.py|767)
[2] [Jan 08 12:15:07]      line 1 in 'backend_createBase' in file '<string>' (Logger.py|767)
[2] [Jan 08 12:15:07]      line 411 in '_dispatchMethod' in file '/usr/lib/pymodules/python2.6/OPSI/Backend/BackendManager.py' (Logger.py|767)
[2] [Jan 08 12:15:07]      line 397 in 'backend_createBase' in file '/usr/lib/pymodules/python2.6/OPSI/Backend/SQL.py' (Logger.py|767)
[2] [Jan 08 12:15:07]      line 431 in 'getTables' in file '/usr/lib/pymodules/python2.6/OPSI/Backend/MySQL.py' (Logger.py|767)
[2] [Jan 08 12:15:07]      line 217 in 'getSet' in file '/usr/lib/pymodules/python2.6/OPSI/Backend/MySQL.py' (Logger.py|767)
[2] [Jan 08 12:15:07]      line 183 in 'connect' in file '/usr/lib/pymodules/python2.6/OPSI/Backend/MySQL.py' (Logger.py|767)
[2] [Jan 08 12:15:07]      line 142 in 'connect' in file '/usr/lib/pymodules/python2.6/sqlalchemy/pool.py' (Logger.py|767)
[2] [Jan 08 12:15:07]      line 304 in '__init__' in file '/usr/lib/pymodules/python2.6/sqlalchemy/pool.py' (Logger.py|767)
[2] [Jan 08 12:15:07]      line 161 in 'get' in file '/usr/lib/pymodules/python2.6/sqlalchemy/pool.py' (Logger.py|767)
[2] [Jan 08 12:15:07]      line 642 in 'do_get' in file '/usr/lib/pymodules/python2.6/sqlalchemy/pool.py' (Logger.py|767)
[2] [Jan 08 12:15:07]      line 122 in 'create_connection' in file '/usr/lib/pymodules/python2.6/sqlalchemy/pool.py' (Logger.py|767)
[2] [Jan 08 12:15:07]      line 198 in '__init__' in file '/usr/lib/pymodules/python2.6/sqlalchemy/pool.py' (Logger.py|767)
[2] [Jan 08 12:15:07]      line 261 in '__connect' in file '/usr/lib/pymodules/python2.6/sqlalchemy/pool.py' (Logger.py|767)
[2] [Jan 08 12:15:07]      line 71 in 'creator' in file '/usr/lib/pymodules/python2.6/OPSI/Backend/MySQL.py' (Logger.py|767)
[2] [Jan 08 12:15:07]      line 81 in 'Connect' in file '/usr/lib/pymodules/python2.6/MySQLdb/__init__.py' (Logger.py|767)
[2] [Jan 08 12:15:07]      line 170 in '__init__' in file '/usr/lib/pymodules/python2.6/MySQLdb/connections.py' (Logger.py|767)
[2] [Jan 08 12:15:07]      ==>>> (2002, "Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)") (opsi-setup|3058)

ERROR: (2002, "Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)")

/usr/lib/python2.6/dist-packages/zope/__init__.py:3: UserWarning: Module _mysql was already imported from /usr/lib/pymodules/python2.6/_mysql.so, but /usr/lib/pymodules/python2.6 is being added to sys.path
  import pkg_resources
[5] [Jan 08 12:15:07] Setting rights (opsi-setup|548)
[5] [Jan 08 12:15:07] Setting rights on directory '/etc/opsi' (opsi-setup|635)
/usr/lib/python2.6/dist-packages/zope/__init__.py:3: UserWarning: Module _mysql was already imported from /usr/lib/pymodules/python2.6/_mysql.so, but /usr/lib/pymodules/python2.6 is being added to sys.path
  import pkg_resources
[5] [Jan 08 12:15:08] Setting rights (opsi-setup|548)
[5] [Jan 08 12:15:08] Setting rights on directory '/tftpboot/linux' (opsi-setup|635)
Das System scheint allerdings korrekt zu funktionieren.
Ich kann nur vermuten, dass es daran liegt, dass der MySQL-Server nicht lief.

Ist die Meldung beunruhigend oder muss ich irgendetwas nachziehen?

Vielen Dank für die Hilfe!
Benutzeravatar
ueluekmen
uib-Team
Beiträge: 1939
Registriert: 28 Mai 2008, 10:53

Re: Fehler bei Update auf 4.0.5

Beitrag von ueluekmen »

Hi,

das kann schon mal passieren. Eigentlich sollte das abgefangen werden, aber alle möglichen Szenarios ab zu fangen ist an der Stelle sehr schwer.

Ich gehe jetzt mal davon aus, dass es sich hier um Debian/Ubuntu handelt:

Schau dir mal den Output an:

Code: Alles auswählen

dpkg -l | grep opsi
Prüfe einfach mal, ob bei jedem opsi Paket "ii" davor steht. Ist das der Fall, sollte eigentlich alles drauf sein. Wenn nicht solltest du noch mal:

Code: Alles auswählen

apt-get -f install
ausführen.

Danach zur Sicherheit noch mal die Dienste durchtreten.
opsi support - uib gmbh
For productive opsi installations we recommend support contracts.
http://www.uib.de
insideAC
Beiträge: 29
Registriert: 09 Dez 2011, 07:20

Re: Fehler bei Update auf 4.0.5

Beitrag von insideAC »

Hallo,

sieht alles gut aus und das forcen der Installation hat auch nichts mehr gemacht.
Scheint also alles OK zu sein.

Vielen dank für die schnelle Antwort!
Benutzeravatar
n.wenselowski
Ex-uib-Team
Beiträge: 3194
Registriert: 04 Apr 2013, 12:15

Re: Fehler bei Update auf 4.0.5

Beitrag von n.wenselowski »

Hallo,

ich meine so ein Verhalten auch schon mal während einem Upgrade beobachtet zu haben.
Soweit ich mich erinnere wird bei dem Upgrade anfangs mysqld gestoppt, da dieser mit aktualisiert wird. Während der Installation klappt dann das starten des opsiconfd nicht, falls dieser das MySQL-Backend verwendet, da der MySQL-Dienst noch nicht läuft.

Ich würde mal folgendes probieren:

Code: Alles auswählen

service mysql restart
opsi-setup --init-current-config
service opsiconfd restart

Gruß

Niko

Code: Alles auswählen

import OPSI
mlude
Beiträge: 1
Registriert: 20 Mär 2015, 14:52

Re: Fehler bei Update auf 4.0.5

Beitrag von mlude »

n.wenselowski hat geschrieben:Hallo,

ich meine so ein Verhalten auch schon mal während einem Upgrade beobachtet zu haben.
Soweit ich mich erinnere wird bei dem Upgrade anfangs mysqld gestoppt, da dieser mit aktualisiert wird. Während der Installation klappt dann das starten des opsiconfd nicht, falls dieser das MySQL-Backend verwendet, da der MySQL-Dienst noch nicht läuft.

Ich würde mal folgendes probieren:

Code: Alles auswählen

service mysql restart
opsi-setup --init-current-config
service opsiconfd restart

Gruß

Niko
das mag das Problem kurzfristig beheben, nach dem naechsten Reboot besteht das Problem vermutlich wieder...

Ursache bei der Debian Installation (wheezy, Neuinstallation) hier ist die fehlende Abhaengigkeit zwischen den Diensten.
In /etc/rc2.d/ sind opsiconfd, opsipxeconfd und mysql mit S02... verlinkt, starten also in "beliebiger" Reihenfolge. Leider sind die Debiandienste hier nicht etwas von der Nummerierung auseinandergezogen. Dann waere es einfacher, opsiconfd und opsipxeconfd an der richtigen Stelle von der Reihenfolge her zu starten.

Ich habe in /etc/init.d/.depend.start die Abhaengigkeiten unten ergaenzt:

Code: Alles auswählen

opsiconfd: mysql
opsipxeconfd: mysql
Dann wird mysql auch zuerst gestartet.

Gruss,
Markus
Benutzeravatar
n.wenselowski
Ex-uib-Team
Beiträge: 3194
Registriert: 04 Apr 2013, 12:15

Re: Fehler bei Update auf 4.0.5

Beitrag von n.wenselowski »

Hallo Markus,

wenn es immer nach dem Neustart ist, dann ist es vermutlich das von die beschriebene Problem der Dienst-Abhängigkeiten.
Da es hier zu große Unterschiede bei den Init-Systemen gibt und nicht jeder MySQL einsetzt, konnten wir das noch nicht so sauber realisieren.
Ich hoffe ehrlich gesagt ein wenig auf systemd und die Möglichkeit dort optionale Abhängigkeiten zu setzen.


Gruß

Niko

Code: Alles auswählen

import OPSI
Antworten