Configuring ts_salobj¶
Environment Variables¶
ts_salobj uses the following environment variables to configure OpenSplice:
Used by Domain
(indirectly):
ADLINK_LICENSE
points to directory containing your Vortex OpenSplice license. Required if using the licensed version of Vortex OpenSplice; ignored otherwise. Example value:/opt/ADLINK/Vortex_v2/Device/VortexOpenSplice/6.10.3/HDE/x86_64.linux/etc
LSST_DDS_DOMAIN_ID
(optional) is used to set the DDS domain: an integer. See ts_ddsconfig environment variables for details.OSPL_HOME
(required) directory of the Vortex OpenSplice software. This directory should contain subdirectoriesbin
,include
,lib
, etc. Example:/opt/OpenSpliceDDS/V6.9.0/HDE/x86_64.linux
.OSPL_MASTER_PRIORITY
(optional) is used to set the Master Priority in ts_sal 4.2 and later. Described in ts_ddsconfig environment variables. Temporarily set to 0 byBaseScript
while constructing itsDomain
to prevent SAL scripts from becoming master. Constantlsst.ts.salobj.MASTER_PRIORITY_ENV_VAR
is available to make this easier to set from Python.OSPL_URI
(required) points to the main DDS configuration file. Our configuration files are in ts_ddsconfig.
Used by SalInfo
:
LSST_DDS_PARTITION_PREFIX
(required): a prefix for DDS partition names. This is read bySalInfo
so that different instances ofSalInfo
(thus differentRemote
s andController
s) can communicate with different DDS partitions, even though all share the sameDomain
. SeeSalInfo
for DDS partition name details.LSST_DDS_DOMAIN
(deprecated): a deprecated alias forLSST_DDS_PARTITION_PREFIX
that is used ifLSST_DDS_PARTITION_PREFIX
is not defined.LSST_DDS_HISTORYSYNC
(optional): time limit (sec) for waiting for historical (late-joiner) data. If, and only if, you are running DDS without a durability service then set this negative to avoid waiting for historical data. (This variable is not described in the ts_ddsconfig user guide because it is not used to configure OpenSplice.)
Used by AsyncS3Bucket
:
S3_ENDPOINT_URL
: The endpoint URL for the S3 server, e.g.http://foo.bar:9000
. You must specify a value in order to use an S3 service that is not part of Amazon Web Services (AWS). Eventually we hope thatendpoint_url
can be defined in~/.aws/config
. Once that is supported you can leave this environment variable unset, and we can deprecate it.
There are many more environment variables that configure OpenSplice; see ts_ddsconfig environment variables for details.
Other Configuration¶
In addition to the environment variables described above, you will need the following Python packages:
ts_ddsconfig for OpenSplice DDS configuration.
ts_idl for the IDL files that define SAL topic schemas, and associated enum modules.
ts_sal to build IDL files and to run ts_salobj unit tests.
DDS topic schemas are defined by OMG IDL
files, which are contained in the idl
directory of the ts_idl package.
You may generate new IDL files using the make_idl_files.py
command-line script in the ts_sal package.