def _update_service_profile(self, handle, service_profile,<EOL>vlan_id, ucsm_ip):
virtio_port_list = (<EOL>CONF.ml2_cisco_ucsm.ucsms[ucsm_ip].ucsm_virtio_eth_ports)<EOL>eth_port_paths = ["<STR_LIT>" % (service_profile, ep)<EOL>for ep in virtio_port_list]<EOL>vlan_name = self.make_vlan_name(vlan_id)<EOL>try:<EOL><INDENT>obj = handle.query_dn(service_profile)<EOL>if not obj:<EOL><INDENT>LOG.debug('<STR_LIT>'<EOL>'<STR_LIT>',<EOL>service_profile, ucsm_ip)<EOL>return False<EOL><DEDENT>for eth_port_path in eth_port_paths:<EOL><INDENT>eth = handle.query_dn(eth_port_path)<EOL>if eth:<EOL><INDENT>eth_if = self.ucsmsdk.vnicEtherIf(<EOL>parent_mo_or_dn=eth,<EOL>name=vlan_name,<EOL>default_net="<STR_LIT>")<EOL>handle.add_mo(eth_if)<EOL>if not eth_if:<EOL><INDENT>LOG.debug('<STR_LIT>'<EOL>'<STR_LIT>',<EOL>service_profile, vlan_id)<EOL>return False<EOL><DEDENT><DEDENT>else:<EOL><INDENT>LOG.debug('<STR_LIT>'<EOL>'<STR_LIT>', eth_port_path)<EOL><DEDENT><DEDENT>handle.commit()<EOL>return True<EOL><DEDENT>except Exception as e:<EOL><INDENT>return self._handle_ucsm_exception(e, '<STR_LIT>',<EOL>vlan_name, ucsm_ip)<EOL><DEDENT>
Updates Service Profile on the UCS Manager.

        Each of the ethernet ports on the Service Profile representing
        the UCS Server, is updated with the VLAN profile corresponding
        to the vlan_id passed in.