Hi all,
First off, thank you to everyone in the ecosystem, the amount we’ve been able to get done on our product line using TANGO and other various GPL codes in such a short amount of time is incredible and has garnered some interest from the ion implant industry, so that’s kinda neat!
My question follows: I have been playing with HDBPP for archiving and historian purposes. What’s kind of weird is that some attributes have archived from time to time but won’t archive consistently. I hadn’t really paid a lot of attention to this for a while as I was working on other things, but now that we’ve gotten most of our automation handling done, it’s time to dig in.
I’ve made a sample set of hdbpp attributes calling three separate homegrown device servers. Here is the setup:
I’m running Tango 9.2.5a installed via debian package libtango9 on a lubuntu machine. HDBPPES is also running on this same host. IP addr of this host is 192.168.0.100, host name rarerf-pc. Into the hosts file I’ve placed rarerf-pc and mapped to 192.168.0.100 since I don’t have a full blown DNS server, just the usual crappy one through a consumer switch/router. When I run DatabaseDS.DbGetCsDbServerList, it correctly spits out rarerf-pc:10000. My TANGO_HOSTS environment var is also set to rarerf-pc:10000.
Two pytango device servers, MKSRGA class at rarerf-pc:10000/rareRF/Control/ChamberRGA and LabJackGasCab class at rarerf-pc:10000/rareRF/Control/GasCab, are running on the same machine as the tango host. I have one other pytango device server, ThunderOpticsOES class at rarerf-pc:10000/rareRF/Archiving/OES, which is running on Windows on a 9.2.4 tango on a separate machine. This VM has its TANGO_HOST set to 192.168.0.100:10000, as I haven’t had a chance to add the host mapping to the hosts file.
All device servers work in the sense that they are able to be viewed, queried, and interacted with via Jive, ATKViewer, and itango.
I’ve configured HDBPP to look at various attributes on these device servers. Basically, anything that is running locally on the same host as the tango host throws a periodic event timeout error:
(note: ignore the interpolation error, I’m using an interpolation library as a super duper hacky way to handle a ion gauge with a super funky curve when it’s off; basically when gauge is off, reported voltage is off the scale, so it errors out the attribute, so I know it’s off. There are a thousand better ways to handle this and it needs to get refactored but it works for now.)
This seems somewhat similar to the thing that was happening to me back when I was having issues with ATK update rate in the sense that events were not being received. This was fixed by me making sure that tango host was set correctly until I have a chance to compile 9.3.3 and get JTango as well. This would also kind of sort of make sense insofar that the only device server that is working is running remotely, so any issue with device filtering should be taken care of via DNS at the consumer router, or the device server is sending everything via ip address versus FQDN name.
I’m at a bit of a loss here: I can see if the device servers work when run on a separate machine to validate my assumption that this is due to running device servers on the same host as the tango host, but even if that works, I’m not sure what the solution here is short of trying to upgrade to 9.3.3 and upgrade Jtango.
Any help would be appreciated!
Cheers,
Mark