Files
hla_framework_bd/README.md
T
2026-07-17 13:42:29 +02:00

1.8 KiB

SLS HLA Framework

Environments

The services are deployed to 2 environments:

  • prod
    • network: machine
    • host: sls-vserv-bd-hla01
      • path: /sls/bd/hla/prod/
  • dev
    • network: office
    • host: sls-vserv-bd-hla01-dev
      • path: /sls/bd/hla/dev/

Process Variables (PVs)

We distinguish between

  • prod vs dev PVs
  • services specific PVs from a dedicated IOC vs external PVs from other IOCs

PVs - Service Specific

You create them, see (# TODO: docs...)

prod and dev PVs automatically get created.

In your code, you only use the prod name of a PV. The framework will automatically use the dev name/PV when a service runs in the dev environment.

PVs - External

You can only access them. The framework will use the same PV in prod and dev, i.e. there is no dev PV.

PVs - Examples

Environment Service Specific External
prod PV("AGEBD-MYSERVICE:MYPVNAME") PV("AGEOP-SOME-SERVICE:SOME-PVNAME")
dev PV("AGEBD-MYSERVICE-DEV:MYPVNAME") -

Python

For python services there are 3 environments. The python environment is set through the env variable AGEBD_ENV.

  • prod: used when deployed to prod
    • PVs: uses prod PVs
    • AGEBD_ENV=prod
  • dev: used when deployed to dev
    • PVs: uses dev PVs
    • AGEBD_ENV=dev
  • local: used when running code locally
    • PVs: uses fake/mock python objects as PVs, no access to real PVs
    • AGEBD_ENV=local

Hosts overview

Check which network a host lives in, e.g. for sls-lca:

ping sls-lca.psi.ch

Machine Net (prod)

  • sls-lca
  • sls-vserv-bd-01
  • sls-vserv-bd-hla01

Office Net (dev)

  • sls-lc8
  • sls-lc9
  • sls-vserv-bd-01-dev
  • sls-vserv-bd-hla01-dev