Refinitiv Real-Time Distribution System Configuration for NI Providers
Last update Dec 2020

Non-Interactive Providers are applications that connect to a Refinitiv Real-Time Distribution System (RTDS) in order to publish data. Before such an application can actually connect to the platform, it must be declared in the RTDS configuration files. This tutorial explains how to do it.

It is very likely that the RTDS you will use is maintained by a market data administration team. This team must be solicited to execute the configuration steps described in this tutorial. Even if you have an RTDS test environment at your disposal, it is strongly recommended that you ask a qualified administrator to perform this configuration. 

Note: The following configuration steps only apply to existing RTDS installations. Installing and setting up a new RTDS environment is beyond the scope of this tutorial.

The configuration commands

Below is the series of commands you must execute to declare a new Non-Interactive Provider and its related service on your RTDS. These commands must be executed from your RTDS installation folder using the RTDS administration account :

    	
            

tsetup adh<version>

tconfig -a rmds_rssl_source

tconfig -a publisher_service -s <service name>

tconfig publisher_server -n <node name> -i "" -s <service name>

tcommit

Note: The last command (tcommit) will generate a rmds.cnf file that must copied over to your actual RTDS global config file.

Commands description:

    	
            tsetup adh<version>
        
        
    

This command starts the configuration phase.
In this command, <version> must be replaced by your actual Advanced Data Hub (ADH) version (e.g. adh3.0.6.L1.linux.tis.rrg). 

    	
            tconfig -a rmds_rssl_source
        
        
    

This command configures the connection type of the new provider.

    	
            tconfig -a publisher_service -s <service name>
        
        
    

This command defines the service name used by the new provider. 
In this command, <service name> must be replaced by the name of the new RTDS service you want to declare (e.g. NI_PUB). 

    	
            tconfig publisher_server -n <node name> -i "" -s <service name>
        
        
    

This command attaches the newly created provider to the RTDS node.
In this command, <service name> must be replaced by the name of the new RTDS service you want to declare (e.g. NI_PUB). 

    	
            tcommit
        
        
    

This command generates the RTDS configuration file (rmds.cnf).

A configuration example

As an example, here are the configuration steps you should execute to declare a Non Interactive Publisher for a service named NI_PUB on a RTDS version 3.0.6.L1.linux.tis.rrg installed on a machine named rtds01

  1. Log on your rtds01 as a RTDS administrator.
  2. Go to the /opt/refinitiv/SOFTWARE folder.
  3. Execute the following command to start the configuration phase:
    	
            radmin@rtds01$ tsetup adh3.0.6.L1.linux.tis.rrg
        
        
    

Expected output:

    	
            

radmin@rtds01 /opt/refinitiv/SOFTWARE $ tsetup adh3.0.6.L1.linux.tis.rrg

Please make sure that your PATH variable includes the TIE directory.

Setting the system for:

             Package: adh3.0.6.L1.linux.tis.rrg

                Site: local

 

Setting variable CONFIG_DIR to:

        '/opt/refinitiv/SOFTWARE/config/local'

Package directory is set to:

        /opt/refinitiv/SOFTWARE/adh3.0.6.L1.linux.tis.rrg/config

Writing exported env. variables to /tmp/tsetup.tmp

We have an existing (golden) copy of file:

        /opt/refinitiv/SOFTWARE/config/local/rmds.cnf

Products that can be configured with this package are:

        adh adh_rrcp adh_rv adh_sourceitem_threads

        aggregated_publisher_server aggregation aggregation_interval bgd_adh bgd_adh_rrcp

        bgd_adh_rv bgd_backup_server bgd_gateway_server

        bgd_page_service bgd_record_service bgd_rssl_route bgd_ssl_route

        dacs_multiconnect delay_service fd_multilevel_service fd_service filter

        multilevel_aggregation_server multilevel_aggregation_service multiple_qos

        multiple_qos_server multiple_qos_service pcg pcg_ft pcg_nip_to_sass

        pcg_nip_to_sass_thread pcg_sass pcg_sass_to_nip_rrcp pcg_sass_to_nip_tcp

        pcg_sass_to_nip_thread pcg_service publisher_server publisher_service

        rmds_adh_rrcp rmds_adh_rv rmds_rssl_source rrcpd rssl_route rv

        server_ats_adh server_ats server_edge server_idn_rdf server_rdfd

        service_aggregation service_ats_adh service_ats service_edge

        service_idn_rdf service_rdfd source_aggregation ssldacs ssl_route

 

tsetup complete

4.   Execute the following command to configure the connection type of the new provider:

    	
            radmin@rtds01 $ tconfig -a rmds_rssl_source
        
        
    

Expected output:

    	
            

-------------------------------------------------------

COMMANDS: Abort Refresh  Exit Help

 

Enter <CR> for default or <key letter><CR> for command.

\new value, or just a new value.

-------------------------------------------------------

 

Config. Mode:Advanced    Product: rmds_rssl_source

File: rmds_rssl_source.cpd (Line: 18)

 

Parameter: ENABLE RSSL SERVER (enableRsslServer)

Type: String    Restriction: True, False

 

          (default) Product default: True

 

Enter value:

.

.

.

 

 Statistical report:

        Inserted 1 items to the config file directly from the cpd file.

        Found 11 entries in the config file that matched with cpd file(s)

                and must be edited.

 

Saving the new configuration file(binary), in: t_b.cfg

5.   Execute the following command to define the NI_PUB service :

    	
            radmin@rtds01 $ tconfig -a publisher_service -s NI_PUB
        
        
    

Expected output:

    	
            

-------------------------------------------------------

COMMANDS: Abort Refresh  Exit Back Help

 

Enter <CR> for default or <key letter><CR> for command.

\new value, or just a new value.

-------------------------------------------------------

 

Config. Mode:Advanced    Product: publisher_service

Service/Server: 'NI_PUB'

File: publisher_service.cpd (Line: 1798)

 

Parameter: AUTOEXPIRY MAX LIST SIZE (autoExpiryMaxListSize)

Type: Numeric   Restriction: None

 

          (default) Product default: 0

 

Enter value:

.

.

.

 Statistical report:

        Inserted 2 items to the config file directly from the cpd file.

        Found 78 entries in the config file that matched with cpd file(s)

                and must be edited.

 

Saving the new configuration file(binary), in: t_b.cfg

6.   Execute the following command to attach the newly created provider to the RTDS node:

    	
            radmin@rtds01 $ tconfig publisher_server -n rtds01 -i "" -s NI_PUB
        
        
    

Expected output:

    	
            

Parsing binary configuration  file: t_b.cfg

We are about to add the name 'rtds01' to the file: hostNames

 Is this okay? (yes, no)[y]

Adding 'rtds01' to the file: hostNames

Parsing component cpd files for the product: publisher_server

 ... Parsing component file: publisher_server.cpd

                successfully parsed 9 command lines

Done with parsing component cpd files for the product: publisher_server

 

        For Linux, there is no separate window for displaying

the steps of editing.

-------------------------------------------------------

COMMANDS: Abort Refresh  Exit Help

 

Enter <CR> for default or <key letter><CR> for command.

\new value, or just a new value.

-------------------------------------------------------

 

Config. Mode:Basic       Product: publisher_server

Node: 'rtds01'

Instance: ''

Service/Server: 'NI_PUB'

File: publisher_server.cpd (Line: 172)

 

Parameter: MAX CACHE (maxCache)

Type: Numeric   Restriction: None

 

          (default) Product default: 500000

 

Enter value:

 Statistical report:

        Inserted 8 items to the config file directly from the cpd file.

        Found 1 entries in the config file that matched with cpd file(s)

                and must be edited.

 

Saving the new configuration file(binary), in: t_b.cfg

7.   Execute the following command to generate the RTDS configuration file (rmds.cnf):

    	
            radmin@rtds01 $ tcommit
        
        
    

Expected output:

    	
            

File: /opt/refinitiv/SOFTWARE/config/local/rmds.cnf is archived as:

        /opt/refinitiv/SOFTWARE/config/local/archive/rmds.cnf.9_9_116_11_53

Assign numbers to automatic variables...

        Using default value: 33001 for rrcp node Ids.

        Using default value: 257 for automatic Ids.

Preparing the new copy of: /opt/refinitiv/SOFTWARE/config/local/rmds.cnf

Removing all files from: /opt/refinitiv/SOFTWARE/config/local/wd

to the directory: /opt/refinitiv/SOFTWARE/config/local/archive/wd

8.  Copy the new rmds.cnf file to the RTDS global config 

    	
            radmin@rtds01 $ cp /opt/refinitiv/SOFTWARE/config/local/rmds.cnf /opt/refinitiv/SOFTWARE/globalconfig/
        
        
    

9.   Restart the ADH to load the new configuration file

Note: This restart will create a service interruption for the other users and applications connected to your system.