'Get connector information for the instance for attaching to volumes.
Connector information is a dictionary representing the hardware
information that will be making the connection. This information
consists of properties for protocols supported by the hardware.
If the hardware supports iSCSI protocol, iSCSI initiator IQN is
included as follows::
\'ip\': ip,
\'initiator\': initiator,
\'host\': hostname
:param instance: nova instance
:returns: A connector information dictionary'

def get_volume_connector(self, instance):

    node = self.ironicclient.call('node.get', instance.node)
    properties = self._parse_node_properties(node)
    connectors = self.ironicclient.call('node.list_volume_connectors', instance.node, detail=True)
    values = {}
    for conn in connectors:
        values.setdefault(conn.type, []).append(conn.connector_id)
    props = {}
    if values.get('ip'):
        props['ip'] = props['host'] = values['ip'][0]
    if values.get('iqn'):
        props['initiator'] = values['iqn'][0]
    if values.get('wwpn'):
        props['wwpns'] = values['wwpn']
    if values.get('wwnn'):
        props['wwnns'] = values['wwnn']
    props['platform'] = properties.get('cpu_arch')
    props['os_type'] = 'baremetal'
    props['multipath'] = False
    return props
