Skip to content
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

Full circle reusing payloads (alpha quality) reached! #100

Merged
merged 62 commits into from
Jun 19, 2024
Merged

Conversation

jmfernandez
Copy link
Member

No description provided.

When a WRROC is generated for a CWL workflow execution, two workflows
are registered in it: the original one and the consolidated one.
The original one is used to generated the consolidated one, and the
consolidated one is used to run the workflow.

But the containers were not properly associated to the executions of this
last workflow.
* Added ContainerCacheHandler, where all the needed methods to manage container image snapshots are included.
* Simplified several parameters passed and used to instantiate ContainerFactory and its descendants.
* Rewritten SingularityContainerFactory, so it uses new instance of ContainerCacheHandler.
* Rewritten DockerContainerFactory, so it uses new instance of ContainerCacheHandler.
* Added an additional helper method, to know which files to expect in the staged working directories.
* Rewritten PodmanContainerFactory, so it uses new instance of ContainerCacheHandler.
…d, in order to support injected container images in the near commits.
… of a label are properly parsed.

Also, remove duplicated declaration, add an abstract declaration for local image manifests and add an additional check of the image digest.
…d container image is more correct.

Also, added initial Singularity container factory tests
…includes the registry.

Also, shared method with other container tests has been moved to `tests.containers.util`
… of `docker inspect`, to avoid possible collisions with other inspectable objects.
Also, fixed several misbehaviours and inconsistencies among them.
…he strictness.

Also, added all the needed intermediate method parameters to propagate
the values of these new parameters to the WF constructor.
…low, container images, cached inputs and environment.
This is needed to properly use zipfile.Path in several classes.
* First, both input and environment SPARLQ queries related to executions and staged workflows have been rebuilt, to improve them and give the row elements the very same column names.
* Then, a common method which performs input file validation has been developed, in order to discard "smelly" content.
* Last, the MaterializedInput instances are properly built by the common method.
Also, minor adjustments in method type annotations.
…ontent and LocalWorkflow.

This transition has caused major code changes in path handling, and also indirectly in workflow engines and container factories.
Invalidation of cached inputs and environment for replicability scenarios where either a cached input or environment is replaced with a new, unmaterialized one, has been implemented.

Also, rescued operational containers for re-staging scenario.
* Licences always have to be URIs, to properly validate against the staging definition schema.

* Staging definition params were wrongly labelled in their `c-l-a-s-s`.

* Also, licence curation method is now a public one at wfexs_backend.WfExSBackend instance.
Also, remove duplicated code moved to wfexs_backend in a previous commit.
…etc...

PS: The code still fails in some points
Next releases will be -alpha, -beta, -rc and 1.0.0.
@jmfernandez jmfernandez merged commit dc63202 into main Jun 19, 2024
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant