diff --git a/cli/src/models/context.py b/cli/src/models/context.py
index b375058..699c740 100644
--- a/cli/src/models/context.py
+++ b/cli/src/models/context.py
@@ -30,11 +30,11 @@ class ServicesContext(BaseModel):
"""Creates an in-memory backup of all configs for rollback."""
return ServicesContext(
paths=self.paths,
- service_registry=self.service_registry.model_copy(),
- master_hla_names=self.master_hla_names.model_copy(),
- iocs_overview=self.iocs_overview.model_copy(),
- master_ioc_subs=self.master_ioc_subs.model_copy(),
- service_manager_ui=self.service_manager_ui.model_copy(),
+ service_registry=self.service_registry.model_copy(deep=True),
+ master_hla_names=self.master_hla_names.model_copy(deep=True),
+ iocs_overview=self.iocs_overview.model_copy(deep=True),
+ master_ioc_subs=self.master_ioc_subs.model_copy(deep=True),
+ service_manager_ui=self.service_manager_ui.model_copy(deep=True),
)
def restore_snapshot(self, snapshot: Dict[str, Any]) -> None:
diff --git a/config/services_registry.yml b/config/services_registry.yml
index 6c2953b..3e9fd56 100644
--- a/config/services_registry.yml
+++ b/config/services_registry.yml
@@ -36,54 +36,18 @@ services:
- name: plots
ioc_port: 50011
status: active
-# - name: orbitbump
-# ioc_port: 50012
-# status: active
- name: topuptool
ioc_port: 50013
status: active
- name: shifttool
ioc_port: 50014
status: active
-# - name: beamtransferchecks
-# ioc_port: 50015
-# status: active
- name: tunefbx
ioc_port: 50016
status: active
- name: tunefby
ioc_port: 50017
status: active
-# - name: opticsff-x02s
-# ioc_port: 50018
-# status: active
-# - name: opticsff-x03m
-# ioc_port: 50019
-# status: active
-# - name: opticsff-x04s
-# ioc_port: 50020
-# status: active
-# - name: opticsff-x05l
-# ioc_port: 50021
-# status: active
-# - name: opticsff-x06s
-# ioc_port: 50022
-# status: active
-# - name: opticsff-x07m
-# ioc_port: 50023
-# status: active
-# - name: opticsff-x08s
-# ioc_port: 50024
-# status: active
-# - name: opticsff-x09l
-# ioc_port: 50025
-# status: active
-# - name: opticsff-x10s
-# ioc_port: 50026
-# status: active
-# - name: opticsff-x11m
-# ioc_port: 50027
-# status: active
-# - name: opticsff-x12s
-# ioc_port: 50028
-# status: active
+- name: playground
+ ioc_port: 50029
+ status: active
diff --git a/qt/A_BD_ServiceManager.ui b/qt/A_BD_ServiceManager.ui
index 329f51a..51a58e3 100644
--- a/qt/A_BD_ServiceManager.ui
+++ b/qt/A_BD_ServiceManager.ui
@@ -7,7 +7,7 @@
0
0
1320
- 595
+ 630
@@ -115,7 +115,7 @@ caLabel[statusTip="Operation"]{
0
146
1320
- 450
+ 485
@@ -134,17 +134,17 @@ caLabel[statusTip="Operation"]{
0
0
1319
- 420
+ 455
- IOC=AGEBD-CPCL-DBPM3CURR,service=DBPM3CURR,name=DBPM3Current,panel=1,svc_exist=1,panelcmd=A_BD_DBPM3Current.ui;IOC=AGEBD-CPCL-TAUBPM,service=TAUBPM,name=LifetimeBPM,panel=1,svc_exist=1,panelcmd=A_BD_LifetimeBPM.ui;IOC=AGEBD-CPCL-TAUPCT,service=TAUPCT,name=LifetimePCT,panel=1,svc_exist=1,panelcmd=A_BD_LifetimePCT.ui;IOC=AGEBD-CPCL-TIMING,service=TIMING,name=Timing,panel=1,svc_exist=1,panelcmd=A_BD_Timing.ui;IOC=AGEBD-CPCL-SCRUBBING,service=SCRUBBING,name=Scrubbing,panel=1,svc_exist=1,panelcmd=A_BD_Scrubbing.ui;IOC=AGEBD-CPCL-INJECTIONGUARD,service=INJECTIONGUARD,name=InjectionGuard,panel=1,svc_exist=1,panelcmd=A_BD_InjectionGuard.ui;IOC=AGEBD-CPCL-POSTMORTEMLOG,service=POSTMORTEMLOG,name=PostMortemLog,panel=1,svc_exist=1,panelcmd=A_BD_PostMortemLog.ui;IOC=AGEBD-CPCL-TUNEBUMP,service=TUNEBUMP,name=TuneBump,panel=1,svc_exist=1,panelcmd=A_BD_TuneBump.ui;IOC=AGEBD-CPCL-PLOTS,service=PLOTS,name=Plots,panel=0,svc_exist=1,panelcmd=A_BD_Plots.ui;IOC=AGEBD-CPCL-ORBITBUMP,service=ORBITBUMP,name=OrbitBump,panel=1,svc_exist=0,panelcmd=A_BD_OrbitBump.ui;IOC=AGEBD-CPCL-TUNEFBX,service=TUNEFBX,name=Hor. Tune Feedback,panel=1,svc_exist=1,panelcmd=A_BD_TuneBump.ui;IOC=AGEBD-CPCL-TUNEFBY,service=TUNEFBY,name=Ver. Tune Feedback,panel=1,svc_exist=1,panelcmd=A_BD_TuneBump.ui
+ IOC=AGEBD-CPCL-DBPM3CURR,service=DBPM3CURR,name=DBPM3Current,panel=1,svc_exist=1,panelcmd=A_BD_DBPM3Current.ui;IOC=AGEBD-CPCL-TAUBPM,service=TAUBPM,name=LifetimeBPM,panel=1,svc_exist=1,panelcmd=A_BD_LifetimeBPM.ui;IOC=AGEBD-CPCL-TAUPCT,service=TAUPCT,name=LifetimePCT,panel=1,svc_exist=1,panelcmd=A_BD_LifetimePCT.ui;IOC=AGEBD-CPCL-TIMING,service=TIMING,name=Timing,panel=1,svc_exist=1,panelcmd=A_BD_Timing.ui;IOC=AGEBD-CPCL-SCRUBBING,service=SCRUBBING,name=Scrubbing,panel=1,svc_exist=1,panelcmd=A_BD_Scrubbing.ui;IOC=AGEBD-CPCL-INJECTIONGUARD,service=INJECTIONGUARD,name=InjectionGuard,panel=1,svc_exist=1,panelcmd=A_BD_InjectionGuard.ui;IOC=AGEBD-CPCL-POSTMORTEMLOG,service=POSTMORTEMLOG,name=PostMortemLog,panel=1,svc_exist=1,panelcmd=A_BD_PostMortemLog.ui;IOC=AGEBD-CPCL-TUNEBUMP,service=TUNEBUMP,name=TuneBump,panel=1,svc_exist=1,panelcmd=A_BD_TuneBump.ui;IOC=AGEBD-CPCL-PLOTS,service=PLOTS,name=Plots,panel=0,svc_exist=1,panelcmd=A_BD_Plots.ui;IOC=AGEBD-CPCL-ORBITBUMP,service=ORBITBUMP,name=OrbitBump,panel=1,svc_exist=0,panelcmd=A_BD_OrbitBump.ui;IOC=AGEBD-CPCL-TUNEFBX,service=TUNEFBX,name=Hor. Tune Feedback,panel=1,svc_exist=1,panelcmd=A_BD_TuneBump.ui;IOC=AGEBD-CPCL-TUNEFBY,service=TUNEFBY,name=Ver. Tune Feedback,panel=1,svc_exist=1,panelcmd=A_BD_TuneBump.ui;IOC=AGEBD-CPCL-PLAYGROUND,service=PLAYGROUND,name=Playground,panel=1,svc_exist=1,panelcmd=A_BD_Playground.ui
A_BD_ServiceManager_inc.ui
- 12
+ 13
true
diff --git a/services/master/current/app/config/hla_names.yml b/services/master/current/app/config/hla_names.yml
index 6266f93..505e08a 100644
--- a/services/master/current/app/config/hla_names.yml
+++ b/services/master/current/app/config/hla_names.yml
@@ -26,3 +26,4 @@ hla_apps:
- OPTICSFF-X10S
- OPTICSFF-X11M
- OPTICSFF-X12S
+- PLAYGROUND