← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1979528] Re: neutron dnsmasq keeps pushing the default gateway

 

Looking into osc code I realized it is actually possible to leave a
subnet's gateway unset with the following arcane syntax:

$ openstack subnet create --network net0 --subnet-range CIDR --gateway
none NAME

And this is actually documented:

$ openstack subnet create -h
...
  --gateway <gateway>
      Specify a gateway for the subnet. The three options are: <ip-address>: Specific IP address to use as the gateway, 'auto': Gateway address should automatically be chosen from within the subnet itself, 'none': This subnet will not use a gateway, e.g.: --gateway 192.168.9.1, --gateway auto, --gateway none (default is 'auto').
...

** Changed in: neutron
       Status: New => 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/1979528

Title:
  neutron dnsmasq keeps pushing the default gateway

Status in neutron:
  Invalid

Bug description:
  neutron dnsmasq keeps pushing the default gateway via "0.0.0.0/0" even
  when an empty router option has been defined for a port.

  Here are some internal of the dnsmasq opts on the agent side:

  $ cat /var/lib/neutron/dhcp/b7b18782-1419-4fdc-8395-619ae8a8372a/opts
  tag:subnet-6bafc9a4-2181-42bf-ae35-fba7fa249256,option:classless-static-route,10.100.0.0/26,10.180.0.1,10.10.136.0/24,10.180.0.1,10.10.22.0/24,10.180.0.1,10.10.28.0/24,10.180.0.1,10.10.46.0/24,10.180.0.1,123.123.1.123/32,10.180.0.1,123.123.2.32/27,10.180.0.1,169.254.169.254/32,10.180.0.3,0.0.0.0/0,10.180.0.1
  tag:subnet-6bafc9a4-2181-42bf-ae35-fba7fa249256,249,10.100.0.0/26,10.180.0.1,10.10.136.0/24,10.180.0.1,10.10.22.0/24,10.180.0.1,10.10.28.0/24,10.180.0.1,10.10.46.0/24,10.180.0.1,123.123.1.123/32,10.180.0.1,123.123.2.32/27,10.180.0.1,169.254.169.254/32,10.180.0.3,0.0.0.0/0,10.180.0.1
  tag:subnet-6bafc9a4-2181-42bf-ae35-fba7fa249256,option:router,10.180.0.1
  tag:port-07769b80-b493-40c9-bf78-5cd78a5f9af0,option:router
  tag:port-2dc4792c-5d7e-4c10-9dcf-6b81e5dd4cd2,option:router
  tag:port-438a608a-badd-439a-be51-d4e10c1aaafc,option:router
  tag:port-54b4cc66-4eba-4b59-84a8-cc3582f76d5f,option:router
  tag:port-5b9b05e2-a247-4ca4-9e90-5cd4d0825772,option:router
  tag:port-691ea1ba-0ab0-4210-b6f3-a2281ee15f05,option:router
  tag:port-8cd9ec95-b9ee-4ede-be06-2143acb28513,option:router
  tag:port-8e86dd29-e274-4ddb-b6c6-8fbb80936d6b,option:router
  tag:port-9d38b6d8-7f44-4ab6-a3a9-814455b52340,option:router
  tag:port-ecfd965f-4961-4b65-9c79-0a26c31b836d,option:router
  tag:port-f9413026-f384-4b91-9021-b1e0139e2fb9,option:router
  tag:subnet-6bafc9a4-2181-42bf-ae35-fba7fa249256,option:dns-server,10.180.0.3,10.180.0.2

  Here is a port definition:

  $ openstack port show 5b9b05e2-a247-4ca4-9e90-5cd4d0825772 -f value -c extra_dhcp_opts
  [{'opt_name': 'router', 'opt_value': '', 'ip_version': 4}]

  Here is a subnet definition:

  $ openstack subnet show 6bafc9a4-2181-42bf-ae35-fba7fa249256
  +----------------------+------------------------------------------------------+
  | Field                | Value                                                |
  +----------------------+------------------------------------------------------+
  | allocation_pools     | 10.180.0.2-10.180.0.254                              |
  | cidr                 | 10.180.0.0/24                                        |
  | created_at           | 2022-02-18T17:12:29Z                                 |
  | description          |                                                      |
  | dns_nameservers      |                                                      |
  | dns_publish_fixed_ip | None                                                 |
  | enable_dhcp          | True                                                 |
  | gateway_ip           | 10.180.0.1                                           |
  | host_routes          | destination='10.100.0.0/26', gateway='10.180.0.1'    |
  |                      | destination='10.10.136.0/24', gateway='10.180.0.1'   |
  |                      | destination='10.10.22.0/24', gateway='10.180.0.1'    |
  |                      | destination='10.10.28.0/24', gateway='10.180.0.1'    |
  |                      | destination='10.10.46.0/24', gateway='10.180.0.1'    |
  |                      | destination='123.123.1.123/32', gateway='10.180.0.1' |
  |                      | destination='123.123.2.32/27', gateway='10.180.0.1'  |
  | id                   | 6bafc9a4-2181-42bf-ae35-fba7fa249256                 |
  | ip_version           | 4                                                    |
  | ipv6_address_mode    | None                                                 |
  | ipv6_ra_mode         | None                                                 |
  | name                 | subnet-data                                          |
  | network_id           | b7b18782-1419-4fdc-8395-619ae8a8372a                 |
  | project_id           | ba3fddd34b014b208e55a8047574fb60                     |
  | revision_number      | 36                                                   |
  | segment_id           | None                                                 |
  | service_types        |                                                      |
  | subnetpool_id        | None                                                 |
  | tags                 | skip-monitoring                                      |
  | updated_at           | 2022-06-20T14:30:39Z                                 |
  +----------------------+------------------------------------------------------+

  You can clearly see that it does have a gateway_ip, but I don't want
  it to be pushed to a VM (multiple network interfaces). I also
  configured a custom dnsmasq option: empty "option:router", but dnsmasq
  still has the "0.0.0.0/0,10.180.0.1" which is interpreted as a default
  GW in OS (ubuntu 20.04):

  $ cat /run/systemd/netif/leases/2  | grep '0\.0\.0\.0'
  ROUTES=10.100.0.0/26,10.180.0.1 10.10.136.0/24,10.180.0.1 10.10.22.0/24,10.180.0.1 10.10.28.0/24,10.180.0.1 10.10.46.0/24,10.180.0.1 123.123.1.123/32,10.180.0.1 123.123.2.32/27,10.180.0.1 169.254.169.254/32,10.180.0.2 0.0.0.0/0,10.180.0.1

  There should be a way to get rid of 0.0.0.0/0 destination.

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



References