However, short-cut them and return the empty list directly, as we do not need to do any change to the serial file.
Note that allocating 0 jobs has legitimate use cases, like gnt-node migrate on an empty node. Doing so without complaining in line with the behaviour of earlier Ganeti versions. Signed-off-by: Klaus Aehlig <[email protected]> --- src/Ganeti/JQueue.hs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Ganeti/JQueue.hs b/src/Ganeti/JQueue.hs index ecdd7b0..dad9e54 100644 --- a/src/Ganeti/JQueue.hs +++ b/src/Ganeti/JQueue.hs @@ -503,7 +503,10 @@ readSerialFromDisk = do allocateJobIds :: [Node] -> Lock -> Int -> IO (Result [JobId]) allocateJobIds mastercandidates lock n = if n <= 0 - then return . Bad $ "Can only allocate positive number of job ids" + then if n ==0 + then return $ Ok [] + else return . Bad + $ "Can only allocate non-negative number of job ids" else withLock lock $ do rjobid <- readSerialFromDisk case rjobid of -- 2.5.0.rc2.392.g76e840b
