Repository navigation
0.3.0
Release notes for simrun 0.3.0
Faster workflows on the cluster and the first models of pkdb_models on it: a split task gets only the pods its work pays for, the service follows Argo through a watch instead of a poll, and the images of the environments have the system library which every SBML model needs. Locally, simrun submit --local runs every task type of sbmlsim and the projects at the root of a checkout, e.g. the tutorial workflow of sbmlsim.
Features
- The split sized by the work. A task of the split mode
fastestgets no pod without a unit for each of its processes, and once the seconds of a unit are learned, a further pod only while every pod still has at leastpod_start_sof work (new inClusterConfig, 10 s). A pod which started after the others had taken the units only held cores.demo.squareslearns persleep_s. See Split modes. - A watch of the workflows. The service watches the workflows of the runs and reconciles a run as soon as Argo changes it;
poll_sis the fallback. The event streams of the web app check the store everyevents_poll_s(new, 0.5 s) instead of everypoll_s. Argo requeues a workflow after 1 s instead of 2 s, so the next task of a workflow starts about a second earlier. A workflow of two split tasks and a command takes 35 to 38 s on the k3d test cluster instead of 40 s; most of the rest is the start of the pods. - System packages in the images. The images of the environments install the Debian packages of
ClusterConfig.system_packageson the base image, by defaultlibexpat1, which the wheel of python-libsbml links. A fit of a pkdb_models model failed on the cluster without it. An image is named by its Dockerfile as well, so another base image or other system packages give a new image. - Projects at the root of a checkout. A task imports from the root of the model first, as
python -min its checkout: the projects at the root of a checkout which no package installs, e.g. theexamplesof sbmlsim, run through simrun, and the client plans with the same path (SourceProvenance.path, new). - The settings form of the Editor. It leaves out the fields the JSON Schema marks
readOnly, which the plan of a type sets, e.g.units, and shows no placeholdernull. The logs of a task in the inspector can wrap their lines at its width (wrap lines). - Tables on 80 columns. The tables of the command line have a rule under the header instead of a frame and keep every value whole: a long value wraps in its column, numbers are right-aligned. The list of runs has no columns for the agent and the time of creation, which the submitter and the run id carry.
Fixes
- An unsplit task of a plugin type, e.g.
sbmlsim.simulateorsbmlsim.report, failed on the local backend withneeds the image of the run, and the run has none: a local run has no image, and the argv of the task is now built without one (podspec.unsplit_argv). - A local task runs with the environment of the service activated, so the command of a plugin (
python -m ...) finds its python also when the service runs from a virtual environment which is not activated. - A pod of a split task has no more processes than the task has units, so the other cores stay free for other tasks; an identifiability analysis of three parameters took every core of the machine before.
- The manifest, the Dockerfile and the deployment documentation of the service named simrun 0.1.0;
bump-my-versionnow updates them with the version.
Upgrading
- Apply
deploy/clusteragain: the controller of Argo getsDEFAULT_REQUEUE_TIME=1s. The Role of the service grantswatchon workflows already. - Every model builds its image once more on its first run, as the images are named anew; the images of 0.2.0 lack libexpat.
events_poll_s,pod_start_sandsystem_packagesare optional settings with defaults.