a4afabe67dbdf3c13228f3c40cc7aa66fc6787e8
Deploy / deploy (push) Successful in 11s
SLS HLA Framework
Environments
The services are deployed to 2 environments:
prod- network:
machine - host:
sls-vserv-bd-hla01- path:
/sls/bd/hla/prod/
- path:
- network:
dev- network:
office - host:
sls-vserv-bd-hla01-dev- path:
/sls/bd/hla/dev/
- path:
- network:
Process Variables (PVs)
We distinguish between
prodanddevPVs- services specific PVs from a dedicated IOC, and 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 toprod- PVs: uses
prodPVs AGEBD_ENV=prod
- PVs: uses
dev: used when deployed todev- PVs: uses
devPVs AGEBD_ENV=dev
- PVs: uses
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
Languages
Python
97.6%
Jinja
1.6%
Shell
0.6%
Just
0.2%