@lockutils.synchronized('<STR_LIT>')<EOL><INDENT>def update_port_postcommit(self, context):<DEDENT>
vlan_segment, vxlan_segment = self._get_segments(<EOL>context.top_bound_segment, context.bottom_bound_segment)<EOL>orig_vlan_segment, orig_vxlan_segment = self._get_segments(<EOL>context.original_top_bound_segment,<EOL>context.original_bottom_bound_segment)<EOL>if (self._is_vm_migrating(context, vlan_segment, orig_vlan_segment) or<EOL>self._is_status_down(context.current)):<EOL><INDENT>vni = (self._port_action_vxlan(<EOL>context.original, orig_vxlan_segment,<EOL>self._delete_nve_member) if orig_vxlan_segment else <NUM_LIT:0>)<EOL>self._port_action_vlan(context.original, orig_vlan_segment,<EOL>self._delete_switch_entry, vni)<EOL><DEDENT>elif self._is_supported_deviceowner(context.current):<EOL><INDENT>if nexus_help.is_baremetal(context.current):<EOL><INDENT>all_switches, active_switches = (<EOL>self._get_baremetal_switches(context.current))<EOL><DEDENT>else:<EOL><INDENT>host_id = context.current.get(bc.portbindings.HOST_ID)<EOL>all_switches, active_switches = (<EOL>self._get_host_switches(host_id))<EOL><DEDENT>if not active_switches and all_switches:<EOL><INDENT>raise excep.NexusConnectFailed(<EOL>nexus_host=all_switches[<NUM_LIT:0>], config="<STR_LIT:None>",<EOL>exc="<STR_LIT>"<EOL>"<STR_LIT>")<EOL><DEDENT>vni = self._port_action_vxlan(context.current, vxlan_segment,<EOL>self._configure_nve_member) if vxlan_segment else <NUM_LIT:0><EOL>self._port_action_vlan(context.current, vlan_segment,<EOL>self._configure_port_entries, vni)<EOL><DEDENT>
Update port non-database commit event.