I think it is not a bug. When needing to create a point to point connection via 
a subnet, /30 is the recommended cidr.
Because the first IP address is considered as Network ID, and the last IP 
address is considered as broadcast address, the other IP address can be 
allocated, in a given subnet.

** Changed in: neutron
       Status: Confirmed => Invalid

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1580927

Title:
  spans beyond the subnet for /31 and /32 in IPam

Status in neutron:
  Invalid

Bug description:
  summary:  When needing to create a point to point connection via a
  subnet, generally and /31 is the recommended cidr.  Neutron supports
  /31 via disabling dhcp and gateway on a subnet.   However, IPam does
  not provide the allocation pool of the subnet properly and a VM cannot
  be created.

  Steps to reproduce

  root@ubuntu:~# neutron subnet-create  --disable-dhcp --no-gateway 
--cidr=10.14.0.20/31 --name bug-subnet 69c5342a-5526-4257-880a-f8fd2e633de9
  Created a new subnet:
  +-------------------+--------------------------------------+
  | Field             | Value                                |
  +-------------------+--------------------------------------+
  | allocation_pools  |                                      |
  | cidr              | 10.14.0.20/31                        |
  | dns_nameservers   |                                      |
  | enable_dhcp       | False                                |
  | gateway_ip        |                                      |
  | host_routes       |                                      |
  | id                | 63ce4e26-9838-4fa3-b2d5-e59f88f5b7ce |
  | ip_version        | 4                                    |
  | ipv6_address_mode |                                      |
  | ipv6_ra_mode      |                                      |
  | name              | bug-subnet                           |
  | network_id        | 69c5342a-5526-4257-880a-f8fd2e633de9 |
  | subnetpool_id     |                                      |
  | tenant_id         | ca02fc470acc4a27b468dff32ee850b2     |
  +-------------------+--------------------------------------+
  root@ubuntu:~# neutron subnet-update --allocation-pool 
start=10.14.0.20,end=10.14.0.21 bug-subnet
  The allocation pool 10.14.0.20-10.14.0.21 spans beyond the subnet cidr 
10.14.0.20/31.

  Recommended Fix:

  in db/ipam_backend_mixin.py :: function: validate_allocation_pools
  ~~lines: 276

             if start_ip < subnet_first_ip or end_ip > subnet_last_ip:
                  LOG.info(_LI("Found pool larger than subnet "
                               "CIDR:%(start)s - %(end)s"),
                           {'start': start_ip, 'end': end_ip})
                  raise n_exc.OutOfBoundsAllocationPool(
                      pool=ip_pool,
                      subnet_cidr=subnet_cidr)

  This if block should have a special case for ipv4 /31 and /32  for "<= and 
>=" :   
                  start_ip <= subnet_first_ip or end_ip >= subnet_last_ip

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1580927/+subscriptions

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to