'Create a new host on the storage system.
We create a host and associate it with the given connection
information.'

def _create_host(self, connector):

    LOG.debug('enter:    _create_host:    host    %s.', connector['host'])
    rand_id = six.text_type(random.randint(0, 99999999)).zfill(8)
    host_name = ('%s-%s' % (self._connector_to_hostname_prefix(connector), rand_id))
    ports = []
    if (('FC' == self._protocol) and ('wwpns' in connector)):
        for wwpn in connector['wwpns']:
            ports.append(('-hbawwpn    %s' % wwpn))
    self._driver_assert(ports, _('_create_host:    No    connector    ports.'))
    port1 = ports.pop(0)
    (arg_name, arg_val) = port1.split()
    ssh_cmd = ['svctask', 'mkhost', '-force', arg_name, arg_val, '-name', ('"%s"' % host_name)]
    (out, err) = self._ssh(ssh_cmd)
    self._assert_ssh_return(('successfully    created' in out), '_create_host', ssh_cmd, out, err)
    for port in ports:
        (arg_name, arg_val) = port.split()
        ssh_cmd = ['svctask', 'addhostport', '-force', arg_name, arg_val, host_name]
        (out, err) = self._ssh(ssh_cmd)
        self._assert_ssh_return((not out.strip()), '_create_host', ssh_cmd, out, err)
    LOG.debug('leave:    _create_host:    host    %(host)s    -    %(host_name)s.', {'host': connector['host'], 'host_name': host_name})
    return host_name
