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

Yan 919 - Workflow signature mechanism #133

Merged
merged 372 commits into from
May 12, 2022
Merged

Yan 919 - Workflow signature mechanism #133

merged 372 commits into from
May 12, 2022

Conversation

pritchardn
Copy link
Collaborator

This PR includes a comprehensive workflow signature mechanism based on MerkleTrees and hash-graphs. With only a single additional parameter, DALiuGE will extract provenance information from all layers of a workflow through to individual drop execution and weave this information into a single structure, saved to a separate file on a per-session basis.

In addition to merging the work done throughout the related master's degree, this PR adds:

  • An 'ALL' mode to the signature generator, building information for each possible standard defined
  • Adjusts how information is extracted from drops themselves, permitting more customised options and a simpler method to add new fields
  • Makes all added hooks more robust to failure
  • Includes signature generation as part of the rest API
  • Updates some of the test graphs to use the latest structure that EAGLE generates.

Work to still be done:

  • More extensive documentation (will come in a separate PR) outlining technical aspects and overall motivation
  • Proper handling of MKN nodes - links made between outer and inner nodes needs careful handling. Current behaviour does not cause errors, but is not, in principle, correct

pritchardn and others added 30 commits July 27, 2020 12:56
# Conflicts:
#	daliuge-common/dlg/common/reproducibility/constants.py
#	daliuge-runtime/dlg/graph_loader.py
Adds other TODOs critical for Repetition that were missed before.
…nd JSON drops (boilerplate) in Repeat accumulate
# Conflicts:
#	daliuge-common/dlg/common/reproducibility/constants.py
#	daliuge-common/dlg/common/reproducibility/reproducibility.py
Instead we remove duplicate values at the block-building stage. Also fixes a pgt/pg blockdag parenthash appending bug
…ectively initializing the runtime drop data)
pritchardn and others added 25 commits April 14, 2022 09:40
Attempts to get field values rather than descriptions.
# Conflicts:
#	daliuge-common/dlg/common/__init__.py
#	daliuge-engine/dlg/apps/pyfunc.py
#	daliuge-engine/dlg/apps/simple.py
#	daliuge-engine/dlg/drop.py
#	daliuge-engine/dlg/graph_loader.py
#	daliuge-engine/dlg/manager/web/static/js/dm.js
#	daliuge-engine/dlg/rpc.py
#	daliuge-engine/fabfile/APPspecific.py
#	daliuge-engine/test/apps/test_pyfunc.py
#	daliuge-engine/test/graphs/test_graphExecution.py
#	daliuge-translator/dlg/dropmake/scheduler.py
#	tools/xml2palette/xml2palette.py
…imately run (e.g. gathers) will not have any runtime data themselves.
Adds test for rflag serialization
Refactors rflag_caster
# Conflicts:
#	daliuge-engine/dlg/deploy/helm_client.py
#	daliuge-engine/dlg/deploy/start_helm_cluster.py
#	daliuge-engine/test/deploy/test_helm_deploy.py
#	daliuge-translator/dlg/dropmake/web/lg_web.py
…ence to reproducibility information (a backwards compatibility consideration)
@pritchardn pritchardn merged commit 897d74f into master May 12, 2022
awicenec pushed a commit that referenced this pull request May 19, 2022
Yan 919 - Workflow signature mechanism
pritchardn added a commit that referenced this pull request May 20, 2022
Yan 919 - Workflow signature mechanism
@awicenec awicenec deleted the yan-919 branch May 9, 2023 13:17
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

2 participants