-
Notifications
You must be signed in to change notification settings - Fork 449
Docker universal app web interface
There are various possible interfaces for job submission to BUDA. We could make a Python-based remote API. We (or others) could use this API to integrate it into batch systems.
But for starters, I propose implementing a generic (multi-application) web-based job submission system, using the per-user file sandbox system.
First, there's a web interface for managing BUDA science apps This shows you the set of existing apps, and lets you edit them or create a new one. The form for this includes
- select (from your file sandbox) a set of 'app files'. Must include
- a Dockerfile
- a main prog to run in container
- other files if needed
- info per file: logical name, copy flag
- select a plan class (CPU/GPU)
- list of input files (logical name, copy_file)
- list of output files (logical name)
- cmdline (passed to main prog for all jobs)
The form for submitting a batch of jobs:
- batch name (optional)
- select a BUDA science app and plan class
- select (from the file sandbox) a zip file of job descriptions. This file has one dir per job:
jobname/
[cmdline]
file1 (logical name)
...
...
Question: should this system manage file immutability? If so, the above filenames are logical and don't need to be unique; e.g. input files for different jobs can have the same name. The system will create unique physical names.