This adds the fields 'inst_cnt' and 'inst_list' to the Haskell implementation of the network queries.
Signed-off-by: Helga Velroyen <[email protected]> --- src/Ganeti/Query/Network.hs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/Ganeti/Query/Network.hs b/src/Ganeti/Query/Network.hs index 0101687..6ba0ce4 100644 --- a/src/Ganeti/Query/Network.hs +++ b/src/Ganeti/Query/Network.hs @@ -73,6 +73,12 @@ networkFields = , (FieldDefinition "group_cnt" "GroupCount" QFTOther "Number of node groups", FieldConfig (\cfg -> rsNormal . length . getGroupConnections cfg . networkUuid), QffNormal) + , (FieldDefinition "inst_list" "InstanceList" QFTOther "List of instances", + FieldConfig (\cfg -> rsNormal . getInstances cfg . networkUuid), + QffNormal) + , (FieldDefinition "inst_cnt" "InstanceCount" QFTOther "Number of instances", + FieldConfig (\cfg -> rsNormal . length . getInstances cfg + . networkUuid), QffNormal) ] ++ uuidFields "Network" ++ serialFields "Network" ++ @@ -116,3 +122,13 @@ getNicMode nic_params = getNicLink :: PartialNicParams -> String getNicLink nic_params = fromMaybe "-" (nicpLinkP nic_params) +-- | Retrieves the network's instances' names. +getInstances :: ConfigData -> String -> [String] +getInstances cfg network_uuid = + map instName (filter (instIsConnected network_uuid) + ((Map.elems . fromContainer . configInstances) cfg)) + +-- | Helper function that checks if an instance is linked to the given network. +instIsConnected :: String -> Instance -> Bool +instIsConnected network_uuid inst = + network_uuid `elem` map networkUuid (mapMaybe nicNetwork (instNics inst)) -- 1.8.1 -- You received this message because you are subscribed to the Google Groups "ganeti-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
