[OVN] Fix: Disabling snat after it was enabled
This patch removes a conditional check in the update_router() method which was verifying if snat was enabled in order to update the nat rules. This check does not make sense in the update method as if snat was disabled we should still call update_nat_rules() which will then remove the NAT entry from the OVN NB DB. Change-Id: Ice20d22365acaf33ee211b1e38b7d0bc151c1ba8 Closes-Bug: #1922089 Signed-off-by: Lucas Alvares Gomes <lucasagomes@gmail.com>
This commit is contained in:
parent
309639ca89
commit
ddc8e625f7
|
@ -1224,11 +1224,10 @@ class OVNClient(object):
|
|||
else:
|
||||
# Check if snat has been enabled/disabled and update
|
||||
new_snat_state = gateway_new.get('enable_snat', True)
|
||||
if bool(ovn_snats) != new_snat_state:
|
||||
if utils.is_snat_enabled(new_router) and networks:
|
||||
self.update_nat_rules(
|
||||
new_router, networks,
|
||||
enable_snat=new_snat_state, txn=txn)
|
||||
if bool(ovn_snats) != new_snat_state and networks:
|
||||
self.update_nat_rules(
|
||||
new_router, networks,
|
||||
enable_snat=new_snat_state, txn=txn)
|
||||
|
||||
update = {'external_ids': self._gen_router_ext_ids(new_router)}
|
||||
update['enabled'] = new_router.get('admin_state_up') or False
|
||||
|
|
|
@ -891,8 +891,6 @@ class TestOVNL3RouterPlugin(test_mech_driver.Ml2PluginV2TestCase):
|
|||
'ovn_client.OVNClient._check_external_ips_changed')
|
||||
@mock.patch.object(utils, 'get_lrouter_snats')
|
||||
@mock.patch.object(utils, 'get_lrouter_ext_gw_static_route')
|
||||
@mock.patch('neutron.common.ovn.utils.is_snat_enabled',
|
||||
mock.Mock(return_value=True))
|
||||
@mock.patch('neutron.plugins.ml2.drivers.ovn.mech_driver.ovsdb.'
|
||||
'ovn_client.OVNClient._get_router_ports')
|
||||
@mock.patch('neutron.db.extraroute_db.ExtraRoute_dbonly_mixin.'
|
||||
|
|
Loading…
Reference in New Issue