, simpleField "highest_used_port" [t| Int |]
, simpleField "tcpudp_port_pool" [t| [Int] |]
, simpleField "mac_prefix" [t| String |]
- , simpleField "volume_group_name" [t| String |]
+ , optionalField $
+ simpleField "volume_group_name" [t| String |]
, simpleField "reserved_lvs" [t| [String] |]
, optionalField $
simpleField "drbd_usermode_helper" [t| String |]
import Control.Applicative
import Data.List
+import Data.Maybe
import qualified Data.Map as Map
import qualified Text.JSON as J
maybeCollectLiveData False _ nodes =
return $ zip nodes (repeat $ Left (RpcResultError "Live data disabled"))
maybeCollectLiveData True cfg nodes = do
- let vgs = [clusterVolumeGroupName $ configCluster cfg]
+ let vgs = maybeToList . clusterVolumeGroupName $ configCluster cfg
hvs = [getDefaultHypervisor cfg]
step n (bn, gn, em) =
let ndp' = getNodeNdParams cfg n
, ("master_netmask", showJSON $ clusterMasterNetmask cluster)
, ("use_external_mip_script",
showJSON $ clusterUseExternalMipScript cluster)
- , ("volume_group_name", showJSON $ clusterVolumeGroupName cluster)
+ , ("volume_group_name",
+ maybe JSNull showJSON (clusterVolumeGroupName cluster))
, ("drbd_usermode_helper",
maybe JSNull showJSON (clusterDrbdUsermodeHelper cluster))
, ("file_storage_dir", showJSON $ clusterFileStorageDir cluster)