4.0.6 -> opsi-setup --update-mysql fehler

Antworten
Benutzeravatar
TheNavy
Beiträge: 23
Registriert: 30 Apr 2015, 08:20
Wohnort: Siegerland

4.0.6 -> opsi-setup --update-mysql fehler

Beitrag von TheNavy »

Hallo zusammen,

Ich wollte mein OPSI auf die neuste Version aktualisieren und wollte vorher die Punkte in den Release-Notes abarbeiten.
Bei "opsi-setup --update-mysql" läuft mein OPSI auf den unterstehenden Fehler (nutze das SQL-Backend aktuell für die Audits).

Code: Alles auswählen

 opsi-setup --update-mysql
[5] [Aug 30 09:50:22] Connection to database 'opsi' on 'XXXXXXXX' as user 'opsi' (MySQL.py|47)
[5] [Aug 30 09:50:27] Updating database table HARDWARE_DEVICE_HDAUDIO_DEVICE (MySQL.py|169)
[5] [Aug 30 09:50:27] Updating database table HARDWARE_DEVICE_SCSI_CONTROLLER (MySQL.py|169)
[5] [Aug 30 09:50:27] Updating database table HARDWARE_DEVICE_AUDIO_CONTROLLER (MySQL.py|169)
[5] [Aug 30 09:50:27] Updating database table HARDWARE_DEVICE_VIDEO_CONTROLLER (MySQL.py|169)
[5] [Aug 30 09:50:27] Updating database table HARDWARE_DEVICE_PCI_DEVICE (MySQL.py|169)
[5] [Aug 30 09:50:28] Updating database table HARDWARE_DEVICE_NETWORK_CONTROLLER (MySQL.py|169)
[5] [Aug 30 09:50:28] Updating database table HARDWARE_DEVICE_IDE_CONTROLLER (MySQL.py|169)
[5] [Aug 30 09:50:28] Updating database table HARDWARE_DEVICE_USB_DEVICE (MySQL.py|169)
[5] [Aug 30 09:50:28] Updating database table HARDWARE_DEVICE_PCMCIA_CONTROLLER (MySQL.py|169)
[5] [Aug 30 09:50:28] Updating database table HARDWARE_DEVICE_FLOPPY_CONTROLLER (MySQL.py|169)
[5] [Aug 30 09:50:28] Updating database table HARDWARE_DEVICE_USB_CONTROLLER (MySQL.py|169)
[5] [Aug 30 09:50:28] Updating database table HARDWARE_DEVICE_1394_CONTROLLER (MySQL.py|169)
[5] [Aug 30 09:50:28] Updating productId Columns (MySQL.py|447)
[5] [Aug 30 09:50:29] Updating field 'description' on table PRODUCT_PROPERTY (MySQL.py|460)
[5] [Aug 30 09:50:29] Updating field 'description' on table BOOT_CONFIGURATION (MySQL.py|460)
[5] [Aug 30 09:50:29] Fixing DEFAULT for colum 'created' on table HOST (MySQL.py|471)
[5] [Aug 30 09:50:29] Fixing length of 'depotId' column on PRODUCT_ON_DEPOT (MySQL.py|487)
[2] [Aug 30 09:50:29] Traceback: (Logger.py|753)
[2] [Aug 30 09:50:29]   File "/usr/bin/opsi-setup", line 2182, in <module>
    main()
 (Logger.py|753)
[2] [Aug 30 09:50:29]   File "/usr/bin/opsi-setup", line 2137, in main
    updateMySQLBackend(additionalBackendConfiguration=backendConfig)
 (Logger.py|753)
[2] [Aug 30 09:50:29]   File "/usr/lib/python2.7/dist-packages/OPSI/Util/Task/UpdateBackend/MySQL.py", line 488, in updateMySQLBackend
    mysql.execute(u"ALTER TABLE `PRODUCT_ON_DEPOT` MODIFY COLUMN `depotId` VARCHAR(255) NOT NULL;")
 (Logger.py|753)
[2] [Aug 30 09:50:29]   File "/usr/lib/python2.7/dist-packages/OPSI/Backend/MySQL.py", line 445, in execute
    res = cursor.execute(query)
 (Logger.py|753)
[2] [Aug 30 09:50:29]   File "/usr/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 174, in execute
    self.errorhandler(self, exc, value)
 (Logger.py|753)
[2] [Aug 30 09:50:29]   File "/usr/lib/python2.7/dist-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
    raise errorclass, errorvalue
 (Logger.py|753)
[2] [Aug 30 09:50:29]      ==>>> (1832, "Cannot change column 'depotId': used in a foreign key constraint 'PRODUCT_ON_DEPOT_ibfk_2'") (opsi-setup|2186)

ERROR: (1832, "Cannot change column 'depotId': used in a foreign key constraint 'PRODUCT_ON_DEPOT_ibfk_2'")
Hatte zu dem Fehler außer diesem Post nicht viel gefunden.
viewtopic.php?f=8&t=8292&hilit=Cannot+c ... n&start=10

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

Re: 4.0.6 -> opsi-setup --update-mysql fehler

Beitrag von n.wenselowski »

Hi Richard,

nutzt du da noch die Pakete von 4.0.6 oder schon 4.0.7?


Gruß

Niko

Code: Alles auswählen

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

Re: 4.0.6 -> opsi-setup --update-mysql fehler

Beitrag von n.wenselowski »

Hi Richard,

ich nochmal:
versuch doch mal die Checks auf Foreign Keys in MySQL temporär für die DB zu deaktivieren:

Code: Alles auswählen

SET FOREIGN_KEY_CHECKS=0;
Und danach wieder zu aktivieren:

Code: Alles auswählen

SET FOREIGN_KEY_CHECKS=1;

Gruß

Niko

Code: Alles auswählen

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

Re: 4.0.6 -> opsi-setup --update-mysql fehler

Beitrag von n.wenselowski »

Hi Richard,

ich nochmal :)

In unserem experimentellen Repo liegt python-opsi 4.0.7.19-1, in welchem der Fehler nicht mehr auftreten sollte.

Hast du einen Testumgebung, in welcher du diesen Fix testen kannst?
Falls du Hilfe beim Einspielen der Version brauchst, sag mir bitte mit welchem Server-OS du testen willst.


Viele Grüße

Niko

Code: Alles auswählen

import OPSI
Benutzeravatar
TheNavy
Beiträge: 23
Registriert: 30 Apr 2015, 08:20
Wohnort: Siegerland

Re: 4.0.6 -> opsi-setup --update-mysql fehler

Beitrag von TheNavy »

Hallo Niko,

Leider bin ich jetzt erst wieder zu meiner OPSI-Baustelle gekommen :)
Ich habe das "python-opsi" aus dem experimental-Repo mal installiert und siehe da -> Problem gelöst
Der --update-mysql ist erfolgreich gelaufen (Unter 4.0.7 und Ubuntu 16.04)!

Danke schön


Gruß
Richard
Antworten