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
Thanks Florian for your answer!

We will proceed with the ugprade and write back should any of the problem occur.
 
Register or login to create to post a reply.