'Don\'t block until GoGrid allocates id for a node
but return right away with id == None.
The existence of this method is explained by the fact
that GoGrid assigns id to a node only few minutes after
creation.
:keyword    name:   String with a name for this new node (required)
:type       name:   ``str``
:keyword    size:   The size of resources allocated to this node .
(required)
:type       size:   :class:`NodeSize`
:keyword    image:  OS Image to boot on node. (required)
:type       image:  :class:`NodeImage`
:keyword    ex_description: Description of a Node
:type       ex_description: ``str``
:keyword    ex_ip: Public IP address to use for a Node. If not
specified, first available IP address will be picked
:type       ex_ip: ``str``
:rtype: :class:`GoGridNode`'

def ex_create_node_nowait(self, **kwargs):

    name = kwargs['name']
    image = kwargs['image']
    size = kwargs['size']
    try:
        ip = kwargs['ex_ip']
    except KeyError:
        ip = self._get_first_ip(kwargs.get('location'))
    params = {'name': name, 'image': image.id, 'description': kwargs.get('ex_description', ''), 'server.ram': size.id, 'ip': ip}
    object = self.connection.request('/api/grid/server/add', params=params, method='POST').object
    node = self._to_node(object['list'][0])
    return node
