Tango Domain

Dear Dancers,

As per my current understanding a Tango Domain comprises of -

1. The Tango Database
2. The database server running on the host and listening on the port defined in the TANGO_HOST environment variable
3. The Tango device servers which can run on many different hosts (machines)
4. The TANGO devices, which are exported by the TANGO device servers

I have some queries.

1. I want the Tango Database and the database server (of a single domain) on different machines. But the database server always searches for the mysql service/daemon on the localhost. Is it possible to change it ?

2. Apart from scalability and standalone functioning, which factors should be taken into account to determine if a device should be registered in a separate domain ?

3. I'm aware that devices belonging to one Tango domain (say Domain A) can communicate with devices from another TANGO Domain (say Domain B), using the FQDN (Fully Qualified Device Name). I want to know if it is possible to register a device of Domain A in the database of another Domain B, in order to avoid using FQDN. If yes how it can be achieved ?

Looking forward to tweak the already learned moves. smile

Regards,
Vatsal Trivedi
Hi Vatsal,

1. I want the Tango Database and the database server (of a single domain) on different machines. But the database server always searches for the mysql service/daemon on the localhost. Is it possible to change it ?
Yes it is. Have a look in the documentation on the environment varaible MYSQL_HOST in Appendix A.12.3

2. Apart from scalability and standalone functioning, which factors should be taken into account to determine if a device should be registered in a separate domain ?
I give you the example of how we are structured here at the ESRF. We have one control system (what you call domain) for the accelerators plus one control system per beam line. As you see, the split between control system is done according to the main function of what has to be controlled.

3. I'm aware that devices belonging to one Tango domain (say Domain A) can communicate with devices from another TANGO Domain (say Domain B), using the FQDN (Fully Qualified Device Name). I want to know if it is possible to register a device of Domain A in the database of another Domain B, in order to avoid using FQDN. If yes how it can be achieved ?
Nothing prevent you to define a device in several control systems because the device unicity is checked on a per control system basis. Nevertheless, the whole system won't work. When you start a DS, it exports its devices into the database specified by the TANGO_HOST environment variable used to start the DS. Exporting a device means storing into the database the network parameters allowing a client to connect to the device. This means that a client will be able to connect to a device only if it knows in which database (control system) the device has been exported. This is achived if the client is started using the same TANGO_HOST environment variable than the DS or if it knows the FQDN in order to be able to get device network parameters from the database used by the DS to which the device belongs.

Hoping I am clear enough!

Regards

Emmanuel

Dear Emmanuel,

Thanks for resolving the queries.

Regards,
Vatsal Trivedi
 
Register or login to create to post a reply.