Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • lofar2.0/tango
  • mckenna/tango
2 results
Show changes
Commits on Source (47)
Showing
with 2717 additions and 1041 deletions
variables:
STATION: "LOFAR station to deploy on"
stages:
- deploy
deploy_nomad:
stage: deploy
image:
name: hashicorp/levant
entrypoint: [ "" ]
parallel:
matrix:
- COMPONENT:
- mesh-gateway
- monitoring
- logging
- tango
- object-storage
- sdptr
- device-server
- dsconfig
- ec-sim
- jupyter
- snmp-exporter
- landing-page
- rpc-server
environment:
name: $STATION
script:
- |
if [ "${STATION}" == "dts-lab" ]; then
# dts-lab test station
HOSTNAME="dts-lab.lofar.net"
EXTRA_VARFILES="-var-file=infra/env/cs.yaml"
elif [ "${STATION::2}" == "rs" ]; then
# remote station
HOSTNAME="${STATION}c.control.lofar"
EXTRA_VARFILES="-var-file=infra/env/rs.yaml"
else
# core station
HOSTNAME="${STATION}c.control.lofar"
EXTRA_VARFILES="-var-file=infra/env/cs.yaml"
fi
# To deploy manually, get the env.yaml and the .levant.nomad file,
# and run docker run --rm -i --net=host -v /path/to/env.yaml:/env.yaml:ro hashicorp/levant deploy --var-file=/env.yaml /dev/stdin < /path/to/file.levant.nomad
levant deploy \
-address="http://${HOSTNAME}:4646" \
-var-file=infra/env/common.yaml ${EXTRA_VARFILES} \
-var image_tag="${CI_COMMIT_REF_SLUG}" \
-var station="${STATION}" \
-ignore-no-changes \
infra/jobs/station/${COMPONENT}.levant.nomad
workflow:
name: 'deploy on $STATION'
rules:
- when: always
......@@ -208,9 +208,11 @@ CDB_correctness:
for hierarchy in Power Control
do
# test environments
python $CI_PROJECT_DIR/tangostationcontrol/tangostationcontrol/toolkit/analyse_dsconfig_hierarchies.py -H ${hierarchy} -a -t common.json l0.json l1.json lba.json h0.json hba_core.json cs001.json testenv_cs001.json
python $CI_PROJECT_DIR/tangostationcontrol/tangostationcontrol/toolkit/analyse_dsconfig_hierarchies.py -H ${hierarchy} -a -t common.json l0.json l1.json lba.json h0.json hba_core.json cs.json cs001.json testenv_cs001.json
# production environments
python $CI_PROJECT_DIR/tangostationcontrol/tangostationcontrol/toolkit/analyse_dsconfig_hierarchies.py -H ${hierarchy} -a -t common.json l0.json l1.json lba.json h0.json hba_core.json cs001.json
python $CI_PROJECT_DIR/tangostationcontrol/tangostationcontrol/toolkit/analyse_dsconfig_hierarchies.py -H ${hierarchy} -a -t common.json l0.json l1.json lba.json h0.json hba_core.json cs.json cs001.json
python $CI_PROJECT_DIR/tangostationcontrol/tangostationcontrol/toolkit/analyse_dsconfig_hierarchies.py -H ${hierarchy} -a -t common.json l0.json l1.json lba.json h0.json hba_core.json cs.json cs032.json
python $CI_PROJECT_DIR/tangostationcontrol/tangostationcontrol/toolkit/analyse_dsconfig_hierarchies.py -H ${hierarchy} -a -t common.json l0.json l1.json lba.json h0.json hba_remote.json rs.json rs307.json
python $CI_PROJECT_DIR/tangostationcontrol/tangostationcontrol/toolkit/analyse_dsconfig_hierarchies.py -H ${hierarchy} -a -t common.json l0.json l1.json lba.json h0.json hba_core.json DTS.json
done
......@@ -363,50 +365,24 @@ release_job:
tag_name: '$CI_COMMIT_TAG'
description: '$CI_COMMIT_TAG - $CI_COMMIT_TAG_MESSAGE'
deploy_nomad:
deploy:
stage: deploy
image:
name: hashicorp/levant
entrypoint: [ "" ]
rules:
- if: ($CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH) || $CI_COMMIT_TAG
when: manual
needs:
- docker_build_image
- docker_build_image_device_base
when: manual
rules:
- if: ($CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH) || $CI_COMMIT_TAG
variables:
PARENT_PIPELINE_ID: $CI_PIPELINE_ID
trigger:
include: .deploy.gitlab-ci.yml
forward:
pipeline_variables: true
parallel:
matrix:
- STATION:
- cs001
- cs032
- rs307
- dts-lab
COMPONENT:
- mesh-gateway
- monitoring
- logging
- tango
- object-storage
- sdptr
- device-server
- dsconfig
- ec-sim
- jupyter
- snmp-exporter
- landing-page
- rpc-server
environment:
name: $STATION
script:
- |
if [ "${STATION}" == "dts-lab" ]; then
HOSTNAME="dts-lab.lofar.net"
else
HOSTNAME="${STATION}c.control.lofar"
fi
# To deploy manually, get the env.yaml and the .levant.nomad file,
# and run docker run --rm -i --net=host -v /path/to/env.yaml:/env.yaml:ro hashicorp/levant deploy --var-file=/env.yaml /dev/stdin < /path/to/file.levant.nomad
levant deploy \
-address="http://${HOSTNAME}:4646" \
-var-file=infra/env.yaml \
-var image_tag="${CI_COMMIT_REF_SLUG}" \
-var station="${STATION}" \
infra/jobs/station/${COMPONENT}.levant.nomad
......@@ -9,7 +9,7 @@ build_ci_runner_image:
script:
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
- |
TANGO_ITANGO_VERSION=$(yq '.tango.itango.version' infra/env.yaml)
TANGO_ITANGO_VERSION=$(yq '.tango.itango.version' infra/env/common.yaml)
if docker pull $CI_REGISTRY_IMAGE/ci-build-runner:$CI_COMMIT_REF_SLUG; then
docker build --cache-from $CI_REGISTRY_IMAGE/ci-build-runner:$CI_COMMIT_REF_SLUG --tag $CI_REGISTRY_IMAGE/ci-build-runner:$CI_COMMIT_REF_SLUG --build-arg SOURCE_IMAGE=${CI_REGISTRY_IMAGE}/tango-itango:${TANGO_ITANGO_VERSION} docker/ci-runner
else
......
......@@ -9,8 +9,14 @@ This directory contains the Tango base configurations for each station, using co
- lba.json: Devices needed for the LBA antenna field,
- hba_core.json: Devices needed for the HBA antenna field in core station configuration.
- hba_remote.json: Devices needed for the HBA antenna field in remote station configuration.
- cs.json: Common config for core stations.
The following stations need the following configurations applied:
- L2TS: common.json + l0.json + l1.json + h0.json + lba.json + hba_remote.json + cs001.json
- L2TS: common.json + l0.json + l1.json + h0.json + lba.json + hba_remote.json + cs.json + cs001.json
- DTS: common.json + l0.json + l1.json + h0.json + lba.json + hba_remote.json + DTS.json
## Adding a station
Use the `generate-cdb-from-lofar1.py` script from the `tangostationcontrol.toolkit` module to
generate station-specific CDB files like cs001.json.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -32,10 +32,10 @@
"STAT/SDP/HBA"
],
"OPC_Server_Name": [
"10.99.0.250"
"sdptr-hba.service.consul"
],
"OPC_Server_Port": [
"4842"
"4840"
],
"OPC_Time_Out": [
"5.0"
......@@ -182,10 +182,10 @@
"STAT/XST/HBA"
],
"OPC_Server_Name": [
"10.99.0.250"
"sdptr-hba.service.consul"
],
"OPC_Server_Port": [
"4842"
"4840"
],
"OPC_Time_Out": [
"5.0"
......@@ -201,10 +201,10 @@
"STAT/SDP/HBA": {
"properties": {
"OPC_Server_Name": [
"10.99.0.250"
"sdptr-hba.service.consul"
],
"OPC_Server_Port": [
"4842"
"4840"
],
"OPC_Time_Out": [
"5.0"
......@@ -334,50 +334,14 @@
"5113"
],
"OPC_Server_Name": [
"10.99.0.250"
"sdptr-hba.service.consul"
],
"OPC_Server_Port": [
"4842"
"4840"
],
"OPC_Time_Out": [
"5.0"
],
"FPGA_bst_offload_hdr_ip_destination_address_RW_default": [
"10.99.250.250",
"10.99.250.250",
"10.99.250.250",
"10.99.250.250",
"10.99.250.250",
"10.99.250.250",
"10.99.250.250",
"10.99.250.250",
"10.99.250.250",
"10.99.250.250",
"10.99.250.250",
"10.99.250.250",
"10.99.250.250",
"10.99.250.250",
"10.99.250.250",
"10.99.250.250"
],
"FPGA_bst_offload_hdr_udp_destination_port_RW_default": [
"5013",
"5013",
"5013",
"5013",
"5013",
"5013",
"5013",
"5013",
"5013",
"5013",
"5013",
"5013",
"5013",
"5013",
"5013",
"5013"
],
"FPGA_bst_offload_enable_RW_default": [
"False",
"False",
......@@ -413,49 +377,13 @@
"5111"
],
"OPC_Server_Name": [
"10.99.0.250"
"sdptr-hba.service.consul"
],
"OPC_Server_Port": [
"4842"
"4840"
],
"OPC_Time_Out": [
"5.0"
],
"FPGA_sst_offload_hdr_ip_destination_address_RW_default": [
"10.99.250.250",
"10.99.250.250",
"10.99.250.250",
"10.99.250.250",
"10.99.250.250",
"10.99.250.250",
"10.99.250.250",
"10.99.250.250",
"10.99.250.250",
"10.99.250.250",
"10.99.250.250",
"10.99.250.250",
"10.99.250.250",
"10.99.250.250",
"10.99.250.250",
"10.99.250.250"
],
"FPGA_sst_offload_hdr_udp_destination_port_RW_default": [
"5011",
"5011",
"5011",
"5011",
"5011",
"5011",
"5011",
"5011",
"5011",
"5011",
"5011",
"5011",
"5011",
"5011",
"5011",
"5011"
]
}
}
......@@ -474,50 +402,14 @@
"5112"
],
"OPC_Server_Name": [
"10.99.0.250"
"sdptr-hba.service.consul"
],
"OPC_Server_Port": [
"4842"
"4840"
],
"OPC_Time_Out": [
"5.0"
],
"FPGA_xst_offload_hdr_ip_destination_address_RW_default": [
"10.99.250.250",
"10.99.250.250",
"10.99.250.250",
"10.99.250.250",
"10.99.250.250",
"10.99.250.250",
"10.99.250.250",
"10.99.250.250",
"10.99.250.250",
"10.99.250.250",
"10.99.250.250",
"10.99.250.250",
"10.99.250.250",
"10.99.250.250",
"10.99.250.250",
"10.99.250.250"
],
"FPGA_xst_offload_hdr_udp_destination_port_RW_default": [
"5012",
"5012",
"5012",
"5012",
"5012",
"5012",
"5012",
"5012",
"5012",
"5012",
"5012",
"5012",
"5012",
"5012",
"5012",
"5012"
],
"FPGA_xst_ring_nof_transport_hops_RW_default": [
"4",
"4",
......
This diff is collapsed.
{
"servers": {
"StationManager": {
"STAT": {
"StationManager": {
"STAT/StationManager/1": {
"properties": {
"Station_Name": [
"RS307"
],
"Station_Number": [
"307"
]
}
}
}
}
},
"Calibration": {
"STAT": {
"Calibration": {
"STAT/Calibration/1": {
"properties": {
"Station_Name": [
"RS307"
]
}
}
}
}
},
"Beamlet": {
"STAT": {
"Beamlet": {
"STAT/Beamlet/LBA": {
"properties": {
"FPGA_beamlet_output_hdr_eth_source_mac_RW_default": [
"00:22:86:08:00:00",
"00:22:86:08:00:01",
"00:22:86:08:00:02",
"00:22:86:08:00:03",
"00:22:86:08:01:00",
"00:22:86:08:01:01",
"00:22:86:08:01:02",
"00:22:86:08:01:03",
"00:22:86:08:02:00",
"00:22:86:08:02:01",
"00:22:86:08:02:02",
"00:22:86:08:02:03",
"00:22:86:08:03:00",
"00:22:86:08:03:01",
"00:22:86:08:03:02",
"00:22:86:08:03:03"
],
"FPGA_beamlet_output_hdr_ip_source_address_RW_default": [
"10.175.1.1",
"10.175.1.1",
"10.175.1.1",
"10.175.1.1",
"10.175.1.1",
"10.175.1.1",
"10.175.1.1",
"10.175.1.1",
"10.175.1.1",
"10.175.1.1",
"10.175.1.1",
"10.175.1.1",
"10.175.1.1",
"10.175.1.1",
"10.175.1.1",
"10.175.1.1"
],
"FPGA_beamlet_output_hdr_udp_source_port_RW_default": [
"53248",
"53249",
"53250",
"53251",
"53252",
"53253",
"53254",
"53255",
"53256",
"53257",
"53258",
"53259",
"53260",
"53261",
"53262",
"53263"
],
"FPGA_beamlet_output_multiple_hdr_eth_destination_mac_RW_default_shorthand": [
"f8:f2:1e:42:39:70",
"f8:f2:1e:42:39:70",
"f8:f2:1e:42:39:70",
"f8:f2:1e:42:39:70"
],
"FPGA_beamlet_output_multiple_hdr_ip_destination_address_RW_default_shorthand": [
"10.168.170.4",
"10.168.170.4",
"10.168.170.4",
"10.168.170.4"
],
"FPGA_beamlet_output_multiple_hdr_udp_destination_port_RW_default_shorthand": [
"13070",
"13071",
"13072",
"13073"
]
}
},
"STAT/Beamlet/HBA": {
"properties": {
"FPGA_beamlet_output_hdr_eth_source_mac_RW_default": [
"00:22:86:08:00:00",
"00:22:86:08:00:01",
"00:22:86:08:00:02",
"00:22:86:08:00:03",
"00:22:86:08:01:00",
"00:22:86:08:01:01",
"00:22:86:08:01:02",
"00:22:86:08:01:03",
"00:22:86:08:02:00",
"00:22:86:08:02:01",
"00:22:86:08:02:02",
"00:22:86:08:02:03",
"00:22:86:08:03:00",
"00:22:86:08:03:01",
"00:22:86:08:03:02",
"00:22:86:08:03:03"
],
"FPGA_beamlet_output_hdr_ip_source_address_RW_default": [
"10.175.1.1",
"10.175.1.1",
"10.175.1.1",
"10.175.1.1",
"10.175.1.1",
"10.175.1.1",
"10.175.1.1",
"10.175.1.1",
"10.175.1.1",
"10.175.1.1",
"10.175.1.1",
"10.175.1.1",
"10.175.1.1",
"10.175.1.1",
"10.175.1.1",
"10.175.1.1"
],
"FPGA_beamlet_output_hdr_udp_source_port_RW_default": [
"53248",
"53249",
"53250",
"53251",
"53252",
"53253",
"53254",
"53255",
"53256",
"53257",
"53258",
"53259",
"53260",
"53261",
"53262",
"53263"
],
"FPGA_beamlet_output_multiple_hdr_eth_destination_mac_RW_default_shorthand": [
"f8:f2:1e:42:39:70",
"f8:f2:1e:42:39:70",
"f8:f2:1e:42:39:70",
"f8:f2:1e:42:39:70"
],
"FPGA_beamlet_output_multiple_hdr_ip_destination_address_RW_default_shorthand": [
"10.168.170.4",
"10.168.170.4",
"10.168.170.4",
"10.168.170.4"
],
"FPGA_beamlet_output_multiple_hdr_udp_destination_port_RW_default_shorthand": [
"13070",
"13071",
"13072",
"13073"
]
}
}
}
}
},
"AFL": {
"STAT": {
"AFL": {
"STAT/AFL/LBA": {
"properties": {
"Antenna_Cables": [
"80m", "80m", "80m", "80m", "80m", "80m",
"80m", "80m", "80m", "80m", "80m", "80m",
"80m", "115m", "80m", "80m", "80m", "80m",
"80m", "80m", "80m", "80m", "80m", "80m",
"80m", "115m", "115m", "80m", "80m", "80m",
"80m", "80m", "80m", "80m", "80m", "80m",
"80m", "80m", "80m", "80m", "80m", "115m",
"115m", "115m", "80m", "80m", "115m", "50m",
"80m", "80m", "80m", "80m", "80m", "80m",
"80m", "80m", "115m", "115m", "115m", "115m",
"80m", "80m", "80m", "80m", "50m", "50m",
"50m", "80m", "115m", "115m", "115m", "115m",
"115m", "80m", "80m", "80m", "50m", "50m",
"50m", "50m", "80m", "80m", "115m", "115m",
"115m", "115m", "115m", "115m", "115m", "80m",
"50m", "50m", "50m", "80m", "115m", "115m"
],
"Antenna_Field_Reference_ITRF": [
"3837940.905", "449560.803", "5057381.316"
],
"Antenna_Reference_ETRS": [
"3837941.343", "449560.431", "5057381.027",
"3837939.324", "449560.188", "5057382.565",
"3837940.005", "449562.536", "5057381.841",
"3837942.143", "449562.794", "5057380.213",
"3837943.362", "449560.674", "5057379.489",
"3837942.681", "449558.326", "5057380.213",
"3837940.543", "449558.068", "5057381.841",
"3837937.080", "449563.014", "5057383.994",
"3837939.264", "449565.736", "5057382.108",
"3837942.421", "449565.978", "5057379.717",
"3837945.073", "449563.623", "5057377.939",
"3837945.980", "449559.775", "5057377.606",
"3837944.718", "449556.235", "5057378.873",
"3837941.876", "449554.657", "5057381.149",
"3837938.785", "449555.782", "5057383.367",
"3837936.891", "449559.082", "5057384.491",
"3837934.025", "449559.061", "5057386.644",
"3837933.549", "449562.687", "5057386.673",
"3837934.907", "449567.322", "5057385.236",
"3837940.024", "449570.443", "5057381.112",
"3837942.610", "449570.346", "5057379.180",
"3837945.794", "449568.518", "5057376.955",
"3837947.644", "449564.829", "5057375.900",
"3837948.506", "449559.101", "5057375.770",
"3837947.907", "449554.435", "5057376.642",
"3837945.439", "449551.495", "5057378.760",
"3837942.309", "449551.169", "5057381.139",
"3837938.495", "449552.340", "5057383.896",
"3837935.474", "449555.278", "5057385.898",
"3837929.915", "449559.701", "5057389.671",
"3837929.643", "449563.507", "5057389.531",
"3837930.762", "449566.215", "5057388.446",
"3837935.255", "449571.582", "5057384.589",
"3837936.054", "449574.340", "5057383.740",
"3837942.048", "449573.619", "5057379.306",
"3837945.935", "449571.870", "5057376.546",
"3837950.059", "449570.291", "5057373.593",
"3837950.500", "449566.963", "5057373.563",
"3837951.580", "449562.352", "5057373.170",
"3837951.334", "449555.399", "5057373.982",
"3837950.785", "449552.745", "5057374.635",
"3837947.641", "449549.365", "5057377.300",
"3837945.724", "449546.113", "5057379.033",
"3837938.628", "449546.941", "5057384.284",
"3837935.741", "449548.827", "5057386.281",
"3837932.161", "449552.233", "5057388.660",
"3837897.750", "449555.481", "5057414.196",
"3837937.514", "449629.569", "5057377.652",
"3837928.592", "449553.023", "5057391.268",
"3837926.243", "449554.096", "5057392.934",
"3837926.371", "449569.550", "5057391.441",
"3837936.115", "449579.421", "5057383.235",
"3837939.807", "449580.912", "5057380.329",
"3837948.783", "449575.668", "5057374.065",
"3837955.088", "449564.587", "5057370.334",
"3837957.621", "449557.139", "5057369.106",
"3837950.712", "449546.088", "5057375.291",
"3837945.744", "449541.123", "5057379.469",
"3837937.805", "449542.541", "5057385.300",
"3837931.950", "449539.252", "5057389.992",
"3837924.289", "449548.557", "5057394.901",
"3837921.025", "449560.941", "5057396.232",
"3837921.298", "449567.161", "5057395.465",
"3837922.912", "449575.213", "5057393.525",
"3837935.044", "449583.395", "5057383.680",
"3837941.262", "449584.797", "5057378.886",
"3837952.231", "449581.960", "5057370.909",
"3837959.349", "449570.437", "5057366.607",
"3837962.102", "449561.636", "5057365.336",
"3837959.900", "449550.425", "5057368.003",
"3837953.224", "449537.133", "5057374.215",
"3837939.443", "449533.744", "5057384.865",
"3837928.854", "449530.462", "5057393.111",
"3837921.474", "449542.625", "5057397.550",
"3837916.723", "449556.249", "5057399.885",
"3837915.228", "449564.103", "5057400.297",
"3837921.282", "449580.949", "5057394.230",
"3837931.576", "449592.878", "5057385.426",
"3837941.268", "449594.381", "5057378.015",
"3837947.560", "449588.874", "5057373.790",
"3837959.062", "449585.215", "5057365.486",
"3837967.290", "449568.724", "5057360.801",
"3837968.396", "449559.826", "5057360.776",
"3837966.552", "449544.224", "5057363.570",
"3837961.649", "449539.077", "5057367.715",
"3837948.274", "449527.949", "5057378.760",
"3837943.040", "449529.844", "5057382.518",
"3837941.995", "449523.799", "5057383.849",
"3837912.898", "449540.439", "5057404.185",
"3837909.404", "449565.849", "5057404.511",
"3837913.119", "449585.052", "5057399.987",
"3837922.980", "449594.696", "5057391.714",
"3837959.055", "449593.822", "5057364.714",
"3837967.941", "449573.871", "5057359.847",
"3837974.528", "449559.331", "5057356.217",
"3837955.237", "449524.953", "5057373.805"
]
}
}
}
}
},
"AFH": {
"STAT": {
"AFH": {
"STAT/AFH/HBA": {
"properties": {
"Antenna_Field_Reference_ITRF": [
"3837964.476", "449627.308", "5057357.613"
],
"Antenna_Reference_ETRS": [
"3837950.329", "449620.668", "5057368.838",
"3837950.431", "449625.789", "5057368.299",
"3837950.532", "449630.910", "5057367.760",
"3837950.634", "449636.031", "5057367.221",
"3837954.452", "449620.265", "5057365.780",
"3837954.554", "449625.386", "5057365.241",
"3837954.656", "449630.507", "5057364.701",
"3837954.758", "449635.626", "5057364.162",
"3837958.373", "449609.619", "5057363.799",
"3837958.475", "449614.740", "5057363.260",
"3837958.576", "449619.861", "5057362.721",
"3837958.678", "449624.982", "5057362.182",
"3837958.780", "449630.102", "5057361.642",
"3837958.881", "449635.223", "5057361.103",
"3837958.983", "449640.344", "5057360.564",
"3837959.084", "449645.465", "5057360.025",
"3837962.496", "449609.216", "5057360.740",
"3837962.598", "449614.336", "5057360.201",
"3837962.700", "449619.457", "5057359.662",
"3837962.801", "449624.577", "5057359.123",
"3837962.903", "449629.698", "5057358.584",
"3837963.005", "449634.819", "5057358.044",
"3837963.106", "449639.940", "5057357.505",
"3837963.208", "449645.060", "5057356.966",
"3837966.620", "449608.812", "5057357.682",
"3837966.722", "449613.932", "5057357.143",
"3837966.823", "449619.053", "5057356.604",
"3837966.925", "449624.174", "5057356.064",
"3837967.027", "449629.295", "5057355.525",
"3837967.128", "449634.415", "5057354.986",
"3837967.230", "449639.536", "5057354.447",
"3837967.332", "449644.656", "5057353.908",
"3837970.744", "449608.407", "5057354.623",
"3837970.845", "449613.528", "5057354.084",
"3837970.947", "449618.649", "5057353.545",
"3837971.048", "449623.770", "5057353.006",
"3837971.150", "449628.890", "5057352.466",
"3837971.252", "449634.011", "5057351.927",
"3837971.353", "449639.132", "5057351.388",
"3837971.455", "449644.253", "5057350.849",
"3837975.070", "449618.246", "5057350.486",
"3837975.172", "449623.365", "5057349.947",
"3837975.274", "449628.486", "5057349.407",
"3837975.376", "449633.607", "5057348.868",
"3837979.194", "449617.841", "5057347.427",
"3837979.296", "449622.962", "5057346.888",
"3837979.397", "449628.083", "5057346.349",
"3837979.499", "449633.204", "5057345.810"
],
"HBAT_PQR_rotation_angles_deg": [
"10.00", "10.00", "10.00", "10.00", "10.00", "10.00",
"10.00", "10.00", "10.00", "10.00", "10.00", "10.00",
"10.00", "10.00", "10.00", "10.00", "10.00", "10.00",
"10.00", "10.00", "10.00", "10.00", "10.00", "10.00",
"10.00", "10.00", "10.00", "10.00", "10.00", "10.00",
"10.00", "10.00", "10.00", "10.00", "10.00", "10.00",
"10.00", "10.00", "10.00", "10.00", "10.00", "10.00",
"10.00", "10.00", "10.00", "10.00", "10.00", "10.00"
],
"PQR_to_ETRS_rotation_matrix": [
"-0.1195951054", "-0.7919544517", "0.5987530018",
"0.9928227484", "-0.0954186800", "0.0720990002",
"0.0000330969", "0.6030782884", "0.7976820024"
]
}
}
}
}
}
}
}
# How to add a new station
When deploying to a new station, for example CS123, you will need to:
* `infra/station`: Deploy the LCU as cs123c.control.lofar using the Ansible playbooks,
* `.gitlab_ci.yml`: Add "cs123" as a target to the `deploy_nomad` job, and deploy,
* `CBD/stations/CS123.json`: Create and populate the station-specific Tango configuration. To generate this from LOFAR1, run `tangostationcontrol/tangostationcontrol/toolkit/generate-cdb-from-lofar1.py -s cs123 -C > CDB/stations/CS123.json`,
* Upload the CDB files through http://cs123c.control.lofar:4646/ui/jobs/dsconfig@default/dispatch, see the [CDB Readme](CDB/stations/README.md) for the list files.
* Obtain calibration tables and upload them to MinIO at http://cs123c.control.lofar:9001/browser/caltables/CS123. To generate them from LOFAR1, run `tangostationcontrol/tangostationcontrol/toolkit/generate-caltable-from-lofar1.py -s cs123`.
......@@ -15,7 +15,8 @@ Station Control software related to Tango devices. \
* [Prerequisites](#prerequisites)
* [User documentation (ReadTheDocs (Sphinx / ReStructuredText))](tangostationcontrol/docs/README.md)
* [Developer Documentation](#development)
* [Deployments](deploy/README.md)
* [Deployments](infra/README.md)
* [Adding a new station](NEWSTATION.md)
* [Versioning](#versioning)
* Source code documentation
* [Attribute wrapper documentation](tangostationcontrol/tangostationcontrol/clients/README.md)
......@@ -161,7 +162,9 @@ Next change the version in the following places:
# Release Notes
* 0.40.1 Deploy SDPTR for HBA only on RS stations
* 0.40.0 Added CS032/RS307, and scripts to generate their CDB file and caltables
* 0.39.12 SDPTR v1.4.0
* 0.39.11 Install recent versions of tangostationcontrol and lofar_station_client in Jupyter
* 0.39.10 Use ITRF2014 and extrapolate to current half year by default
* 0.39.9 Minor speedup in observation start (do not wait for metadata to propagate)
......
TAG ?= latest
SHELL = /bin/bash
TANGO_STATION_CONTROL ?= 1
LOCAL_DOCKER_REGISTRY ?= $(shell shyaml get-value registry.astron.url < "../infra/env.yaml")
TANGO_ITANGO_VERSION ?= $(shell shyaml get-value tango.itango.version < "../infra/env.yaml")
TANGO_DSCONFIG_VERSION ?= $(shell shyaml get-value tango.dsconfig.version < "../infra/env.yaml")
LOCAL_DOCKER_REGISTRY ?= $(shell shyaml get-value registry.astron.url < "../infra/env/common.yaml")
TANGO_ITANGO_VERSION ?= $(shell shyaml get-value tango.itango.version < "../infra/env/common.yaml")
TANGO_DSCONFIG_VERSION ?= $(shell shyaml get-value tango.dsconfig.version < "../infra/env/common.yaml")
.PHONY: ec-sim jupyter-lab lofar-device-base tango-prometheus-exporter dsconfig ci-runner integration-test context grafana snmp-exporter landing-page
......
......@@ -109,6 +109,7 @@ resource "exec" "dsconfig" {
bash sbin/dsconfig.sh --update CDB/stations/lba.json
bash sbin/dsconfig.sh --update CDB/stations/h0.json
bash sbin/dsconfig.sh --update CDB/stations/hba_core.json
bash sbin/dsconfig.sh --update CDB/stations/cs.json
bash sbin/dsconfig.sh --update CDB/stations/cs001.json
bash sbin/dsconfig.sh --update CDB/stations/testenv_cs001.json
EOF
......
This directory contains the station-specific deployment settings, and selected versions of external images. The YAML files
are used by levant for rendering the nomad templates.
For development, these files are applied in order in `infra/jobs/Makefile`. For production, they are loaded in `.gitlab-ci.yml` as
part of deployment.
NB:
* For each section, only the one in the last applied file will be used. The sections will not be merged. So be careful when specifying a section in multiple files.
# NB: If a section is repeated in another file, those settings will be used instead,
# completely replacing the ones specified here (instead of merged with them).
tango:
itango:
version: 9.5.0
......@@ -51,19 +54,6 @@ simulators:
apsct:
config: APSCTTR
sdptr:
version: v1-3-0
instances:
lba:
first_gn: 0
fpgas: 16
hba0:
first_gn: 16
fpgas: 4
hba1:
first_gn: 20
fpgas: 4
devices:
- AFH
- AFL
......
sdptr:
version: v1-4-0
instances:
lba:
first_gn: 0
fpgas: 16
hba0:
first_gn: 16
fpgas: 4
hba1:
first_gn: 20
fpgas: 4
sdptr:
version: v1-4-0
instances:
lba:
first_gn: 0
fpgas: 16
hba:
first_gn: 16
fpgas: 8
TAG ?= latest
STATION ?= dev
DIR_OUT ?= .
DIR_SRC += .
SRC_JOBS += $(wildcard $(addsuffix /*.levant.nomad, $(DIR_SRC)))
JOBS := $(patsubst %.levant.nomad,%.nomad, $(SRC_JOBS))
ENV ?= ../../env.yaml
ENV ?= ../../env/common.yaml ../../env/cs.yaml
.PHONY: render
render: $(JOBS)
# parse .levant.nomad files into .nomad files for jumppad
%.nomad: %.levant.nomad
levant render -var-file=$(realpath $(ENV)) -var image_tag="$(TAG)" -var station="$(STATION)" -out=$(realpath $(DIR_OUT))/$@ $(realpath $(DIR_SRC))/$<
levant render $(addprefix -var-file=, $(realpath $(ENV))) -var image_tag="$(TAG)" -var station="$(STATION)" -out=$(realpath $(DIR_OUT))/$@ $(realpath $(DIR_SRC))/$<
......@@ -95,9 +95,8 @@ postgres.service.consul:5432:grafana:postgres:password
[[ if ne .station "dev" ]]
vault {
role = "nomad-cluster"
change_mode = "noop"
allow_token_expiration = true
policies = ["default"]
}
[[ end ]]
config {
......@@ -117,7 +116,6 @@ postgres.service.consul:5432:grafana:postgres:password
env {
[[ if ne .station "dev" ]]
GF_SERVER_DOMAIN = "[[.station]]c.control.lofar"
SLACK_TOKEN = "{{with secret "kv-v2/grafana/slack"}}{{.Data.data.token}}{{end}}"
[[ else ]]
GF_SERVER_DOMAIN = "grafana.service.consul"
[[ end ]]
......@@ -171,6 +169,13 @@ postgres.service.consul:5432:grafana:postgres:password
EOH
destination = "local/datasource-loki.yaml"
}
template {
env = true
destination = "secrets/file.env"
data = <<EOH
SLACK_TOKEN = "{{with secret "kv-v2/data/grafana/slack"}}{{.Data.data.token}}{{end}}"
EOH
}
resources {
cpu = 250
memory = 1024
......@@ -398,10 +403,10 @@ postgres.service.consul:5432:grafana:postgres:password
schema_config:
configs:
- from: 2020-10-24
store: boltdb-shipper
- from: 2024-01-01
store: tsdb
object_store: filesystem
schema: v11
schema: v13
index:
prefix: index_
period: 24h
......