-
Type: Sub-task
-
Resolution: Fixed
-
Priority: Major
-
Affects Version/s: master, 5.0.1
-
Component/s: Workflow API Libraries
-
None
In the API, dict (not OrderedDict) and set are used in various places. When we serialize the objects to YAML, they can be written out in an indeterministic manner. When comparing yaml files, produced by the same workflow generator, this can make it difficult.
https://github.com/pegasus-isi/pegasus/blob/c2ef72677d61a3a286409c6995a057d3c7dbde45/packages/pegasus-api/src/Pegasus/api/workflow.py#L1868-L1878 <-- try setting object_pairs_hook=OrderedDict
Where sets are used, use an OrderedDict instead.