Add option in oned.conf for XML message size
|Core & System
This is to add an option similar to that in the scheduler for XML message sizes.
#1 Updated by Sara Vallero over 5 years ago
If the list of VMs belonging to a service and their attributes gets too large (> 512kB) the Abyss server with default configuration rejects the request. One can increase the max allowed size like this:
xmlrpc_limit_set(XMLRPC_XML_SIZE_LIMIT_ID, factor* XMLRPC_XML_SIZE_LIMIT_DEFAULT);
Where factor is an integer number, it would be good to be allowed to set this number from config.
#6 Updated by Carlos Martín over 5 years ago
- Status changed from New to Closed
- Resolution set to invalid
Actually this value can be already set in oned.conf with the MESSAGE_SIZE attribute:
The default value for OpenNebula is 1024MB, much higher than libxmlrpc's default of 512KB
#8 Updated by Carlos Martín over 5 years ago
In my understanding the parameter MESSAGE_SIZE refers to the response size. The problem occurs when the server receives a too large message from client, i.e. when trying to update a template.
MESSAGE_SIZE is set in two places:
1) In RequestManager.cc
According to the docs, the xmlrpc_limit_set call we do in RequestManager.cc applies to any operation encoding/decoding XML:
Actually I can see the server failing (HTTP-Error: 500) to perform a onetemplate update when I set the MESSAGE_SIZE to 512 and a big template is sent to oned.
For some reason the output of onetemplate list does not fail to return xml strings much bigger than 512 bytes... Maybe the responses are not processed as XML by libxmlrpc and this limit does not apply.
#9 Updated by Sara Vallero over 5 years ago
Ah now I understand: I'm using an older ON version (4.8) where the feature on server side was not in place yet.
I also cannot produce the failure when listing templates/vms etc... at least not with "one" cli. I have failures with boto though, but I'm not yet sure if it's related to the same issue.