We are attempting to automate the VMware NSX upgrade process using tools such as curl or Ansible modules.
The Main Upgrade Bundle (MUB) file is being transferred from a remote Linux machine or copied from within a containerized environment.
The upload process appears to complete, but the NSX Manager rejects the file and displays the following error message: "Signature check of Main Upgrade Bundle(mub) file failed. Tampering with downloaded bundle is not supported"
Uploading the exact same MUB file manually via the UI from a local system succeeds without errors.
The issue is intermittent; subsequent attempts to upload the same file may succeed.
VMware NSX
This error occurs when the NSX Manager's strict cryptographic hash validation of the uploaded MUB file fails.
When transferring large upgrade bundles across networks via automated scripts, especially when moving files into containers or across remote Linux jump boxes, intermittent packet loss, network latency, or incomplete copy operations can result in a silently truncated or slightly corrupted file. Because the payload's checksum no longer matches the expected signature, the NSX Manager proactively rejects the file as "tampered" to prevent a corrupted upgrade.
Because the source file is fundamentally healthy (proven by the successful local upload), this is an intermittent environmental transit issue.
Immediate Workaround:
Best Practices for Automation: To prevent this issue in automated workflows, implement the following guardrails:
Before the Ansible playbook or curl script initiates the API upload to the NSX Manager, add a pre-task to run a checksum validation (e.g., md5sum or sha256sum) on the MUB file residing on the container/remote Linux machine. Compare this against the official VMware checksum to ensure the file was completely copied to the jump box before transit.
Add a retry-loop in your automation script that catches the specific signature failure error and automatically re-attempts the upload.