summaryrefslogtreecommitdiff
path: root/openstack_dashboard/dashboards/project/networks/ports/workflows.py
diff options
context:
space:
mode:
Diffstat (limited to 'openstack_dashboard/dashboards/project/networks/ports/workflows.py')
-rw-r--r--openstack_dashboard/dashboards/project/networks/ports/workflows.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/openstack_dashboard/dashboards/project/networks/ports/workflows.py b/openstack_dashboard/dashboards/project/networks/ports/workflows.py
index 8638d60ff..425b6240c 100644
--- a/openstack_dashboard/dashboards/project/networks/ports/workflows.py
+++ b/openstack_dashboard/dashboards/project/networks/ports/workflows.py
@@ -405,10 +405,18 @@ class UpdatePort(workflows.Workflow):
name = self.context['name'] or self.context['port_id']
return message % name
+ def _port_security_unchanged(self, request, port_id, params):
+ new = params.get('port_security_enabled')
+ port = api.neutron.port_get(request, port_id)
+ existing = port.get('port_security_enabled')
+ return existing == new
+
def handle(self, request, data):
port_id = self.context['port_id']
LOG.debug('params = %s', data)
params = self._construct_parameters(data)
+ if self._port_security_unchanged(request, port_id, params):
+ params.pop('port_security_enabled')
try:
api.neutron.port_update(request, port_id, **params)
return True