$ 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@virtualbox-2204:~/devstack$ openstack port list --fixed-ip subnet=8dc6fc50-7ea1-4165-b8f7-50c331f16060 --device-owner network:dhcp
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.
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-50c331f160 60 --device-owner network:dhcp
| 3b0180c8- cee0-445e- 937e-ce22c36504 22 | | fa:16:3e:2b:94:5d | ip_address= '10.0.0. 2', subnet_ id='8dc6fc50- 7ea1-4165- b8f7-50c331f160 60'
$ openstack subnet set --no-dhcp 8dc6fc50- 7ea1-4165- b8f7-50c331f160 60 8dc6fc50- 7ea1-4165- b8f7-50c331f160 60 --device-owner network:dhcp
$ openstack port list --fixed-ip subnet=
<nothing>
$ openstack subnet set --dhcp 8dc6fc50- 7ea1-4165- b8f7-50c331f160 60 x-2204: ~/devstack$ openstack port list --fixed-ip subnet= 8dc6fc50- 7ea1-4165- b8f7-50c331f160 60 --device-owner network:dhcp
stack@virtualbo
| 3b0180c8- cee0-445e- 937e-ce22c36504 22 | | fa:16:3e:2b:94:5d | ip_address= '10.0.0. 2', subnet_ id='8dc6fc50- 7ea1-4165- b8f7-50c331f160 60'
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.