def create_node(self, name, size, image, location, ex_ssh_key_ids=None):
        params = {'DCID': location.id, 'VPSPLANID': size.id,
                  'OSID': image.id, 'label': name}

        if ex_ssh_key_ids is not None:
            params['SSHKEYID'] = ','.join(ex_ssh_key_ids)

        result = self.connection.post('/v1/server/create', params)
        if result.status != httplib.OK:
            return False

        subid = result.object['SUBID']

        retry_count = 3
        created_node = None

        for i in range(retry_count):
            try:
                nodes = self.list_nodes()
                created_node = [n for n in nodes if n.id == subid][0]
            except __HOLE__:
                time.sleep(1)
                pass
            else:
                break

        return created_node
dataset/ETHPy150Open apache/libcloud/libcloud/compute/drivers/vultr.py/VultrNodeDriver.create_node