-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Run a pipeline in a container #751
Comments
Been thinking about this today, sifting through Container code to get a better idea of how a Pipeline would be represented in JSON. Can anyone see anything missing from this tentative representation:
|
The |
Having looked a little more, I am wondering if we should store some of the UI representation information like (x,y) coordinates etc in case we ever want to edit or make a new version of it. If so, in addition to the above info:
I don't think I'm qualified to dig much into the Javascript/Typescript code that defines the UI but I am hoping that much of it could be repurposed -- if our API serves it a list of files in the uploaded tarfile, it could hopefully be handled by modifying the code that makes the menu to select/produce Method nodes in the existing Pipeline UI. I'm guessing we would like a bit of code that allows you to define methods from files within the Pipeline UI also. If no one objects I may just start digging into producing a |
Including the display stuff seems like a good idea. It might be a helpful exercise to create an example @jamesnakagawa, will you have time to work on the Pipeline UI in the next few weeks, or should I take a stab at it? |
That's a good idea, I'll have a go at it. |
I think this covers everything that we would need to actually carry out the pipeline. I made something up for the The Example JSON moved to top comment. |
I suggest we avoid a custom invocation field until we need it. Can't we just use |
Yeah, sounds good, let's go with that. |
I have a cunning idea! 😈 Also, I suggest we write the Kive version into
|
Another small edit: inputs don't need a |
I will work on the UI changes, and @rhliang will work on the server changes. We'll both make updates to the |
Part of #751. I moved it and copied it back, so the annotations would get carried into the container app. The pipeline app will get deleted soon.
I suggest we tweak the parent configuration in
To this:
This clarifies that it's for the parent, not the archive container. It also matches the fields on the container - there is no name, only a tag and a family name. |
Also configure the vagrant user to be able to run tests.
Only write headers when there is actual output.
Also filter parent containers. Make driver scripts executable.
Also stop Slurm breaking after Vagrant reboot.
Don't write archive container copies to a subfolder.
…rly configured when running archive containers. This is part of #751.
WOOT! |
Now that issue #739 has added a simpler pipeline configuration based on Singularity, we'd still like to support the old style of pipeline where a developer can wire a bunch of scripts together into a pipeline.
pipeline.json
file in the tar.gz file with the scripts./mnt/bin
, plus a driver script that reads thepipeline.json
file and executes the steps.pipeline.json
, and uploading it to another Kive server. A Kive container can be either a Singularity image or a tar.gz file. The tar.gz file is a layer on top of the default Singularity image.pipeline.json
, it can copy thepipeline.json
from the previous revision in the container family.Implementation steps:
Container
model. That means that the child's container file will be extracted and mounted under the parent's/mnt/bin
folder. Then the parent container runs.pipeline.json
file to the server.pipeline.json
.pipeline.json
file into a zip container.pipeline.json
.container.tests.ContainerApiTests.test_create_singularity()
.singularity exec
, based on the steps in the container'spipeline.json
file.pipeline.json
contents are invalid.pipeline.json
is updated.Example JSON:
The
pipeline.json
file wouldn't hold the list of files. It would just have everything in thepipeline
entry. The full JSON would appear in the GET response to/api/containers/123/contents
.The text was updated successfully, but these errors were encountered: