← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1597979] [NEW] Can not get the advertised routes without using subnet pool

 

Public bug reported:

After enable the neutron-dynamic-routing, in the case below, the
advertised routes will return null, that is wrong. Note, in this case,
we do not define the address scope, and we just define a subnet pool,
but we do not use it. So considering backward compatibilities, we should
get the advertised routes (destination 10.0.0.0/24, next-hop 172.24.4.2)

1> Create a default shared subnet pool

yangyubj@yang-devstack-ubuntu-1604:/opt/stack/neutron$ neutron subnetpool-show 07f8a928-afb3-4ba8-ba46-cb70c6d9c073
+-------------------+--------------------------------------+
| Field             | Value                                |
+-------------------+--------------------------------------+
| address_scope_id  |                                      |
| created_at        | 2016-06-01T09:32:52                  |
| default_prefixlen | 24                                   |
| default_quota     |                                      |
| description       |                                      |
| id                | 07f8a928-afb3-4ba8-ba46-cb70c6d9c073 |
| ip_version        | 4                                    |
| is_default        | True                                 |
| max_prefixlen     | 32                                   |
| min_prefixlen     | 8                                    |
| name              | shared-default-subnetpool            |
| prefixes          | 10.0.0.0/8                           |
| shared            | True                                 |
| tenant_id         | 21734c4383284cf9906b7fe8246bffb1     |
| updated_at        | 2016-06-01T09:32:52                  |
+-------------------+--------------------------------------+

2> Create a network & subnet without using this subnet pool

yangyubj@yang-devstack-ubuntu-1604:/opt/stack/neutron$ neutron net-list
+--------------------------------------+---------------------+----------------------------------------------------+
| id                                   | name                | subnets                                            |
+--------------------------------------+---------------------+----------------------------------------------------+
| 2bbae2a1-912f-44d9-ace0-7906e2042985 | subnetpool-test-net | 178a4603-5e14-4af1-9478-419e2bb575e2 50.0.9.0/24   |
| 19c94190-c1b4-44bd-9f65-7ff82168eedb | private             | 1c6b725e-890e-4454-8842-7ff22ffa704b 10.0.0.0/24   |
| ed949ba4-6566-4fa5-9f54-2284492ec44d | public              | b442c453-7e4a-4568-9d70-1dde91a65fbb 172.24.4.0/24 |
+--------------------------------------+---------------------+----------------------------------------------------+
yangyubj@yang-devstack-ubuntu-1604:/opt/stack/neutron$ neutron subnet-show 1c6b725e-890e-4454-8842-7ff22ffa704b
+-------------------+--------------------------------------------+
| Field             | Value                                      |
+-------------------+--------------------------------------------+
| allocation_pools  | {"start": "10.0.0.2", "end": "10.0.0.254"} |
| cidr              | 10.0.0.0/24                                |
| created_at        | 2016-06-01T09:32:41                        |
| description       |                                            |
| dns_nameservers   |                                            |
| enable_dhcp       | True                                       |
| gateway_ip        | 10.0.0.1                                   |
| host_routes       |                                            |
| id                | 1c6b725e-890e-4454-8842-7ff22ffa704b       |
| ip_version        | 4                                          |
| ipv6_address_mode |                                            |
| ipv6_ra_mode      |                                            |
| name              | private-subnet                             |
| network_id        | 19c94190-c1b4-44bd-9f65-7ff82168eedb       |
| subnetpool_id     |                                            |
| tenant_id         | 0067bdc8021148f9972a83a26256f944           |
| updated_at        | 2016-06-01T09:32:41                        |
+-------------------+--------------------------------------------+

3> Create router, and add router interface for private subnet, set
gateway for public network.

yangyubj@yang-devstack-ubuntu-1604:/opt/stack/neutron$ neutron router-port-list router1
+--------------------------------------+------+-------------------+------------------------------------------------+
| id                                   | name | mac_address       | fixed_ips                                      |
+--------------------------------------+------+-------------------+------------------------------------------------+
| 83d1b599-b6be-42b9-837d-517eeff4054f |      | fa:16:3e:c7:6e:25 | {"subnet_id":                                  |
|                                      |      |                   | "178a4603-5e14-4af1-9478-419e2bb575e2",        |
|                                      |      |                   | "ip_address": "50.0.9.1"}                      |
| dc675aab-5a8b-462c-872e-2f791b6c1730 |      | fa:16:3e:e5:a2:d2 | {"subnet_id": "1c6b725e-                       |
|                                      |      |                   | 890e-4454-8842-7ff22ffa704b", "ip_address":    |
|                                      |      |                   | "10.0.0.1"}                                    |
| e15c701d-868f-4171-a282-e6a4567a8d83 |      | fa:16:3e:28:86:4c | {"subnet_id":                                  |
|                                      |      |                   | "b442c453-7e4a-4568-9d70-1dde91a65fbb",        |
|                                      |      |                   | "ip_address": "172.24.4.2"}                    |
+--------------------------------------+------+-------------------+------------------------------------------------+

4> Verify the BGP advertised routes. They got null.

yangyubj@yang-devstack-ubuntu-1604:/opt/stack/neutron$ neutron bgp-
speaker-advertiseroute-list bgp-speaker

yangyubj@yang-devstack-ubuntu-1604:

** Affects: neutron
     Importance: Undecided
     Assignee: Yang Yu (yuyangbj)
         Status: New

** Changed in: neutron
     Assignee: (unassigned) => Yang Yu (yuyangbj)

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

Title:
  Can not get the advertised routes without using subnet pool

Status in neutron:
  New

Bug description:
  After enable the neutron-dynamic-routing, in the case below, the
  advertised routes will return null, that is wrong. Note, in this case,
  we do not define the address scope, and we just define a subnet pool,
  but we do not use it. So considering backward compatibilities, we
  should get the advertised routes (destination 10.0.0.0/24, next-hop
  172.24.4.2)

  1> Create a default shared subnet pool

  yangyubj@yang-devstack-ubuntu-1604:/opt/stack/neutron$ neutron subnetpool-show 07f8a928-afb3-4ba8-ba46-cb70c6d9c073
  +-------------------+--------------------------------------+
  | Field             | Value                                |
  +-------------------+--------------------------------------+
  | address_scope_id  |                                      |
  | created_at        | 2016-06-01T09:32:52                  |
  | default_prefixlen | 24                                   |
  | default_quota     |                                      |
  | description       |                                      |
  | id                | 07f8a928-afb3-4ba8-ba46-cb70c6d9c073 |
  | ip_version        | 4                                    |
  | is_default        | True                                 |
  | max_prefixlen     | 32                                   |
  | min_prefixlen     | 8                                    |
  | name              | shared-default-subnetpool            |
  | prefixes          | 10.0.0.0/8                           |
  | shared            | True                                 |
  | tenant_id         | 21734c4383284cf9906b7fe8246bffb1     |
  | updated_at        | 2016-06-01T09:32:52                  |
  +-------------------+--------------------------------------+

  2> Create a network & subnet without using this subnet pool

  yangyubj@yang-devstack-ubuntu-1604:/opt/stack/neutron$ neutron net-list
  +--------------------------------------+---------------------+----------------------------------------------------+
  | id                                   | name                | subnets                                            |
  +--------------------------------------+---------------------+----------------------------------------------------+
  | 2bbae2a1-912f-44d9-ace0-7906e2042985 | subnetpool-test-net | 178a4603-5e14-4af1-9478-419e2bb575e2 50.0.9.0/24   |
  | 19c94190-c1b4-44bd-9f65-7ff82168eedb | private             | 1c6b725e-890e-4454-8842-7ff22ffa704b 10.0.0.0/24   |
  | ed949ba4-6566-4fa5-9f54-2284492ec44d | public              | b442c453-7e4a-4568-9d70-1dde91a65fbb 172.24.4.0/24 |
  +--------------------------------------+---------------------+----------------------------------------------------+
  yangyubj@yang-devstack-ubuntu-1604:/opt/stack/neutron$ neutron subnet-show 1c6b725e-890e-4454-8842-7ff22ffa704b
  +-------------------+--------------------------------------------+
  | Field             | Value                                      |
  +-------------------+--------------------------------------------+
  | allocation_pools  | {"start": "10.0.0.2", "end": "10.0.0.254"} |
  | cidr              | 10.0.0.0/24                                |
  | created_at        | 2016-06-01T09:32:41                        |
  | description       |                                            |
  | dns_nameservers   |                                            |
  | enable_dhcp       | True                                       |
  | gateway_ip        | 10.0.0.1                                   |
  | host_routes       |                                            |
  | id                | 1c6b725e-890e-4454-8842-7ff22ffa704b       |
  | ip_version        | 4                                          |
  | ipv6_address_mode |                                            |
  | ipv6_ra_mode      |                                            |
  | name              | private-subnet                             |
  | network_id        | 19c94190-c1b4-44bd-9f65-7ff82168eedb       |
  | subnetpool_id     |                                            |
  | tenant_id         | 0067bdc8021148f9972a83a26256f944           |
  | updated_at        | 2016-06-01T09:32:41                        |
  +-------------------+--------------------------------------------+

  3> Create router, and add router interface for private subnet, set
  gateway for public network.

  yangyubj@yang-devstack-ubuntu-1604:/opt/stack/neutron$ neutron router-port-list router1
  +--------------------------------------+------+-------------------+------------------------------------------------+
  | id                                   | name | mac_address       | fixed_ips                                      |
  +--------------------------------------+------+-------------------+------------------------------------------------+
  | 83d1b599-b6be-42b9-837d-517eeff4054f |      | fa:16:3e:c7:6e:25 | {"subnet_id":                                  |
  |                                      |      |                   | "178a4603-5e14-4af1-9478-419e2bb575e2",        |
  |                                      |      |                   | "ip_address": "50.0.9.1"}                      |
  | dc675aab-5a8b-462c-872e-2f791b6c1730 |      | fa:16:3e:e5:a2:d2 | {"subnet_id": "1c6b725e-                       |
  |                                      |      |                   | 890e-4454-8842-7ff22ffa704b", "ip_address":    |
  |                                      |      |                   | "10.0.0.1"}                                    |
  | e15c701d-868f-4171-a282-e6a4567a8d83 |      | fa:16:3e:28:86:4c | {"subnet_id":                                  |
  |                                      |      |                   | "b442c453-7e4a-4568-9d70-1dde91a65fbb",        |
  |                                      |      |                   | "ip_address": "172.24.4.2"}                    |
  +--------------------------------------+------+-------------------+------------------------------------------------+

  4> Verify the BGP advertised routes. They got null.

  yangyubj@yang-devstack-ubuntu-1604:/opt/stack/neutron$ neutron bgp-
  speaker-advertiseroute-list bgp-speaker

  yangyubj@yang-devstack-ubuntu-1604:

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


Follow ups