...
This document states workflows to develop a OPI to be integrated into a k8s ECS EPIK8S deploy.
Common and preparatory steps
Create a GIT repository
Architecture
Each beamline in EPIK8S has a GIT project associated. This GIT project has a opi directory that point to a OPI git project that contains the interface of the given beamline.
This structure allows:
- separate development of OPIs and IOCs
- update control room OPIs accessing just the GIT repository of the OPI.
OPI GIT project
Every OPI MUST have a GIT repository associated. A project for an internal facility must be created or exist under https://baltig.infn.it/lnf-da-control or a different group like for instance:.
For instance the OPI git project for SPARC is: https://baltig.infn.it/infn-epicslnf-da-control/sparc-epics-opi.git while for dafne is https://baltig.infn.it/lnf-da-control/dafne-epics-containersopi.git.
Pay attention to not set the project private otherwise will not be possible to load it into the ECS k8sEPIK8S.
Setup Phoebus
Please refer to this guide: Phoebus Setup. Particular sensitive is the settings.ini. This file must exists and initialised as EPIK8s information page suggests (i.e EPIK8s Sparc ).
For Linux and MAC system the start.sh can be used to launch phoebus and initialise correctly with the settings.ini.
.
Setup environment
Depending on the target beamline (i.e. sparc environ EPIK8s Sparc):.
- Setup EPICS_CA_ADDR_LIST
- Identify your target ECS EPIK8s information page (i.e EPIK8s Sparc ) retrieving "GIT Control Source" URL, clone it.
Code Block git clone https://baltig.infn.it/lnf-da-control/<BEAMLINE>-k8s-ecs.git --recurse-submoduleslanguage bash title Full CS - This project includes a opi directories that is a git submodule that points to a GIT project intended to include all the CSS/phoebus interfaces that compose the Control System interfaces of the K8S ECS EPIK8S beamline. The entry point to the beamline control interface is Launcher.bob. The settings.ini is built by start.sh depending on the environment variables:
- EPICS_CA_ADDR_LIST that must include the addresses of the IOC you want to access or the address of the ca-gateway listed on the target ECS information page
- OPIHOME the directory where the OPIs are.
EPICS_ARCHIVER the Entry point of the archiver.
PHOEBUS_SAVE_AND_RESTORE service of save and restore
PHOEBUS_SCAN_SERVER service
- Test your environment trying to open Launcher.bob and open some control interface.
...
Use your local Phoebus to develop and test your OPI, when the OPI is ok and you need to include it in the control follow this steps:
...
Code Block | ||||
---|---|---|---|---|
| ||||
cd opi
git submodule add <your project url> |
...
commit your changes.
Code Block | ||||
---|---|---|---|---|
| ||||
git commit -m "my comment" .
git push origin |