def update_serviceprofile(self, host_id, vlan_id):
ucsm_ip = self.get_ucsm_ip_for_host(host_id)<EOL>if not ucsm_ip:<EOL><INDENT>LOG.info('<STR_LIT>'<EOL>'<STR_LIT>', str(host_id))<EOL>return False<EOL><DEDENT>service_profile = self.ucsm_sp_dict.get((ucsm_ip, host_id))<EOL>if service_profile:<EOL><INDENT>LOG.debug('<STR_LIT>',<EOL>service_profile)<EOL><DEDENT>else:<EOL><INDENT>LOG.info('<STR_LIT>'<EOL>'<STR_LIT>', host_id)<EOL>return False<EOL><DEDENT>with self.ucsm_connect_disconnect(ucsm_ip) as handle:<EOL><INDENT>if not self._create_vlanprofile(handle, vlan_id, ucsm_ip):<EOL><INDENT>LOG.error('<STR_LIT>'<EOL>'<STR_LIT>', str(vlan_id))<EOL>return False<EOL><DEDENT>if not self._update_service_profile(handle,<EOL>service_profile,<EOL>vlan_id,<EOL>ucsm_ip):<EOL><INDENT>LOG.error('<STR_LIT>'<EOL>'<STR_LIT>'<EOL>'<STR_LIT>',<EOL>{'<STR_LIT>': service_profile, '<STR_LIT>': ucsm_ip})<EOL>return False<EOL><DEDENT><DEDENT>return True<EOL>
Top level method to update Service Profiles on UCS Manager.

        Calls all the methods responsible for the individual tasks that
        ultimately result in a vlan_id getting programed on a server's
        ethernet ports and the Fabric Interconnect's network ports.