Error when trying to queue tree updates without connection requests

HI!

I’ve been a long time user of Genie ACS but had a 1.1.1 system running for quite a while. I decided to test a new install of 1.2.1 and Im having a ton of issues with devices that are inside the end user network (that is, devices behind NAT with no STUN or XMPP option). In the past, the system would wait for periodic informs to issue the rest of the updates/requests to the device tree.

But on my new install (using the dockerized version, pulling tag 1.2.1 from github and building from scratch) Every time I try to enqueue a poll of part of the Device tree, as soon as I hit submit, I get an error 405 on the gui. IF I try the same call through the API using curl, I dont get the error, but I dont see the device tree necesarily updating.

Using chrome inspector, I see that the GUI is not using the “?connectionRequest” parameter in the POST to /tasks so I don’t see why it would fail immediately. I dont see anything significant in the logs, but im not running in debug (would appreciate suggestions on how to enable debug btw!)

thanks in advance!
diego

Also, if I try to use the “RefreshObject” task with ObjectName set to “”, (as its shown in the API guide) -here http://docs.genieacs.com/en/latest/api-reference.html#id1 - I get an error saying “Missing Object Name”

Is the api changed in 1.2 not allowing empty refreshObject?

im guessing the UI is adding the ?connection_request parameter when posting to tasks to the nbi interface? is there any way around it? all my devices are behind nat and, for the time being, I rely basically on the periodic inform to send updates to them.

Thanks in advance!

No, that’s a bug. Just committed a fix. Publishing a new release hopefully later today.

I’m afraid not without modifying the code. The new UI doesn’t keep the tasks in the database. If they cannot be executed immediately they’re deleted. This is to avoid tasks piling up in the database. For this use case I’d argue it’s better use to presets anyway.

Thanks Zaid

Thats good to know but quite a pity. I understand the rationale but I would need to figure out how to do this using presets. My main use case is to update the user’s wifi network name / password. Not sure if presets would be applicable here.

BTW… I havent looked since forever, but I guess there is no support for XMPP-based connection request triggers, isnt there? (As the STUN method was never very reliable and its been deprecated)

Best regards!

Thanks for the update!

Should be trivial to patch GenieACS to have it keep the tasks in DB if the connection request fails.

If you just want to change some basic parameters on ad-hoc basis then perhaps presets may not necessarily be the best way to go.

No, not yet unfortunately.