[Bug 2015377] Re: If dhcp port is deleted from neutron, it is never recreated

Brian Haley 2015377 at bugs.launchpad.net
Fri Apr 7 00:09:28 UTC 2023


I added neutron to this bug since it seems like there is a difference
between ML2/OVS and OVN when it comes to disabling/enabling dhcp on a
subnet.

$ openstack port list --fixed-ip
subnet=8dc6fc50-7ea1-4165-b8f7-50c331f16060 --device-owner network:dhcp

| 3b0180c8-cee0-445e-937e-ce22c3650422 |      | fa:16:3e:2b:94:5d |
ip_address='10.0.0.2', subnet_id='8dc6fc50-7ea1-4165-b8f7-50c331f16060'

$ openstack subnet set --no-dhcp 8dc6fc50-7ea1-4165-b8f7-50c331f16060
$ openstack port list --fixed-ip subnet=8dc6fc50-7ea1-4165-b8f7-50c331f16060 --device-owner network:dhcp
<nothing>

$ openstack subnet set --dhcp 8dc6fc50-7ea1-4165-b8f7-50c331f16060
stack at virtualbox-2204:~/devstack$ openstack port list --fixed-ip subnet=8dc6fc50-7ea1-4165-b8f7-50c331f16060 --device-owner network:dhcp

| 3b0180c8-cee0-445e-937e-ce22c3650422 |      | fa:16:3e:2b:94:5d |
ip_address='10.0.0.2', subnet_id='8dc6fc50-7ea1-4165-b8f7-50c331f16060'

So it was deleted and re-created.

It actually is a very simple change to the OVN code to even *try* to
recreate the OVN port, worked with a quick test, so I'll propose a
change to neutron for it.

-- 
You received this bug notification because you are a member of Ubuntu
OpenStack, which is subscribed to neutron in Ubuntu.
https://bugs.launchpad.net/bugs/2015377

Title:
  If dhcp port is deleted from neutron, it is never recreated

Status in neutron:
  New
Status in neutron package in Ubuntu:
  New

Bug description:
  This is happening in charmed OpenStack yoga/stable using ovn 22.03.

  Neutron version is 2:20.2.0-0ubuntu1

  If the dhcp port of a subnet is deleted via OpenStack API, this will
  never be recreated even toggling the dhcp on the subnet with:

  openstack subnet set --no-dhcp/--dhcp <uuid>

  This will cause also a missing route for metadata in OVN DHCP_Options:

  i.e.

  _uuid               : 2d4871f5-b675-4978-b291-a1ea7bb5bd4c
  cidr                : "192.168.100.0/24"
  external_ids        : {"neutron:revision_number"="1", subnet_id="62b269e0-6668-48ae-9728-aacd7a99df95"}
  options             : {dns_server="{91.189.91.131, 91.189.91.132}", lease_time="43200", mtu="1500", router="192.168.100.1", server_id="192.168.100.1", server_mac="fa:16:3e:15:13:e6"}

  
  Note the missing classless_static_route="{169.254.169.254/32,192.168.100.2,0.0.0.0/0,192.168.100.1}"

  
  Even if the dhcp port is then recreated manually with device-id ovnmeta-<net-uuid> and device-owner network:distributed, the missing route won't be added to ovn causing VM creation failure. 

  The routes will appear again in OVN DHCP_Options table only when
  updating the subnet host-routes with:

  openstack subnet set --host-route destination=<subnet>,gateway=<ip-
  address> <uuid>

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




More information about the Ubuntu-openstack-bugs mailing list