It has job lists! It has bug fixes in the Haskell code! And in the Python code (one more bug in the Python code found by Haskell…)! And probably adds new bugs as well :)
It passes however tests and QA, so it's good for review. Iustin Pop (27): Fix small typo in OpTestDelay/duration definition Add a type for the log type in job/opcode logs Add optional formatting for OP_DSC_FIELD Implement opcode summary support Simplify a bit the FilterRegex JSON instance Implement support for QFF_SPLIT_TIMESTAMP Export more paths from Path.hs Generalise the test helper 'genUniquesList' Export jstore constants as well to Constants.hs Reduce logging level in tests Add new Haskell library dependency for tests Abstract code related to job ID creation Add a read-only job queue module Change makeSimpleFilter accept NumericValues as well Support 'null' in Luxi QueryJobs names field Fix disk_template OpInstSetParams parameter Make two common opcode parameters always serialised Fix parsing of absolute job dependencies Introduce NFData instances for JSON types Add NFData instances for query results Switch Luxi sendMsg from strict to lazy ByteStrings Add support for job queries in hconfd Move a node-specific function to Query.Node Enable job queries via confd in gnt-node and RAPI Extend job ID parsing tests Split and extend Confd types tests Fix two logging messages in TLReplaceDisks Makefile.am | 5 + autotools/convert-constants | 2 + configure.ac | 1 + doc/devnotes.rst | 5 +- htest/Test/Ganeti/Confd/Types.hs | 116 +++++++++++++ htest/Test/Ganeti/Confd/Utils.hs | 16 +- htest/Test/Ganeti/HTools/Container.hs | 2 +- htest/Test/Ganeti/HTools/Types.hs | 2 +- htest/Test/Ganeti/JQueue.hs | 302 +++++++++++++++++++++++++++++++++ htest/Test/Ganeti/OpCodes.hs | 14 +- htest/Test/Ganeti/Query/Filter.hs | 6 +- htest/Test/Ganeti/Query/Query.hs | 67 +++++++- htest/Test/Ganeti/TestCommon.hs | 11 +- htest/Test/Ganeti/Types.hs | 42 ++++- htest/test.hs | 8 + htools/Ganeti/JQueue.hs | 282 ++++++++++++++++++++++++++++++ htools/Ganeti/JSON.hs | 17 ++ htools/Ganeti/Luxi.hs | 12 +- htools/Ganeti/OpCodes.hs | 76 ++++++++- htools/Ganeti/OpParams.hs | 16 +- htools/Ganeti/Path.hs | 27 ++- htools/Ganeti/Query/Common.hs | 12 +- htools/Ganeti/Query/Filter.hs | 25 ++- htools/Ganeti/Query/Group.hs | 29 ++-- htools/Ganeti/Query/Job.hs | 151 +++++++++++++++++ htools/Ganeti/Query/Language.hs | 13 +- htools/Ganeti/Query/Node.hs | 66 ++++--- htools/Ganeti/Query/Query.hs | 111 +++++++++--- htools/Ganeti/Query/Server.hs | 13 +- htools/Ganeti/Query/Types.hs | 11 +- htools/Ganeti/Types.hs | 38 +++-- lib/client/gnt_job.py | 11 +- lib/cmdlib.py | 4 +- lib/opcodes.py | 22 ++- lib/rapi/rlib2.py | 4 +- test/ganeti.opcodes_unittest.py | 10 ++ 36 files changed, 1397 insertions(+), 152 deletions(-) create mode 100644 htest/Test/Ganeti/Confd/Types.hs create mode 100644 htest/Test/Ganeti/JQueue.hs create mode 100644 htools/Ganeti/JQueue.hs create mode 100644 htools/Ganeti/Query/Job.hs -- 1.7.10.4