'Detach a volume from a node.
:param  volume: Volume object to detach
:type   volume: :class:`StorageVolume`
:keyword  ex_node: Node object to detach volume from (required)
:type     ex_node: :class:`Node`
:return:  True if successful
:rtype:   ``bool``'

def detach_volume(self, volume, ex_node=None):

    if (not ex_node):
        return False
    request = ('/zones/%s/instances/%s/detachDisk?deviceName=%s' % (ex_node.extra['zone'].name, ex_node.name, volume.name))
    self.connection.async_request(request, method='POST', data='ignored')
    return True
