'Cleanup after connection has been terminated.
When we clean up a terminated connection between a given connector
and volume, we:
1. Translate the given connector to a host name
2. Remove the volume-to-host mapping if it exists
3. Delete the host if it has no more mappings (hosts are created
automatically by this driver when mappings are created)'

@fczm_utils.remove_fc_zone
@utils.synchronized('flashsystem-term-conn', external=True)
def terminate_connection(self, volume, connector, **kwargs):

    LOG.debug('enter:    terminate_connection:    volume    %(vol)s    with    connector    %(conn)s.', {'vol': volume, 'conn': connector})
    return_data = {'driver_volume_type': 'fibre_channel', 'data': {}}
    vdisk_name = volume['name']
    self._wait_vdisk_copy_completed(vdisk_name)
    self._unmap_vdisk_from_host(vdisk_name, connector)
    host_name = self._get_host_from_connector(connector)
    if (not host_name):
        properties = {}
        conn_wwpns = self._get_conn_fc_wwpns()
        properties['target_wwn'] = conn_wwpns
        properties['initiator_target_map'] = self._build_initiator_target_map(connector['wwpns'], conn_wwpns)
        return_data['data'] = properties
    LOG.debug('leave:    terminate_connection:    volume    %(vol)s    with    connector    %(conn)s.', {'vol': volume, 'conn': connector})
    return return_data
