Open mjstealey opened 2 years ago
Define the buttons and logic that are displayed to an experimenter at each state as defined below
Refresh
[x] define dict of buttons to toggle experiment button choices on UI
"dashboard_buttons": { "b_dev_init": true, "b_dev_save": false, "b_dev_save_exit": false, "b_sandox_submit": false, "b_sandbox_cancel": false, "b_sandbox_save": false, "b_sandbox_save_exit": false, "b_emu_submit": false, "b_emu_cancel": false, "b_testbed_submit": false, "b_testbed_cancel": false }
ACTIVE_DEVELOPMENT
Save
Save & Exit
ACTIVE_EMULATION
ACTIVE_SANDBOX
ACTIVE_TESTBED
SAVED
Initiate Development
Submit to Sandbox
Submit to Emulation
Submit to Testbed
WAIT_DEVELOPMENT_DEPLOY
WAIT_EMULATION_DEPLOY
Cancel
WAIT_EMULATION_SCHEDULE
WAIT_SANDBOX_DEPLOY
WAIT_TESTBED_DEPLOY
WAIT_TESTBED_SCHEDULE
000
100
101
010
(E&&P)|T
Experiment states and transitions buttons
Define the buttons and logic that are displayed to an experimenter at each state as defined below
Refresh
button to experiment detail page (eliminates need for polling)[x] define dict of buttons to toggle experiment button choices on UI
Possible states - button(s)
ACTIVE_DEVELOPMENT
-Save
,Save & Exit
ACTIVE_EMULATION
- n/aACTIVE_SANDBOX
-Save
,Save & Exit
ACTIVE_TESTBED
- n/aSAVED
-Initiate Development
,Submit to Sandbox
,Submit to Emulation
,Submit to Testbed
WAIT_DEVELOPMENT_DEPLOY
- n/aWAIT_EMULATION_DEPLOY
-Cancel
WAIT_EMULATION_SCHEDULE
-Cancel
WAIT_SANDBOX_DEPLOY
-Cancel
WAIT_TESTBED_DEPLOY
-Cancel
WAIT_TESTBED_SCHEDULE
-Cancel
Possible state transitions
ACTIVE_DEVELOPMENT
ACTIVE_DEVELOPMENT
-->SAVED
- save development session - Flags000
(e.g. experimenter logged out of all VMs for one hour)Save & Exit
ACTIVE_DEVELOPMENT
-->ACTIVE_DEVELOPMENT
- save development session but do not exitSave
ACTIVE_EMULATION
ACTIVE_EMULATION
-->SAVED
- emulation complete - Flags100
or101
ACTIVE_SANDBOX
ACTIVE_SANDBOX
-->SAVED
- save sandbox session - Flags000
(e.g. end of scheduled sandbox session)Save & Exit
ACTIVE_SANDBOX
-->ACTIVE_SANDBOX
- save sandbox session but do not exitSave
ACTIVE_TESTBED
ACTIVE_TESTBED
-->SAVED
- execution complete - Flags010
SAVED
SAVED
-->WAIT_DEVELOPMENT_DEPLOY
- start development sessionInitiate Development
SAVED
-->WAIT_SANDBOX_DEPLOY
- schedule sandbox sessionSubmit to Sandbox
SAVED
-->WAIT_EMULATION_SCHEDULE
- reqeust emulation sessionSubmit to Emulation
SAVED
-->WAIT_TESTBED_SCHEDULE
- request testbed session (allowed if(E&&P)|T
Submit to Testbed
WAIT_DEVELOPMENT_DEPLOY
WAIT_DEVELOPMENT_DEPLOY
-->ACTIVE_DEVELOPMENT
- deployment on development VMs completeWAIT_DEVELOPMENT_DEPLOY
-->SAVED
- failure to deployWAIT_EMULATION_DEPLOY
WAIT_EMULATION_DEPLOY
-->ACTIVE_EMULATION
- scheduled deployment of emulation completeWAIT_EMULATION_DEPLOY
-->SAVED
- cancelCancel
WAIT_EMULATION_SCHEDULE
WAIT_EMULATION_SCHEDULE
-->WAIT_EMULATION_DEPLOY
- scheduleWAIT_EMULATION_SCHEDULE
-->SAVED
- cancel pending emulation sessionCancel
WAIT_SANDBOX_DEPLOY
WAIT_SANDBOX_DEPLOY
-->ACTIVE_SANDBOX
- scheduled deployment on sandbox completeWAIT_SANDBOX_DEPLOY
-->SAVED
- cancel pending sandbox sessionCancel
WAIT_TESTBED_DEPLOY
WAIT_TESTBED_DEPLOY
-->ACTIVE_TESTBED
- scheduled deployment of testbed completeWAIT_TESTBED_DEPLOY
-->SAVED
- cancelCancel
WAIT_TESTBED_SCHEDULE
WAIT_TESTBED_SCHEDULE
-->WAIT_TESTBED_DEPLOY
- scheduleWAIT_TESTBED_SCHEDULE
-->SAVED
- cancel pending testbed sessionCancel