opsi Service Release 4.0.5 in Testing

Neuigkeiten und Ankündigungen
Benutzeravatar
r.roeder
uib-Team
Beiträge: 540
Registriert: 02 Jul 2008, 10:08

Re: opsi Service Release 4.0.5 in Testing

Beitrag von r.roeder »

Hallo,

in http://download.uib.de/opsi4.0/testing/ ... /products/ liegt jetzt die (lokal installierbare) configed-Version 4.0.5.1.3, die den von Kathrin (>Danke!) gemeldeten Bug der fehlenden Produktlistenaktualisierung behebt sowie auch tolerant bei bestimmten (möglicherweise verbreiteten) Inkonsistenzen der Datenhaltung ist.

Das andere Problem, das Kathrin gemeldet hat, dass bei einer kompletten Datenaktualisierung kein ausgewählte Client angezeigt wird, aber die alte Auswahl intern noch bzw. wieder existiert, ist vielfach verdrahtet. Die Bearbeitung stelle ich jetzt erst einmal zurück.

Vielen Dank nochmal an Testerinnen und Tester

Rupert Röder
opsi support - uib gmbh
For productive opsi installations we recommend maintainance + support contracts which are the base of opsi development.


Wondering who's using opsi? Have a look at the opsi map: http://opsi.org/opsi-map/.
Benutzeravatar
d.oertel
uib-Team
Beiträge: 3319
Registriert: 04 Jun 2008, 14:27

Re: opsi Service Release 4.0.5 in Testing

Beitrag von d.oertel »

Hallo allerseits,

das von Der-Matze gemeldete Problem mit der Installation des opsi-depotserver Paketes konnte ich jetzt bei einer Installation auf einem opsi-depotserver (nict opsi-configserver) nach vollziehen.

Ich mach ein internes Ticket auf.

gruß
d.oertel
opsi support - uib gmbh

For productive opsi installations we recommend support contracts.
http://www.uib.de
http://www.opsi.org
Kathrin
Beiträge: 62
Registriert: 23 Okt 2009, 08:16

Re: opsi Service Release 4.0.5 in Testing

Beitrag von Kathrin »

Guten Morgen,

mit dem configed Version 4.0.5.1.3 funktioniert die Aktualisierung der Produktliste wieder wie erwartet.

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

Re: opsi Service Release 4.0.5 in Testing

Beitrag von n.wenselowski »

Hallo,

für die Probleme bei der Installation von opsi-depotserver auf einem Depot steht ein aktualisiertes Paket unter experimental bereit. Darin wird der fehlerträchtige Check auf das MySQL-Backend nicht gemacht.
Über Feedback würden wir uns freuen.


Viele Grüße

Niko

Code: Alles auswählen

import OPSI
Benutzeravatar
Der-Matze
uib-Team
Beiträge: 102
Registriert: 16 Mär 2009, 11:00

Re: opsi Service Release 4.0.5 in Testing

Beitrag von Der-Matze »

Hallo Herr Wenselowski,

die Installation des opsi-depotserver Pakets aus experimental verläuft jetzt fehlerfrei.
Vielen Dank für den Fix.

Schönen Gruß
rscha
Beiträge: 0
Registriert: 17 Sep 2014, 22:49

Re: opsi Service Release 4.0.5 in Testing

Beitrag von rscha »

Hallo
Ich würde OPSI gerne bei einem meiner größeren Kunden einsetzen. Bedingung ist allerdings, daß ein Betriebssystem mit Support eingesetzt werden muß. SLES wäre also ideal.
Gibt es schon einen ungefähren Termin ab wann die 4.0.5 Version auf einem SLES 11 SP3 produktive eingesetzt werden kann? Wir sollten dieses Projekt noch dieses Jahr abschlissen.

LG
Benutzeravatar
d.oertel
uib-Team
Beiträge: 3319
Registriert: 04 Jun 2008, 14:27

Re: opsi Service Release 4.0.5 in Testing

Beitrag von d.oertel »

Hi,

ich gehe davon aus das wir das im Oktober schaffen .....

Aber: es ist fertig wenn es fertig ist.

gruß
d.oertel
opsi support - uib gmbh

For productive opsi installations we recommend support contracts.
http://www.uib.de
http://www.opsi.org
Benutzeravatar
Der-Matze
uib-Team
Beiträge: 102
Registriert: 16 Mär 2009, 11:00

Re: opsi Service Release 4.0.5 in Testing

Beitrag von Der-Matze »

Hallo zusammen,

ich habe diese Woche Zeit gefunden ein wenig zu testen.
Hier mein Feedback:

opsi-client-agent_4.0.5.1-7:
Installation und Betrieb komplett fehlerfrei
Im Testeinsatz seit ~einer Woche

opsi-winst_4.11.4.6-1:
Fehlermeldung "TCentralForm.FormCreate : List index (23) out of bounds" beim Einloggen mit aktivierter Erweiterung User Profile Management.
Das winst-Fenster bleibt nach Bestätigung der Fehlermeldung mit ok einfach hängen und muss per TaskManager abgeschossen werden.
In der %SYSTEMDRIVE%\opsi.org\log\$username$_login.log findet sich folgendes:
[7] [Sep 26 08:59:03:402] [libreoffice] Found Include statement for: p:\install\libreoffice\ProductInfos.opsiinc
[2] [Sep 26 08:59:03:430] [libreoffice] Include_Insert "p:\install\libreoffice\ProductInfos.opsiinc"
[2] [Sep 26 08:59:03:430] [libreoffice] Failed to include (insert) file, system message: "List index (23) out of bounds"

Das ist der Inhalt der betroffenen Datei:

Code: Alles auswählen

;Include global variables
	include_insert "%ScriptDrive%\install\global_vars\all_scripts\global_vars.opsiinc"

;Loglevel
	SetLogLevel = 6

;Minimum free space required
	Set $MinSpace$="1500MB"

;Productname
	Set $ProductName$ = "LibreOffice"

;Productname and version
	Set $ProductNameFull1$ = "LibreOffice 4.3.2.2"

;Filename product picture
	Set $ProductPicture$ = "libreoffice.png"

;Installationfile
	Set $Executable1$ = "LibreOffice_4.3.2_Win_x86.msi"

;Add 32-Bit GUIDs to stringlist $GUID32$
	;LibreOffice 3.4.3
		Set $GUID32$ = addtolist($GUID32$, "{7821C7B2-7E21-4CF3-925B-58B6A8BC6311}")
	;LibreOffice 3.4.4
		Set $GUID32$ = addtolist($GUID32$, "{D64833F8-860D-4216-8EDC-DD08AD68C0B5}")
	;LibreOffice 3.4.5
		Set $GUID32$ = addtolist($GUID32$, "{03CEFC42-378E-4467-9909-DCBAFD38CA9F}")
	;LibreOffice 3.5.1
		Set $GUID32$ = addtolist($GUID32$, "{0E8E4718-0702-4D33-B007-5E95849BAB3C}")
	;LibreOffice 3.5.2
		Set $GUID32$ = addtolist($GUID32$, "{09D72100-CAC9-42BF-AD52-47F784C92DB6}")
	;LibreOffice 3.5.3
		Set $GUID32$ = addtolist($GUID32$, "{28C70D19-6DE9-43EF-BFA3-342F4A11B727}")
	;LibreOffice 3.5.4
		Set $GUID32$ = addtolist($GUID32$, "{EF790F1C-CB0C-4B95-8C54-60783F3B6661}")
	;LibreOffice 3.5.5
		Set $GUID32$ = addtolist($GUID32$, "{B1F9C834-0594-4563-B344-4ED9599A5945}")
	;LibreOffice 3.6.0
		Set $GUID32$ = addtolist($GUID32$, "{AFD5A54E-E9A1-413D-8AA2-C9EDB6782400}")
	;LibreOffice 3.6.1.2
		Set $GUID32$ = addtolist($GUID32$, "{C2F438B6-7010-453B-93EC-B2FC053AA97B}")
	;LibreOffice 3.6.2.2
		Set $GUID32$ = addtolist($GUID32$, "{1E85458A-9B00-443F-A187-2E06DBB15E43}")
	;LibreOffice 3.6.3.2
		Set $GUID32$ = addtolist($GUID32$, "{CBCF6C86-4738-4A84-9C2C-331804DCEB9B}")
	;LibreOffice 3.6.5.2
		Set $GUID32$ = addtolist($GUID32$, "{7FDEBC17-F2F8-4B66-BE25-A2DD59B44F61}")
	;LibreOffice 4.0.0.3
		Set $GUID32$ = addtolist($GUID32$, "{8EA569F1-97AF-4C3E-A0CB-4846C2D35A81}")
	;LibreOffice 4.0.1.2
		Set $GUID32$ = addtolist($GUID32$, "{604B2A5C-B1CE-45B2-ADCC-6B7C721AC3AC}")
	;LibreOffice 4.0.2.2
		Set $GUID32$ = addtolist($GUID32$, "{1062AD6C-80F4-4BC6-AB7C-A28892B497B8}")
	;LibreOffice 4.0.3.3
		Set $GUID32$ = addtolist($GUID32$, "{F77ED0CD-2E5E-4FC7-82E0-BB7D461E739F}")
	;LibreOffice 4.0.4.2
		Set $GUID32$ = addtolist($GUID32$, "{FE88323B-9F0E-4596-8F56-37757C6918E9}")
	;LibreOffice 4.1.0.4
		Set $GUID32$ = addtolist($GUID32$, "{F8478020-D98E-49FB-BA14-07A534AED99C}")
	;LibreOffice 4.1.1.2
		Set $GUID32$ = addtolist($GUID32$, "{F1EE568A-171F-4C06-9BE6-2395BED067A3}")
	;LibreOffice 4.1.2.3
		Set $GUID32$ = addtolist($GUID32$, "{DD3CB916-F91A-41B9-B276-CAC090E91021}")
	;LibreOffice 4.1.3.2
		Set $GUID32$ = addtolist($GUID32$, "{4F3722AD-197D-4DBB-BDFB-D2F0D6776354}")
	;LibreOffice 4.1.4.2
		Set $GUID32$ = addtolist($GUID32$, "{94E11973-ED58-47A0-907C-ABF6D95C5DD8}")
	;LibreOffice 4.2.0.4
		Set $GUID32$ = addtolist($GUID32$, "{E043231F-34F2-4AF5-9400-0961CC15AAAE}")
	;LibreOffice 4.2.1.1
		Set $GUID32$ = addtolist($GUID32$, "{C83C3B4C-1AFF-4CEA-8078-74E7A3FE8F03}")
	;LibreOffice 4.2.3.3
		Set $GUID32$ = addtolist($GUID32$, "{4117DF3C-6677-4A22-90B7-FF06923417E9}")
	;LibreOffice 4.2.4.2
		Set $GUID32$ = addtolist($GUID32$, "{4117DF3C-6677-4A22-90B7-FF06923417E9}")
	;LibreOffice 4.2.5.2
		Set $GUID32$ = addtolist($GUID32$, "{8D8F47B2-0E03-4C50-9803-A01120878F96}")
	;LibreOffice 4.3.0.4
		Set $GUID32$ = addtolist($GUID32$, "{5C005E2A-AEAE-4DF7-B7CA-1E6DCDD2AEA4}")
	;LibreOffice 4.3.1.4
		Set $GUID32$ = addtolist($GUID32$, "{65AD6B46-B389-41BD-8A2F-213367BE0652}")
	;LibreOffice 4.3.2.2
		Set $GUID32$ = addtolist($GUID32$, "{9C13F99C-6E1A-4126-AE91-EAA2DADE08D6}")

;Variables for Word file associations
	DefVar $DOC$
	DefVar $DOCX$
	DefVar $DOCM$
	DefVar $DOT$
	DefVar $DOTX$
	DefVar $DOTM$
	DefVar $RTF$

;Variables for Excel file associations
	DefVar $XLS$
	DefVar $XLSX$
	DefVar $XLSM$
	DefVar $XLSB$
	DefVar $XLAM$
	DefVar $XLT$
	DefVar $XLTX$
	DefVar $XLTM$

;Variables for Powerpoint file associations
	DefVar $PPS$
	DefVar $PPSX$
	DefVar $PPSM$
	DefVar $PPAM$
	DefVar $PPT$
	DefVar $PPTX$
	DefVar $PPTM$
	DefVar $POT$
	DefVar $POTX$
	DefVar $POTM$

;Register Word file associations with libreoffice if product property Word=on
	if not (Inivar ("Word") = "off")
		Set $DOC$ = "REGISTER_DOC=1"
		Set $DOCX$ = "REGISTER_DOCX=1"
		Set $DOCM$ = "REGISTER_DOCM=1"
		Set $DOT$ = "REGISTER_DOT=1"
		Set $DOTX$ = "REGISTER_DOTX=1"
		Set $DOTM$ = "REGISTER_DOTM=1"
		Set $RTF$ = "REGISTER_RTF=1"
	else
		Set $DOC$ = "REGISTER_DOC=0"
		Set $DOCX$ = "REGISTER_DOCX=0"
		Set $DOCM$ = "REGISTER_DOCM=0"
		Set $DOT$ = "REGISTER_DOT=0"
		Set $DOTX$ = "REGISTER_DOTX=0"
		Set $DOTM$ = "REGISTER_DOTM=0"
		Set $RTF$ = "REGISTER_RTF=0"
	endif

;Register Excel file associations with libreoffice if product property Excel=on
	if not (Inivar ("Excel") = "off")
		Set $XLS$ = "REGISTER_XLS=1"
		Set $XLSX$ = "REGISTER_XLSX=1"
		Set $XLSM$ = "REGISTER_XLSM=1"
		Set $XLSB$ = "REGISTER_XLSB=1"
		Set $XLAM$ = "REGISTER_XLAM=1"
		Set $XLT$ = "REGISTER_XLT=1"
		Set $XLTX$ = "REGISTER_XLTX=1"
		Set $XLTM$ = "REGISTER_XLTM=1"
	else
		Set $XLS$ = "REGISTER_XLS=0"
		Set $XLSX$ = "REGISTER_XLSX=0"
		Set $XLSM$ = "REGISTER_XLSM=0"
		Set $XLSB$ = "REGISTER_XLSB=0"
		Set $XLAM$ = "REGISTER_XLAM=0"
		Set $XLT$ = "REGISTER_XLT=0"
		Set $XLTX$ = "REGISTER_XLTX=0"
		Set $XLTM$ = "REGISTER_XLTM=0"
	endif

;Register Powerpoint file associations with libreoffice if product property Powerpoint=on
	if not (Inivar ("Powerpoint") = "off")
		Set $PPS$ = "REGISTER_PPS=1"
		Set $PPSX$ = "REGISTER_PPSX=1"
		Set $PPSM$ = "REGISTER_PPSM=1"
		Set $PPAM$ = "REGISTER_PPAM=1"
		Set $PPT$ = "REGISTER_PPT=1"
		Set $PPTX$ = "REGISTER_PPTX=1"
		Set $PPTM$ = "REGISTER_PPTM=1"
		Set $POT$ = "REGISTER_POT=1"
		Set $POTX$ = "REGISTER_POTX=1"
		Set $POTM$ = "REGISTER_POTM=1"
	else
		Set $PPS$ = "REGISTER_PPS=0"
		Set $PPSX$ = "REGISTER_PPSX=0"
		Set $PPSM$ = "REGISTER_PPSM=0"
		Set $PPAM$ = "REGISTER_PPAM=0"
		Set $PPT$ = "REGISTER_PPT=0"
		Set $PPTX$ = "REGISTER_PPTX=0"
		Set $PPTM$ = "REGISTER_PPTM=0"
		Set $POT$ = "REGISTER_POT=0"
		Set $POTX$ = "REGISTER_POTX=0"
		Set $POTM$ = "REGISTER_POTM=0"
	endif

;Variables for languagepacks
	DefVar $Languages$
		Set $Languages$ = "IS1051=0 IS1092=0 IS1097=0 IS2162=0 IS1038=0 IS1030=1 IS1087=0 IS1098=0 IS1101=0 IS1084=0 IS1078=0 IS1100=0 IS1603=0 IS1103=0 IS1044=0 IS1150=0 IS1152=0 IS2052=0 IS1107=0 IS1066=0 IS1046=0 IS1134=0 IS1081=0 IS1077=0 IS1065=0 IS1031=1 IS1045=1 IS1064=0 IS1109=0 IS7177=0 IS1104=0 IS32771=0 IS2108=0 IS1072=0 IS1111=0 IS1049=0 IS1102=0 IS1036=1 IS1043=0 IS1040=1 IS1059=0 IS1060=0 IS1093=0 IS1108=0 IS1606=0 IS1039=0 IS1029=0 IS1069=0 IS1091=0 IS1096=0 IS1099=0 IS1106=0 IS1110=0 IS1071=0 IS1032=0 IS1553=0 IS1132=0 IS1062=0 IS1048=0 IS1027=0 IS1095=0 IS1605=0 IS1041=0 IS1604=0 IS1075=0 IS1121=0 IS1042=0 IS1579=0 IS2074=0 IS1061=0 IS1094=0 IS2057=0 IS2133=0 IS2070=0 IS1079=0 IS1028=1 IS1025=0 IS1076=0 IS1057=0 IS1063=0 IS1120=0 IS1058=0 IS2068=0 IS1113=0 IS1074=0 IS1089=0 IS1580=0 IS1610=0 IS1055=0 IS3098=0 IS2129=0 IS1034=0 IS1574=0 IS2121=0 IS1050=0 IS1112=0 IS5146=0 IS1569=0 IS1154=0 IS1053=0 IS1037=0 IS2117=0 IS1026=0 IS1073=0 IS1118=0 IS1033=1 IS1054=0 IS1035=0 IS1052=0"

;Variable containing all file associations
	DefVar $Options$
		Set $Options$ = "REGISTER_ALL_MSO_TYPES=0 REGISTER_NO_MSO_TYPES=1"+" "+$DOC$+" "+$DOCX$+" "+$DOCM$+" "+$DOT$+" "+$DOTX$+" "+$DOTM$+" "+$RTF$+" "+$XLS$+" "+$XLSX$+" "+$XLSM$+" "+$XLSB$+" "+$XLAM$+" "+$XLT$+" "+$XLTX$+" "+$XLTM$+" "+$PPS$+" "+$PPSX$+" "+$PPSM$+" "+$PPAM$+" "+$PPT$+" "+$PPTX$+" "+$PPTM$+" "+$POT$+" "+$POTX$+" "+$POTM$

;Variable for all components that will be removed
	DefVar $Remove$
		Set $Remove$ = "REMOVE=gm_o_Onlineupdate,gm_o_Extensions_MEDIAWIKI,gm_o_Extensions_NLPSolver,gm_r_ex_Dictionary_Af,gm_r_ex_Dictionary_An,gm_r_ex_Dictionary_Ar,gm_r_ex_Dictionary_Be,gm_r_ex_Dictionary_Bg,gm_r_ex_Dictionary_Bn,gm_r_ex_Dictionary_Br,gm_r_ex_Dictionary_Pt_Pt,gm_r_ex_Dictionary_Ca,gm_r_ex_Dictionary_Cs,gm_r_ex_Dictionary_Et,gm_r_ex_Dictionary_Gd,gm_r_ex_Dictionary_Gl,gm_r_ex_Dictionary_Gu,gm_r_ex_Dictionary_He,gm_r_ex_Dictionary_Hi,gm_r_ex_Dictionary_Hu,gm_r_ex_Dictionary_Hr,gm_r_ex_Dictionary_Lt,gm_r_ex_Dictionary_Lv,gm_r_ex_Dictionary_Ne,gm_r_ex_Dictionary_No,gm_r_ex_Dictionary_Oc,gm_r_ex_Dictionary_Ro,gm_r_ex_Dictionary_Ru,gm_r_ex_Dictionary_Si,gm_r_ex_Dictionary_Sr,gm_r_ex_Dictionary_Sk,gm_r_ex_Dictionary_Sl,gm_r_ex_Dictionary_El,gm_r_ex_Dictionary_Sv,gm_r_ex_Dictionary_Te,gm_r_ex_Dictionary_Th,gm_r_ex_Dictionary_Uk,gm_r_ex_Dictionary_Vi,gm_r_ex_Dictionary_Zu"

;Show product info and check WINST version and free space
	include_insert "%ScriptDrive%\install\global_vars\all_scripts\global_winst.opsiinc"
opsi-clonezilla_4.0.5-1
Image erstellen funktioniert fehlerfrei
Image zurück spielen funktioniert fehlerfrei
Positiv aufgefallen ist mir das neue rebootflag. Mit der alten Version dauerte es nach dem Beenden von clonezilla extrem lange (3-4 Minuten) bis der Client neu gestartet wurde. Bis der reboot durchgeführt wird vergehen zwar immer noch ~zwei Minuten, aber es ist wenigstens etwas schneller geworden. Die Verzögerung scheint wohl zumindest teilweise gewollt zu sein? Im Log finde ich Executing: /bin/sleep 60; /sbin/shutdown -r now (Posix.py|661)
Im Testeinsatz seit ~einer Woche

opsi-configed_4.0.5.1.5-1
Einige Sachen sind mir positiv aufgefallen:
Wenn man einen Client auswählt und in die Produkkonfiguration wechselt, dann aber einen anderen Client aus der Client-Liste links auswählt geht der Wechsel auf den neuen Client schneller von statten.
Kein Reload mehr benötigt beim Wechsel zwischen Depots. Allgemein fühlt sich der Wechsel viel flüssiger an.
Negativ aufgefallen ist mir dass die Failed Gruppe nicht mehr in der linken Spalte angezeigt wird. Man muss jetzt immer erst eine Abfrage starten um zu sehen wo was schief gelaufen ist. Ich finde das etwas umständlich, da man erst aktiv nach fehlgeschlagenen Installation suchen muss, anstatt sie in der Übersicht einfach im Blick zu haben.
In Version 4.0.5.1.4-1 ist mir zweimal der configed hängen geblieben nachdem ich ein neues Paket am Server erstellt hatte, und danach einen Reload im configed durchgeführt hatte, damit das Paket in der Produktkonfiguration auftaucht. Ich habe das gleiche in Version 4.0.5.1.5-1 allerdings erfolgreich getestet.

Hoffe das hilft!
Schönen Gruß
Matze
Zuletzt geändert von Der-Matze am 26 Sep 2014, 14:11, insgesamt 1-mal geändert.
Benutzeravatar
d.oertel
uib-Team
Beiträge: 3319
Registriert: 04 Jun 2008, 14:27

Re: opsi Service Release 4.0.5 in Testing

Beitrag von d.oertel »

Hallo Matze,

vielen Dank für den ausführlichen Testing Report !

Von mir als opsi-winst Zuständigen folgende Bitte:

Im UserLoginScript bitte den LogLevel auf 8 setzen und mir (d.oertel@uib.de) den kompletten Log zusenden.

Vielleicht kann ich dann besser erkennen wo das Problem liegt.

gruß + Danke

d.oertel
opsi support - uib gmbh

For productive opsi installations we recommend support contracts.
http://www.uib.de
http://www.opsi.org
Benutzeravatar
r.roeder
uib-Team
Beiträge: 540
Registriert: 02 Jul 2008, 10:08

Re: opsi Service Release 4.0.5 in Testing

Beitrag von r.roeder »

Hallo.

auch von mir (configed-Entwickler) vielen Dank für das Testen. Mich freut natürlich, dass die umfangreiche Neukonstruktion der Datenhaltung zu bemerkbar positiven Folgen geführt hat. Es sind noch weitere Optimierungen in Vorbereitung (für eine spätere Version), die sich vor allem bei großen Systemen auswirken sollten.

Wegen des Kritikpunktes, dass die Failed-Gruppe nicht mehr existiert, möchte ich gern den Hintergrund versuchen zu erklären: Ein Problem dieser Gruppe war ihre dynamische Bedeutung. Eigentlich hätte bei jeder Darstellung der Gruppe eine Anfrage an den Service abgesetzt, die Antwort abgewartet und interpretiert werden müssen. Das war aus Performance-Gründen sehr ungünstig; irgendwie machte man bei dieser Gruppe daher immer etwas falsch. Den letzten Ausschlag zur Abschaffung der Gruppe gab aber der Hinweis von Anwendern, dass diese Gruppe eigentlich nur etwas taugt, wenn man jedem Fehler nachgeht und ihn direkt beseitigt. Sobald sich "Leichen" in der Gruppe sammeln, erhält man nicht mehr, was man sucht, nämlich die Rückmeldung, das bei dem, was man aktuell macht, etwas schiefgelaufen ist. Daher gibt es jetzt ein differenziertes Angebot zur Suche nach fehlgeschlagenen Installationen (Produkt- oder Zeitraum-bezogen), so dass jeder findet, was er wisseln will. Und es sind eigentlich auch nur zwei Mauseklicks :-)

VG
Rupert Röder
opsi support - uib gmbh
For productive opsi installations we recommend maintainance + support contracts which are the base of opsi development.


Wondering who's using opsi? Have a look at the opsi map: http://opsi.org/opsi-map/.
Antworten