I am using Python to write job description files (the .xml files). Overall this is working really well...
But, I am finding that the XML parser that is used in the HPC Job Manager/job scheduler has a problem with the ordering of XML attributes in the Job tag.
Basically, if AutoCalculateMax="true" AutoCalculateMin="true" are put to early in the attribute list, they don't do anything. I found this out because the Python XML writer, orders the attributes in alphabetical order and these attributes are put first (they start with "A"). Below, I have included an example that shows this behavior. Just import the XML files into the Job Manager and you will see that it is NOT auto calculating the min/max.
I have heard of XML readers/writers that don't preserve attribute order in round trips (parse, then write), but this is because these tools use something like an unordered data structure internally for the attributes. But I have never heard of one whose parsing itself depends on the attribute order. Can someone look into this issue?
Brian, We are looking into the issue. This might be a bug on our part. In the meanwhile you could work around the issue by not writing out the mincores/minsockets/minnodes attributes if the autocalculatemin attribute is set to true. You could similarly not write out the maxcores/maxsockets/maxnodes attrubtes if the autocalcmax attribute is set.
Hopefully this will let you work around this problem.
Please let us know if this work around lets you create the jobs you want.
Brian, We are looking into the issue. This might be a bug on our part. In the meanwhile you could work around the issue by not writing out the mincores/minsockets/minnodes attributes if the autocalculatemin attribute is set to true. You could similarly not write out the maxcores/maxsockets/maxnodes attrubtes if the autocalcmax attribute is set.
Hopefully this will let you work around this problem.
Please let us know if this work around lets you create the jobs you want.