Configuring ts_salobj¶
Environment Variables¶
ADLink OpenSplice is configured using environment variables described in ts_ddsconfig environment variables.
ts_salobj reads (or, in the case of OSPL_MASTER_PRIORITY
writes) the following environment variables:
Used by Domain
(indirectly):
OSPL_MASTER_PRIORITY
(optional) sets the priority for which durability service is the master. Described in ts_ddsconfig environment variables. Temporarily set to 0 byBaseScript
while constructing itsDomain
to prevent SAL scripts from becoming master (though this only affects unit tests; in production SAL scripts use a shared memory daemon for their durability service). Constantlsst.ts.salobj.MASTER_PRIORITY_ENV_VAR
is available to make this easier to set from Python.
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
. See ts_ddsconfig environment variables for details.LSST_DDS_ENABLE_AUTHLIST
(optional): if set to “1”enable authlist-based command authorization. If “0” or undefined, do not enable authorization.
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.
Used by ConfigurableCsc
:
LSST_SITE
(required): the site, e.g. “summit”, “base”, or “tucson”. Used to select the site-specific configuration file, if it exists, to supplement_init.yaml
. For example if LSST_SITE=”summit” then the default CSC configuration (configurationOverride=””) is given by reading_init.yaml
followed by_summit.yaml
(if it exists).
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.
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.