# Archiver Appliance Config AA Linac Prod This repository is used to store mainly scalar PVs and also have imports from archiver-linac-prod. Rule of thumb is PVs with more than 2046 elements should be in the [wf config](https://gitlab.esss.lu.se/archiver-appliance/archiver-appliance-config-aa-waveform) and not this repository. ## Introduction For each IOC, the list of PVs to archive should be saved in a file named `<ioc name>.archive`. The file should be put under the files directory Here is the list of current archiver appliances for wave form cluster: - **archiver-linac-01.tn.esss.lu.se** for Scalar form Prod - **archiver-linac-02.tn.esss.lu.se** for Scalar form Prod - **archiver-linac-03.tn.esss.lu.se** for Scalar form Prod - **archiver-linac-04.tn.esss.lu.se** for Scalar form Prod - **archiver-linac-05.tn.esss.lu.se** for Scalar form Prod - **archiver-linac-06.tn.esss.lu.se** for Scalar form Prod - **archiver-linac-07.tn.esss.lu.se** for Scalar form Prod - **archiver-linac-08.tn.esss.lu.se** for Scalar form Prod **ALL WaveForm have to be archived at 1Hz** (see Archive File Format below). **PV Rename and Delete not supported** - see the [Archiver FAQ](https://confluence.esss.lu.se/display/SW/Archiver+FAQ#expand-Howtopauserenameordeleteapv) for more information. ## Archive File format The files shall be in CSV format (space separated) and include one PV name per line. A file can also include the name of the policy to force (optional). Empty lines and lines starting with "#" (comments) are allowed. Here is an example: ``` # PV name Policy ISrc-010:PwrC-CoilPS-01:CurS ISrc-010:PwrC-CoilPS-01:CurR 1Hz # Comments are allowed LEBT-010:Vac-VCG-30000:PrsStatR ``` The string after the PV name should be an existing policy to force. In the above example, the policy "1Hz" would be applied to the PV "ISrc-010:PwrC-CoilPS-01:CurR". The default policy would be applied to other PVs. ## Workflow When pushing to master, the PVs are automatically added to the archiver. The `process_archives.py` script looks at files that changed since last commit. All the PVs from those files are sent to the proper appliance for archiving. ### Maintainer rules - If configuration files have PV namechanges or deletions, the merge request shall have the name of the [INFRA-ticket-number] for the PVs changing names and being deleted. - If there are merge conflicts, the developer requesting the merge request shall resolve the conflicts on their end (preferably by re-basing to master followed by re-applying the changes from the merge request). - Ensure PVs added are online (see [accop-pytools-archiver-mr-check](https://gitlab.esss.lu.se/accop/pytools/archiver-mr-check) for example script).