Resolution of PC Direct Upload Failures (Prism Central 7.3+)
Following the upgrade to Prism Central (PC) 7.3.x or higher, the direct upload functionality in LCM may fail with various errors.
In versions 7.3 and later, LCM direct upload transitions to using API calls directed at the objects-lite pod. The successful creation of this pod depends on the Microservices Platform (MSP) ports and protocols being fully reachable during the upgrade when the pc_platform_bootstrap process runs.
If this process fails:
- The pci namespace is not created.
- The objects-lite pod (required for uploads) and security dashboard pods are not deployed.
- Note that MSP may still report as « Healthy » even if these specific pods are missing.
Since the MSP apps bundle cannot be uploaded via « direct upload », you are forced to go through Nutanix servers or via a web server. This method is entirely my own and is not official. If you are not confident, please do not hesitate to contact Nutanix support.
Local PCVM Web Server
In « Dark Site » environments where an external web server is unavailable, you can use the PCVM to host the LCM metadata and binary files locally.
- Create the directory
- mkdir -p ~/tmp/lcm_webserver
- Move your LCM bundle and PC upgrade files (Framework and MSP APPS available from Nutanix portal download).
- mv ~/tmp/lcm_dark_site_bundle_.tar.gz ~/tmp/lcm_webserver/ mv ~/tmp/pc-app-onprem-.tar.gz ~/tmp/lcm_webserver/
- cd ~/tmp/lcm_webserver
- Extract and set permissions
- tar -xzvf lcm_dark_site_bundle_*.tar.gz
- chmod -R 755 ~/tmp/lcm_webserver/
- Start Temporary Web Server
- Open Firewall Port: sudo iptables -I INPUT -p tcp –dport 5051 -j ACCEPT
- Launch Python HTTP Server: screen -dmS lcm_webserver python -m http.server 5051
- Validate: Run curl http://<PCVM_IP>:5051 to ensure the directory listing is visible.
- Configure LCM and Restart Services
- configure_lcm –disable_https
- configure_lcm -u http://<IP-PCVM>:5051 –enable_darksite
- Restart svcmgr pod : sudo kubectl delete po -n ntnx-base $(sudo kubectl get po -n ntnx-base | grep svcmgr | awk ‘{print $1}’)
- Restart Bootstrap : allssh ‘genesis stop pc_platform_bootstrap’; cluster start
- Cleanup
- Set LCM back to default: configure_lcm –disable_darksite
- Kill the web server: Enter screen -r and press Ctrl+C.
- Remove temporary files and restart iptables to clear the temporary rule: sudo systemctl restart iptables.