I can't get nodebalancer.node.update to work, all my attempts result in a "Something wasn't handled well. Logged." error. I don't have issues with other nodebalancer calls, such as nodebalancer.node.list.
I was using the
Python Linode API bindings when I first came across this
issue. But then I tried following the API reference to generate the requests using Python urllib and get the same error.
Here's the console log, minus private info:
Code:
In [1]: import urllib, urllib2
In [2]: req = urllib2.Request('https://api.linode.com/api/?' + urllib.urlencode({'api_key': 'APIKEY', 'api_action': 'nodebalancer.node.list', 'configid': 1234, 'api_responseformat': 'json', 'mode': 'accept'}))
In [3]: urllib2.urlopen(req).read()
Out[3]: '{"ERRORARRAY":[],"DATA":[{"WEIGHT":100,"ADDRESS":"xxx.xxx.xxx.xxx","LABEL":"xxx","NODEID":###,"MODE":"accept","CONFIGID":1234, "STATUS":"UP","NODEBALANCERID":1111},{"WEIGHT":100,"ADDRESS":"xxx.xxx.xxx.xxx","LABEL":"xxx","NODEID":###,"MODE":"accept","CONFIGID":1234,"STATUS":"UP","NODEBALANCERID":2222}],"ACTION":"nodebalancer.node.list"}'
In [4]: req = urllib2.Request('https://api.linode.com/api/?' + urllib.urlencode({'api_key': 'APIKEY', 'api_action': 'nodebalancer.node.update', 'nodeid': 1111, 'api_responseformat': 'json', 'mode': 'accept'}))
In [5]: urllib2.urlopen(req).read()
Out[5]: '{"ERRORARRAY":[{"ERRORCODE":500,"ERRORMESSAGE":"Something wasn\'t handled well. Logged."}],"DATA":{},"ACTION":"nodebalancer.node.update"}'