_CheckNetworkType = ht.TElemOf(constants.NETWORK_VALID_TYPES)
-#: Network type parameter
-_PNetworkType = ("network_type", None, ht.TMaybe(_CheckNetworkType),
- "Network type")
-
@ht.WithDesc("IPv4 network")
def _CheckCIDRNetNotation(value):
OP_DSC_FIELD = "network_name"
OP_PARAMS = [
_PNetworkName,
- _PNetworkType,
+ ("network_type", None, ht.TMaybe(_CheckNetworkType), "Network type"),
("network", ht.NoDefault, _TIpNetwork4, "IPv4 subnet"),
("gateway", None, ht.TMaybe(_TIpAddress4), "IPv4 gateway"),
("network6", None, ht.TMaybe(_TIpNetwork6), "IPv6 subnet"),
OP_DSC_FIELD = "network_name"
OP_PARAMS = [
_PNetworkName,
- _PNetworkType,
- ("gateway", None, ht.TMaybe(_TIpAddress4), "IPv4 gateway"),
- ("network6", None, ht.TMaybe(_TIpNetwork6), "IPv6 subnet"),
- ("gateway6", None, ht.TMaybe(_TIpAddress6), "IPv6 gateway"),
- ("mac_prefix", None, ht.TMaybeString,
+ ("network_type", None, ht.TMaybeValueNone(_CheckNetworkType),
+ "Network type"),
+ ("gateway", None, ht.TMaybeValueNone(_TIpAddress4), "IPv4 gateway"),
+ ("network6", None, ht.TMaybeValueNone(_TIpNetwork6), "IPv6 subnet"),
+ ("gateway6", None, ht.TMaybeValueNone(_TIpAddress6), "IPv6 gateway"),
+ ("mac_prefix", None, ht.TMaybeValueNone(ht.TString),
"MAC address prefix that overrides cluster one"),
("add_reserved_ips", None, _TMaybeAddr4List,
"Which external IP addresses to reserve"),
import unittest
+from ganeti import constants
from ganeti import ht
import testutils
self.assertFalse(fn(None))
+ def testMaybeValueNone(self):
+ fn = ht.TMaybeValueNone(ht.TInt)
+
+ self.assertTrue(fn(None))
+ self.assertTrue(fn(0))
+ self.assertTrue(fn(constants.VALUE_NONE))
+
+ self.assertFalse(fn(""))
+ self.assertFalse(fn([]))
+ self.assertFalse(fn(constants.VALUE_DEFAULT))
+
if __name__ == "__main__":
testutils.GanetiTestProgram()