Configuring the Script
The vis-receive script can be configured through the following Processing Block parameters, all of which can be omitted:
Name |
Description |
Default |
---|---|---|
|
The first port each receiver will open to listen for data. |
|
|
Number of frequency channels that will be sent to each port. |
|
|
Number of processes to start per node, useful if CPU usage becomes a problem. |
|
|
Maximum number of ports to assign to a node before allocating a new one. |
|
|
Number of nodes to allocate. |
|
|
The transport protocol the receiver should use ( |
|
|
List of processors to start together with the receiver itself. |
|
|
Extra per-pod settings. |
|
|
Configuration passed to Queue Connectors. See SKA LMC Queue Connector Tango Device. |
|
|
When set override the |
|
|
Extra Helm values for the vis-receive Helm Chart. Use with care. |
|
* max_ports_per_node
and num_nodes
are mutually exclusive. If both are missing then num_nodes
is defaulted to 1
.
* use_network_definition
Note: when True
this will override extraMetadata
in pod_settings
.
An example set of parameters can be found here.
Processors
The processors
parameter is a dictionary with processor specifications.
The keys in the dictionary are a simple name of the processor,
while the value is a dictionary
with a container-like specification
as understood by the vis-receive Helm Chart.
This script comes with built-in processor definitions, which are defined as files under the [processors subdirectory](processors/):
mswriter
: takes incoming visibility data and writes it into a Measurement Set.rcal
: performs gain calibration on incoming visibility data.signal-display-metrics-all
: takes incoming visibility data and calculates all available Signal Display metrics, which are then published to the SDP data queues.signal-display-metrics-basic
: takes incoming visibility data and calculates basic and fast Signal Display metrics, which are then published to the SDP data queues.signal-display-metrics-amplitude
: takes incoming visibility data and calculates Amplitude vs Frequency Signal Display metrics, which are then published to the SDP data queues.signal-display-metrics-phase
: takes incoming visibility data and calculates Phase vs Frequency Signal Display metrics, which are then published to the SDP data queues.
If a key in the processors
dictionary
refers to one of the built-in processor definitions,
then the corresponding value is used
to override the built-in definition;
otherwise the value must fully define a processor.
Previously the processors
parameter was a list
where elements were either the (string) name of a built-in processor,
or a dictionary with a full processor description.
For backwards compatibility this is still supported, but deprecated.
Simple names are translated to name: {}
entries,
while full processor descriptions are translated
to description["name"]: description
entries.
Examples:
Only use built-in
mswriter
processor, with its default settings:mswriter: {}
Use the built-in
mswriter
processor, with its default settings, plus a processor calledmy-signal-display-metrics
, which is described in full:mswriter: {} my-signal-display-metrics: name: my-signal-display-metrics image: artefact.skao.int/ska-sdp-qa-metric-generator version: 0.20.0 command: - plasma-processor - ska_sdp_qa_metric_generator.plasma_to_metrics.SignalDisplayMetrics - --readiness-file - /tmp/processor_ready - --use-sdp-metadata - False - --metrics - all readinessProbe: - initialDelaySeconds: 5 periodSeconds: 5 exec: command: - cat - /tmp/processor_ready
Use a different version of the built-in
mswriter
andrcal
processors:mswriter: version: 1.2.3 rcal: version: 2.3.4
Old style
processors
parameter (deprecated):- mswriter - name: my-processor image: my-image
translates to
mswriter: {} my-processor: name: my-processor image: my-image
Pod settings
The pod_settings
parameter is a list of per-pod settings.
This is currently needed to perform certain actions that cannot be yet automated,
like pinning pods to specific nodes, or configuring access to the host’s network interfaces.
Each element in this list, if given, contains the following parameters (all are optional):
Name |
Description |
Default |
---|---|---|
|
Name of the NetworkAttachmentDefinition used to setup the pod’ networking. |
|
|
The namespace where the NetworkAttachmentDefinition is defined. |
|
|
The PCI ID of the network interface in the host machine (used with Multus). |
|
|
The IP to assign to the network interface. |
|
|
Dictionary used to select which node should run the pod. |
|