software on demand: No products found

test
Beiträge: 32
Registriert: 17 Mai 2010, 11:45

software on demand: No products found

Beitrag von test »

Software on demand war schon eingerichtet und benutzbar. Aber seit einiger Zeit meldet die Seite nur noch: "No products found"

Details zum Server:
OS: CentOS 7
Datenbank: mariadb-5.5.44-1.el7_1.x86_64

opsi-atftp-0.7.dfsg-12.1.x86_64
opsiconfd-4.0.6.10-7.1.noarch
opsi-configed-4.0.6.3.5.1-2.1.noarch
opsi-depotserver-4.0.6.4-1.1.noarch
opsi-linux-bootimage-20150916-3.1.x86_64
opsipxeconfd-4.0.5.5-2.1.noarch
opsi-utils-4.0.6.9-1.1.noarch
python-opsi-4.0.6.28-1.1.noarch

Paket Opsi Client Agent:
opsi-client-agent 4.0.6.3-5

Auszug Log opsiconfd:

Code: Alles auswählen

[5] [Nov 24 14:34:16] Application 'opsiclientd version 4.0.83' on client 'xxx.xxx.xxx.xxx' did not send cookie (workers.py|167)
[5] [Nov 24 14:34:16] New session created (session.py|77)
[5] [Nov 24 14:34:16] Authorization request from host clientname.example.com@xxx.xxx.xxx.xxx (application: opsiclientd version 4.0.83) (workers.py|195)
[5] [Nov 24 14:34:16] Modules file signature verified (customer: xxxxx) (MySQL.py|517)
[5] [Nov 24 14:34:17] -----> Executing: backend_getInterface() (JsonRpc.py|128)
[5] [Nov 24 14:34:17] -----> Executing: backend_info() (JsonRpc.py|128)
[5] [Nov 24 14:34:17] -----> Executing: backend_info() (JsonRpc.py|128)
[5] [Nov 24 14:34:17] -----> Executing: dispatcher_getConfig() (JsonRpc.py|128)
[5] [Nov 24 14:34:17] -----> Executing: accessControl_authenticated() (JsonRpc.py|128)
[5] [Nov 24 14:34:18] -----> Executing: backend_setOptions({u'addConfigStateDefaults': True}) (JsonRpc.py|128)
[5] [Nov 24 14:34:18] -----> Executing: configState_getObjects([], {'configId': [u'software-on-demand.*'], 'objectId': u'clientname.example.com'}) (JsonRpc.py|128)
[5] [Nov 24 14:34:18] -----> Executing: objectToGroup_getObjects([], {'groupType': u'ProductGroup', 'groupId': [u'kostenlos,software-on-demand']}) (JsonRpc.py|128)
[5] [Nov 24 14:34:19] User 'clientname.example.com' asked to close the session (workers.py|448)
[5] [Nov 24 14:34:19] Session '7pMUo2VZPIx5vd5Q7daN3f0kUkj0cOJT' from ip 'xxx.xxx.xxx.xxx', application 'opsiclientd version 4.0.83' deleted (Session.py|212)
[5] [Nov 24 14:34:28] Application 'opsiclientd version 4.0.83' on client 'xxx.xxx.xxx.xxx' did not send cookie (workers.py|167)
[5] [Nov 24 14:34:28] New session created (session.py|77)
[5] [Nov 24 14:34:28] Authorization request from host clientname.example.com@xxx.xxx.xxx.xxx (application: opsiclientd version 4.0.83) (workers.py|195)
[5] [Nov 24 14:34:28] Modules file signature verified (customer: xxxxx) (MySQL.py|517)
[5] [Nov 24 14:34:29] -----> Executing: backend_getInterface() (JsonRpc.py|128)
[5] [Nov 24 14:34:29] -----> Executing: backend_info() (JsonRpc.py|128)
[5] [Nov 24 14:34:29] -----> Executing: backend_info() (JsonRpc.py|128)
[5] [Nov 24 14:34:29] -----> Executing: dispatcher_getConfig() (JsonRpc.py|128)
[5] [Nov 24 14:34:30] -----> Executing: accessControl_authenticated() (JsonRpc.py|128)
[5] [Nov 24 14:34:30] -----> Executing: backend_setOptions({u'addConfigStateDefaults': True}) (JsonRpc.py|128)
[5] [Nov 24 14:34:30] -----> Executing: configState_getObjects([], {'configId': [u'software-on-demand.*'], 'objectId': u'clientname.example.com'}) (JsonRpc.py|128)
[5] [Nov 24 14:34:30] -----> Executing: objectToGroup_getObjects([], {'groupType': u'ProductGroup', 'groupId': [u'kostenlos,software-on-demand']}) (JsonRpc.py|128)
[5] [Nov 24 14:34:31] User 'clientname.example.com' asked to close the session (workers.py|448)
[5] [Nov 24 14:34:31] Session 'VI7GEKNVle83AhE1cNw2PsVCv5jEzTWI' from ip 'xxx.xxx.xxx.xxx', application 'opsiclientd version 4.0.83' deleted (Session.py|212)
Habe daher mal Folgendes versucht:

Code: Alles auswählen

 opsi-admin -d method configState_getObjects '[] "configId": ["software-on-demand.*"], "objectId": "clientname.example.com"}' 
[2] Traceback: (Logger.py|758)
[2]      line 1703 in '<module>' in file '/usr/bin/opsi-admin' (Logger.py|758)
[2]      line 356 in 'main' in file '/usr/bin/opsi-admin' (Logger.py|758)
[2]      ==>>> Failed to execute u'method configState_getObjects \'[] "configId": ["software-on-demand.*"], "objectId": clientname.example.com"}\'': Backend bad value error: Class '<class 'OPSI.Object.ConfigState'>' has not attribute '[] "configId": ["software-on-demand.*"], "objectId": "clientname.example.com"}' (opsi-admin|1713)
Liegt es evtl. an der MariaDB? Oder habe ich ein Update für die Datenbankstruktur verpasst?
Benutzeravatar
n.wenselowski
Ex-uib-Team
Beiträge: 3194
Registriert: 04 Apr 2013, 12:15

Re: software on demand: No products found

Beitrag von n.wenselowski »

test hat geschrieben:Habe daher mal Folgendes versucht:

Code: Alles auswählen

 opsi-admin -d method configState_getObjects '[] "configId": ["software-on-demand.*"], "objectId": "clientname.example.com"}' 
[2] Traceback: (Logger.py|758)
[2]      line 1703 in '<module>' in file '/usr/bin/opsi-admin' (Logger.py|758)
[2]      line 356 in 'main' in file '/usr/bin/opsi-admin' (Logger.py|758)
[2]      ==>>> Failed to execute u'method configState_getObjects \'[] "configId": ["software-on-demand.*"], "objectId": clientname.example.com"}\'': Backend bad value error: Class '<class 'OPSI.Object.ConfigState'>' has not attribute '[] "configId": ["software-on-demand.*"], "objectId": "clientname.example.com"}' (opsi-admin|1713)
Liegt es evtl. an der MariaDB? Oder habe ich ein Update für die Datenbankstruktur verpasst?
Nein, das sind einfach ungültige Parameter ;)

Versuch mal:

Code: Alles auswählen

opsi-admin -d method configState_getObjects '[]' '{"configId": ["software-on-demand.*"], "objectId": "clientname.example.com"}'
Ansonsten würde ich nochmal checken, ob die dispatch.conf korrekt ist.


Gruß

Niko

Code: Alles auswählen

import OPSI
test
Beiträge: 32
Registriert: 17 Mai 2010, 11:45

Re: software on demand: No products found

Beitrag von test »

Die dispatch.conf müsste in Ordnung sein:

backend_.* : file, mysql, opsipxeconfd
host_.* : file, opsipxeconfd
productOnClient_.* : file, opsipxeconfd
configState_.* : file, opsipxeconfd
license.* : mysql
softwareLicense.* : mysql
audit.* : mysql
.* : file
Benutzeravatar
n.wenselowski
Ex-uib-Team
Beiträge: 3194
Registriert: 04 Apr 2013, 12:15

Re: software on demand: No products found

Beitrag von n.wenselowski »

n.wenselowski hat geschrieben:Versuch mal:

Code: Alles auswählen

opsi-admin -d method configState_getObjects '[]' '{"configId": ["software-on-demand.*"], "objectId": "clientname.example.com"}'

Code: Alles auswählen

import OPSI
test
Beiträge: 32
Registriert: 17 Mai 2010, 11:45

Re: software on demand: No products found

Beitrag von test »

n.wenselowski hat geschrieben:
n.wenselowski hat geschrieben:Versuch mal:

Code: Alles auswählen

opsi-admin -d method configState_getObjects '[]' '{"configId": ["software-on-demand.*"], "objectId": "clientname.example.com"}'
Danke, das geht! Fragt sich nur, warum dann die Software-on-demand-Seite "no products found" schreibt. Gibt es noch Stellen, die ich absuchen kann?
Benutzeravatar
n.wenselowski
Ex-uib-Team
Beiträge: 3194
Registriert: 04 Apr 2013, 12:15

Re: software on demand: No products found

Beitrag von n.wenselowski »

Hi,

dann musst du mal beim Client schauen, was der in seinem Log schreibt, wenn die Software-On-Demand-Seite aufgerufen wird.
Vermutlich willst du dazu das Loglevel auf dem Client erhöhen auf 7 oder 8.


Viele Grüße

Niko

Code: Alles auswählen

import OPSI
test
Beiträge: 32
Registriert: 17 Mai 2010, 11:45

Re: software on demand: No products found

Beitrag von test »

Kann leider kein offensichtliches Problem finden. Nachfolgend ein Teil vom Ergebnis. Der komplette Log ist zu lang, daher habe ich nur Zeilen kopiert, die "[ software on demand ]" enthalten:

Code: Alles auswählen

  [6] [Dec 03 14:59:10] [ software on demand            ] Worker <ocdlib.SoftwareOnDemand.WorkerSoftwareOnDemand object at 0x03F26C70> started processing   (Worker.pyo|249)
[5] [Dec 03 14:59:10] [ software on demand            ] New session created   (Session.pyo|179)
[6] [Dec 03 14:59:10] [ software on demand            ] Starting ServiceConnectionThread, timeout is 30 seconds   (OpsiService.pyo|160)
[2] [Dec 03 14:59:12] [ software on demand            ] Traceback:   (Logger.pyo|767)
[2] [Dec 03 14:59:12] [ software on demand            ]      line 484 in '_generateResponse' in file 'ocdlib\SoftwareOnDemand.pyo'   (Logger.pyo|767)
[2] [Dec 03 14:59:12] [ software on demand            ]      ==>>> No products found   (SoftwareOnDemand.pyo|486)
[6] [Dec 03 15:30:24] [ software on demand            ] Worker <ocdlib.SoftwareOnDemand.WorkerSoftwareOnDemand object at 0x042CCE50> started processing   (Worker.pyo|249)
[5] [Dec 03 15:30:24] [ software on demand            ] New session created   (Session.pyo|179)
[8] [Dec 03 15:30:24] [ software on demand            ] query:    (Worker.pyo|476)
[7] [Dec 03 15:30:24] [ software on demand            ] Query: {}   (SoftwareOnDemand.pyo|155)
[7] [Dec 03 15:30:24] [ software on demand            ] Creating ServiceConnectionThread (url: https://<IP-Adresse>:4447)   (OpsiService.pyo|149)
[6] [Dec 03 15:30:24] [ software on demand            ] Starting ServiceConnectionThread, timeout is 30 seconds   (OpsiService.pyo|160)
[7] [Dec 03 15:30:25] [ software on demand            ] ServiceConnectionThread started   (OpsiService.pyo|167)
[7] [Dec 03 15:30:25] [ software on demand            ] Waiting for ServiceConnectionThread (timeout: 30, alive: True, cancellable in: 2)    (OpsiService.pyo|170)
[7] [Dec 03 15:30:26] [ software on demand            ] Waiting for ServiceConnectionThread (timeout: 29, alive: True, cancellable in: 1)    (OpsiService.pyo|170)
[7] [Dec 03 15:30:27] [ software on demand            ] Getting software-on-demand configs from service   (SoftwareOnDemand.pyo|163)
[7] [Dec 03 15:30:28] [ software on demand            ] Config found: '{'configId': u'software-on-demand.active', 'values': [True], 'objectId': u'<Clientname>', 'type': u'ConfigState'}'   (SoftwareOnDemand.pyo|169)
[7] [Dec 03 15:30:28] [ software on demand            ] Config found: '{'configId': u'software-on-demand.product-group-ids', 'values': [u'kostenlos,software-on-demand'], 'objectId': u'<Clientname>', 'type': u'ConfigState'}'   (SoftwareOnDemand.pyo|169)
[7] [Dec 03 15:30:28] [ software on demand            ] Config found: '{'configId': u'software-on-demand.show-details', 'values': [True], 'objectId': u'<Clientname>', 'type': u'ConfigState'}'   (SoftwareOnDemand.pyo|169)
[2] [Dec 03 15:30:28] [ software on demand            ] Traceback:   (Logger.pyo|767)
[2] [Dec 03 15:30:28] [ software on demand            ]      line 484 in '_generateResponse' in file 'ocdlib\SoftwareOnDemand.pyo'   (Logger.pyo|767)
[2] [Dec 03 15:30:28] [ software on demand            ]      ==>>> No products found   (SoftwareOnDemand.pyo|486)
[7] [Dec 03 15:30:28] [ software on demand            ] <ocdlib.SoftwareOnDemand.WorkerSoftwareOnDemand object at 0x042CCE50>._setCookie   (Worker.pyo|416)
[7] [Dec 03 15:30:28] [ software on demand            ] Freeing session <OPSI.Service.Session.Session instance at 0x04294580>   (Worker.pyo|313)
....
Benutzeravatar
ueluekmen
uib-Team
Beiträge: 1939
Registriert: 28 Mai 2008, 10:53

Re: software on demand: No products found

Beitrag von ueluekmen »

Hi,

sind den Produkte in der Gruppen: kostenlos,software-on-demand drin? Die Meldung kommt in der Regel nur, wenn leere Produktgruppen übergeben werden.
opsi support - uib gmbh
For productive opsi installations we recommend support contracts.
http://www.uib.de
test
Beiträge: 32
Registriert: 17 Mai 2010, 11:45

Re: software on demand: No products found

Beitrag von test »

Ja, in "kostenlos" sind Produkte enthalten. Die Gruppe "software-on-demand" lässt sich im configed gar nicht auswählen, daher kann ich auch keine Produkte hinzufügen. Ist das evtl. ein Problem?
Benutzeravatar
ueluekmen
uib-Team
Beiträge: 1939
Registriert: 28 Mai 2008, 10:53

Re: software on demand: No products found

Beitrag von ueluekmen »

Das könnte ein Problem verursachen. Entweder du erstellst die Gruppen oder schmeisst die Gruppe die nicht existiert aus der Gruppenkonfiguration von software_on_demand. Dann sollte das wieder flutschen.
opsi support - uib gmbh
For productive opsi installations we recommend support contracts.
http://www.uib.de
Antworten