When attempting to edit the server cost drivers in Aria Operations it fails to save and gives the following error: "Server is busy. Please try again later. If issue still persists, contact the system administrator."
Aria Operations:
Entries in web.log:
INFO [ajp-nio-127.0.0.1-8009-exec-22] com.vmware.vcops.ui.util.MainPortalListener.log - No result defined for action com.vmware.vcops.ui.action.CostDriverAction and result input ( Url: /ui/costDriver.action Params: mainAction=saveServerGroups )
Aria Operations 8.x
This issue is due to struts limitation of data being sent as payload. Struts framework has reduced the payload size to a much smaller value. Hence the save isn't working.
An immediate workaround is to export the cost drivers, edit the spreadsheet, then re-import it. Here are the steps:
You are prompted with error messages if the uploaded file has errors. You can correct the errors and upload the file, or you can ignore the errors, the system still allows you to upload the file.
For a more permanent solution when using Aria Operations 8.18.x, please follow the alternative steps outlined below.
Determining Payload Size for Modifying struts.xml
Configuration
To determine the size of the payload generated in Aria Operations, which is necessary to update the struts.xml file with appropriate values.
Steps:
Log in to Aria Operations:
Log into the Aria Operations interface using an admin account.
Navigate to Cost Drivers:
From the main menu, go to Configurations > Cost > Cost Drivers.
Enable Developer Mode in Chrome Browser:
In Chrome, enable Developer Mode by following these steps:
Press Ctrl + Shift + I (Windows)
or Cmd + Option + I (Mac)
to open the Developer Tools.
Click the three-dot menu in the upper-right corner of the browser, then select More Tools > Developer Tools.
Select the Server Group:
Choose the Server Group that requires editing, and make any necessary changes to the values.
Access the Network Tab in Developer Tools:
In the Developer Tools window, go to the Network tab.
Locate and select the Payload section related to the action being performed.
Copy the Payload Data:
Copy the entire payload data from the Payload tab.
Paste the copied data into a Notepad or any text editor.
Check the Payload Size:
In the Notepad (or text editor), review the payload data and check the size of the file (you can use the properties of the file or check the word count in some editors).
Modify struts.xml
Configuration:
Based on the size of the payload data, increase the value for struts.multipart.maxStringLength
in the struts.xml
configuration file. Follow the steps below to modify this setting:
Take snapshots of the Aria Operations cluster.
cd /usr/lib/vmware-vcops/tomcat-web-app/webapps/ui/WEB-INF/classes/
cp struts.xml struts.xml.old
vi struts.xml
<constant name="struts.multipart.maxStringLength" value="16384"/> to <constant name="struts.multipart.maxStringLength" value="<32678>"/>
service vmware-vcops-web restart
This issue is permanently fixed in VCF 9.0.0.