'Creates or modifies existing 3PAR host.'

def _create_host(self, common, volume, connector):

    host = None
    hostname = common._safe_hostname(connector['host'])
    cpg = common.get_cpg(volume, allowSnap=True)
    domain = common.get_domain(cpg)
    try:
        host = common._get_3par_host(hostname)
        hosts = common.client.queryHost(wwns=connector['wwpns'])
        (host, hostname) = common._get_prioritized_host_on_3par(host, hosts, hostname)
    except hpeexceptions.HTTPNotFound:
        persona_id = common.get_persona_type(volume)
        hostname = self._create_3par_fibrechan_host(common, hostname, connector['wwpns'], domain, persona_id)
        host = common._get_3par_host(hostname)
        return host
    else:
        return self._add_new_wwn_to_host(common, host, connector['wwpns'])
