Error: retrieveJSONObject --- opsi service problem

Benutzeravatar
SisterOfMercy
Beiträge: 997
Registriert: 22 Jun 2012, 19:18

Re: Error: retrieveJSONObject --- opsi service problem

Beitragvon SisterOfMercy » 03 Aug 2017, 18:44

I have tested in on a client without a harddrive. Well, it has a non-functional NVMe drive.
UEFI/Legacy does not matter, also the url of the config server did not matter. Why check for this? In the previous setup this was always in the tftp files, so would never have to be filled in.

After running the bootimage a config file like this is created for the client:

Code: Alles auswählen

[info]
created = 2017-08-03 15:56:22
description =
hardwareaddress = 0c:c4:7a:e2:e7:33
inventorynumber =
ipaddress = 10.23.28.71
lastseen = 2017-08-03 15:56:24
notes = Automatically created by linux bootimage

[netboot_product_states]
win7-x64 = unknown:none

[win7-x64-state]
actionprogress =
actionresult = failed
modificationtime = 2017-08-03 15:56:43
producttype = NetbootProduct
 


The entire [generalconfig] part seems to be missing!

Code: Alles auswählen

[6] [Aug 03 15:15:44] Client 'test-uefi3.asdf.local' does not exist, creating... (master.py|1032)
*snip*
[5] [Aug 03 15:15:46] Fetching config states... (master.py|1243)
[7] [Aug 03 15:15:46] Executing jsonrpc method 'backend_setOptions' on host u'opsi-config.asdf.nl' (JSONRPC.py|115)


So I've looked in master.py from the bootimage. It says backend.backend_setOptions( { 'addConfigStateDefaults': True } ), so I've gone looking for that addConfigStateDefaults in /var/log/opsi/opsiconfd/test-uefi3.asdf.local.log

Code: Alles auswählen

[8] [Aug 03 15:27:33] newKwargs: {'options': {u'addConfigStateDefaults': True}} (BackendManager.py|949)
[6] [Aug 03 15:27:33] Got result (JsonRpc.py|142)
[8] [Aug 03 15:27:33] RPC ID 8: None (JsonRpc.py|143)
[7] [Aug 03 15:27:33] Sending deflated data (backwards compatible - with content-encoding 'deflate') (Worker.py|638)
[7] [Aug 03 15:27:33] <opsiconfd.workers.WorkerOpsiconfdJsonRpc instance at 0x7fc0888ddcf8>._setCookie (Worker.py|435)
[7] [Aug 03 15:27:33] Freeing session <OpsiconfdSession(<opsiconfd.session.OpsiconfdSessionHandler object at 0x213f090>, name=u'OPSISID', sessionMaxInactiveInterval=120> (Worker.py|319)
[8] [Aug 03 15:27:33] ResourceOpsiconfdJsonRpc.renderHTTP() (Resource.py|66)
[7] [Aug 03 15:27:33] Now using log-file '/var/log/opsi/opsiconfd/10.23.28.71.log' for object 0x7fc088505a70 (Logger.py|453)


Is that RPC ID 8 thing something?
Bitte schreiben Sie Deutsch, when I'm responding in the German-speaking part of the forum!

Benutzeravatar
n.wenselowski
uib-Team
Beiträge: 3148
Registriert: 04 Apr 2013, 12:15

Re: Error: retrieveJSONObject --- opsi service problem

Beitragvon n.wenselowski » 11 Aug 2017, 14:41

Hi,

the RPC IDs are a feature of JSON-RPC that allows for mapping what request is the source for what response by using that ID field.

So the error is neither limited to specific hardware and neither to one method.

You mentioned in an earlier post that everything runs well when editing your dispatch.conf. How does it look like?


Kind regards

Niko
opsi development - uib gmbh
For productive opsi installations we recommend support contracts.

Benutzeravatar
SisterOfMercy
Beiträge: 997
Registriert: 22 Jun 2012, 19:18

Re: Error: retrieveJSONObject --- opsi service problem

Beitragvon SisterOfMercy » 14 Aug 2017, 16:47

n.wenselowski hat geschrieben:the RPC IDs are a feature of JSON-RPC that allows for mapping what request is the source for what response by using that ID field.
So the error is neither limited to specific hardware and neither to one method.


Would I be able to use wireshark to find out what exactly is being said to and from the server?

Are there any mandatory netboot products?
I only have hwinvent, memtest86 and win7-x64 installed.
opsi-product-updater is used from a different server (test/staging/dev) and pushed to the main config server if needed.

n.wenselowski hat geschrieben:You mentioned in an earlier post that everything runs well when editing your dispatch.conf. How does it look like?


Well, I found out I can fix clients with this dispatch.conf, but new clients are still affected.

Code: Alles auswählen

backend_.*         : file, opsipxeconfd
host_.*            : file, opsipxeconfd
productOnClient_.* : file, opsipxeconfd
configState_.*     : file, opsipxeconfd
.*                 : file
Bitte schreiben Sie Deutsch, when I'm responding in the German-speaking part of the forum!

Benutzeravatar
n.wenselowski
uib-Team
Beiträge: 3148
Registriert: 04 Apr 2013, 12:15

Re: Error: retrieveJSONObject --- opsi service problem

Beitragvon n.wenselowski » 17 Aug 2017, 13:29

Hi SisterOfMercy,

SisterOfMercy hat geschrieben:
n.wenselowski hat geschrieben:the RPC IDs are a feature of JSON-RPC that allows for mapping what request is the source for what response by using that ID field.
So the error is neither limited to specific hardware and neither to one method.


Would I be able to use wireshark to find out what exactly is being said to and from the server?

Maybe but we use HTTPS and this could cause some headache. But the new experimental winst has some new debug options that may come in handy with your case.
Could you get the winst from here and set opsi-script.global.debug_prog for one client to True?
More Info on opsi-script.global.debug_prog is inside the releasenotes.

SisterOfMercy hat geschrieben:Are there any mandatory netboot products?
I only have hwinvent, memtest86 and win7-x64 installed.
opsi-product-updater is used from a different server (test/staging/dev) and pushed to the main config server if needed.

There are no mandatory netboot products - you can decide to not use OS deployment at all and it still is fine.

SisterOfMercy hat geschrieben:
n.wenselowski hat geschrieben:You mentioned in an earlier post that everything runs well when editing your dispatch.conf. How does it look like?


Well, I found out I can fix clients with this dispatch.conf, but new clients are still affected.

Code: Alles auswählen

backend_.*         : file, opsipxeconfd
host_.*            : file, opsipxeconfd
productOnClient_.* : file, opsipxeconfd
configState_.*     : file, opsipxeconfd
.*                 : file

You use mysql for audit or for other things aswell?
With enabled mysql backend can you run opsi-setup --init-current-config and opsi-setup --update-mysql again, please?
Also: if a client connects to the server, do you see any error messages in the server logs if you have mysql enabled?


Kind regards

Niko
opsi development - uib gmbh
For productive opsi installations we recommend support contracts.