From 1cd563e234d3636e6bd9805bc17cb8fe6aa01589 Mon Sep 17 00:00:00 2001 From: Iustin Pop <iustin@google.com> Date: Sun, 25 Nov 2012 16:10:12 +0100 Subject: [PATCH] Add two last missing opcodes OpInstanceQuery was missing accidentally, whereas OpRestrictedCommand was just recently added without Haskell definitions. The patch also slightly improves the OpNodeQuery arbitrary generation. Signed-off-by: Iustin Pop <iustin@google.com> Reviewed-by: Helga Velroyen <helgav@google.com> --- htest/Test/Ganeti/OpCodes.hs | 7 ++++++- htools/Ganeti/OpCodes.hs | 10 ++++++++++ htools/Ganeti/OpParams.hs | 7 +++++++ 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/htest/Test/Ganeti/OpCodes.hs b/htest/Test/Ganeti/OpCodes.hs index d34a74776..c18cfa82e 100644 --- a/htest/Test/Ganeti/OpCodes.hs +++ b/htest/Test/Ganeti/OpCodes.hs @@ -177,7 +177,7 @@ instance Arbitrary OpCodes.OpCode where getMaybe getName <*> getMaybe genNameNE <*> arbitrary <*> getMaybe genNameNE <*> arbitrary <*> arbitrary <*> emptyMUD "OP_NODE_QUERY" -> - OpCodes.OpNodeQuery <$> arbitrary <*> arbitrary <*> arbitrary + OpCodes.OpNodeQuery <$> genFieldsNE <*> arbitrary <*> genNamesNE "OP_NODE_QUERYVOLS" -> OpCodes.OpNodeQueryvols <$> arbitrary <*> genNodeNamesNE "OP_NODE_QUERY_STORAGE" -> @@ -248,6 +248,8 @@ instance Arbitrary OpCodes.OpCode where "OP_INSTANCE_RECREATE_DISKS" -> OpCodes.OpInstanceRecreateDisks <$> getFQDN <*> arbitrary <*> genNodeNamesNE <*> getMaybe genNameNE + "OP_INSTANCE_QUERY" -> + OpCodes.OpInstanceQuery <$> genFieldsNE <*> genNamesNE <*> arbitrary "OP_INSTANCE_QUERY_DATA" -> OpCodes.OpInstanceQueryData <$> arbitrary <*> genNodeNamesNE <*> arbitrary @@ -328,6 +330,9 @@ instance Arbitrary OpCodes.OpCode where OpCodes.OpNetworkDisconnect <$> genNameNE <*> genNameNE <*> arbitrary "OP_NETWORK_QUERY" -> OpCodes.OpNetworkQuery <$> genFieldsNE <*> genNamesNE + "OP_RESTRICTED_COMMAND" -> + OpCodes.OpRestrictedCommand <$> arbitrary <*> genNodeNamesNE <*> + genNameNE _ -> fail $ "Undefined arbitrary for opcode " ++ op_id -- * Helper functions diff --git a/htools/Ganeti/OpCodes.hs b/htools/Ganeti/OpCodes.hs index 663dade10..d6c656b71 100644 --- a/htools/Ganeti/OpCodes.hs +++ b/htools/Ganeti/OpCodes.hs @@ -347,6 +347,11 @@ $(genOpCode "OpCode" , pNodes , pIallocator ]) + , ("OpInstanceQuery", + [ pOutputFields + , pNames + , pUseLocking + ]) , ("OpInstanceQueryData", [ pUseLocking , pInstances @@ -517,6 +522,11 @@ $(genOpCode "OpCode" [ pOutputFields , pNames ]) + , ("OpRestrictedCommand", + [ pUseLocking + , pRequiredNodes + , pRestrictedCommand + ]) ]) -- | Returns the OP_ID for a given opcode value. diff --git a/htools/Ganeti/OpParams.hs b/htools/Ganeti/OpParams.hs index a5b48bcd9..a83ec3d99 100644 --- a/htools/Ganeti/OpParams.hs +++ b/htools/Ganeti/OpParams.hs @@ -188,6 +188,7 @@ module Ganeti.OpParams , pX509KeyName , pX509DestCA , pTagSearchPattern + , pRestrictedCommand , pDelayRepeat , pIAllocatorDirection , pIAllocatorMode @@ -1152,6 +1153,12 @@ pTagSearchPattern :: Field pTagSearchPattern = renameField "TagSearchPattern" $ simpleField "pattern" [t| NonEmptyString |] +-- | Restricted command name. +pRestrictedCommand :: Field +pRestrictedCommand = + renameField "RestrictedCommand" $ + simpleField "command" [t| NonEmptyString |] + -- * Test opcode parameters -- | Repeat parameter for OpTestDelay. -- GitLab