On Mon, Jan 21, 2013 at 5:18 PM, Helga Velroyen <[email protected]> wrote:
> When creating a network, so far no size constraints were checked.
> We no limit the size of a network to a /30 or bigger, although

Also s/no/now/ on this line :)

Thanks,

Guido


> tecnically, the ipaddr library supports even /32 networks.
>
> Signed-off-by: Helga Velroyen <[email protected]>
> ---
>  lib/network.py |    7 +++++++
>  1 files changed, 7 insertions(+), 0 deletions(-)
>
> diff --git a/lib/network.py b/lib/network.py
> index cc3bfd6..eb10ba3 100644
> --- a/lib/network.py
> +++ b/lib/network.py
> @@ -29,6 +29,9 @@ from bitarray import bitarray
>
>  from ganeti import errors
>
> +# minimum number of hosts of a network
> +NETWORK_SIZE_MIN = 4
> +
>
>  class AddressPool(object):
>    """Address pool class, wrapping an C{objects.Network} object.
> @@ -55,6 +58,10 @@ class AddressPool(object):
>      self.net = network
>
>      self.network = ipaddr.IPNetwork(self.net.network)
> +    if self.network.numhosts < NETWORK_SIZE_MIN:
> +      raise errors.AddressPoolError("A network of size %s is too small. 
> Please "
> +                                    "specify at least a /30 network." %
> +                                    str(self.network.numhosts))
>      if self.net.gateway:
>        self.gateway = ipaddr.IPAddress(self.net.gateway)
>
> --
> 1.7.7.3
>



--
Guido Trotter
Ganeti engineering
Google Germany

Reply via email to