Tango 7/8 & Tango 9 mixed environment

Dear Tango experts!

At Alba we plan to upgrade our beamlines to Tango 9. Currently, in two of them, we use Tango 8 and in the rest Tango 7 (at the end of the message you can find the exact stack).

Our plan is to do it gradually, following this order:

(below Tango7/8 means that in the case of some beamlines this will be Tango 7 and in the case of other beamlines Tango 8, but never a mix of both)

1. Migrate the Tango DB to Tango 9 and run it with Tango 9 maintaining all servers and clients with Tango 7/8.
2. Run Sardana server and Sardana clients (Taurus GUIs) with Tango 9 maintaining the rest of the servers and clients with Tango 7/8
3. Gradually migrate the rest of the control system (Vacuum, Alarms, DAQ, Detectors… ) servers and clients to Tango 9.

The above plan assumes running a mix of Tango versions. To our opinion the critical points are:

  • In point 1 we run Tango 7/8 servers and clients against the Tango 9 database
  • In point 2 we have:
    • Tango 9 Sardana server which creates DeviceProxies to Tango 7/8 devices and may read/write/subscribe attributes. The same server will create proxies to Tango 9 devices as well.
    • Tango 9 Sardana clients (Taurus GUIs) which creates DeviceProxies to Tango 7/8 devices and may read/write/subscribe attributes. The same clients will create proxies to Tango 9 devices as well.


In principle this should work cause Tango 9 is backwards compatible but, just in case, we would like to ask if you have some advices, or maybe you run such a hybrid systems? What is your experience about it? If yes please report the exact stack. Our stack is:

Tango 7:
* libtango 7.2.6 (with the official patches applied)
* liblog4tango.so 4.0.3
* libCOS4 1.5
* libCOSDynamic4 1.5
* libomniCodeSets4 1.5
* libomniConnectionMgmt4 1.5
* libomniDynamic4 1.5
* libomniORB4 1.5
* libomniThread 3.4
* libCOSNotify4.so 0
* libAttNotification4.so 0
* notifd 2.1
* PyTango 7.2.3
* Jive 4.19
* Astor 5.4.1

Tango 8:
* libtango 8.1.2 (with the official patches applied)
* liblog4tango.so 5.0.0
* libCOS4 1.6
* libCOSDynamic4 1.6
* libomniCodeSets4 1.6
* libomniConnectionMgmt4 1.6
* libomniDynamic4 1.6
* libomniORB4 1.6
* libomniThread 3.4
* libzmq 3.0.0
* PyTango 8.1.4
* Jive 4.31
* Astor 6.4.6

Tango 9:
* libtango 9.2.5 (with patches for tangoCpp #354, #415, #444)
* liblog4tango.so 5.0.1
* libCOS4 1.6
* libCOSDynamic4 1.6
* libomniCodeSets4 1.6
* libomniConnectionMgmt4 1.6
* libomniDynamic4 1.6
* libomniORB4 1.6
* libomnisslTP4.so 1.6
* libomniThread 3.4
* libzmq 5.1.1
* PyTango 9.2.0
* Jive 7.10
* Astor 7.0.9

Thanks in advance for sharing your opinion!
Hello,

At Thales, we are currently upgrading our devices from Tango 8 to Tango 9. From our experience, we did not met some compatibility problems mixing Tango 8 and Tango 9 (meaning we execute some Tango 9 devices with Tango 8 database and the contrary). We also did not noticed problem on Jive and Astor with the two versions.

The difficulties we often met is that Tango 9 uses 64 bits executables while Tango 8 uses 32 bits one. The upgrading can sometimes be touchy (for the link / external libraries for instance).


Hope it helps.

regards,

Florian Pourchayre
Thales Group
 
Register or login to create to post a reply.