During NSX upgrades, the Management Plane upgrade may start automatically immediately following the completion of the Transport Node upgrade, even when manual intervention was not intended. This behavior occurs when external automation tools, such as Ansible scripts, invoke the continue API call without specifying the required component type.
You see Envoy logs similar to below snippet:
/var/log/proxy/envoy.log
[2026-07-21T10:48:11.101Z] #.#.#.# #.#.#.# "POST" "/api/v1/upgrade/plan?action=upgrade" "HTTP/1.1" 0 DC 0 0 30030 - "#.#.#.#" "ansible-httpget" "12abc37a-###-###-###-5517f14" "#.#.#.#" "127.0.0.1:7442"[2026-07-21T10:53:46.139Z] #.#.#.# #.#.#.# "POST" "/api/v1/upgrade/plan?action=upgrade" "HTTP/1.1" 400 - 0 240 5496 149 "#.#.#.#" "ansible-httpget" "1106a5e0-###-###-###-ddfg9a082165" "#.#.#.#" "127.0.0.1:7442"[2026-07-21T08:20:55.168Z] #.#.#.# #.#.#.# "POST" "/api/v1/upgrade/plan?action=upgrade" "HTTP/1.1" 200 - 0 0 12015 9707 "#.#.#.#" "ansible-httpget" "2b26a56c-###-####-####-7655ad276f58" "#.#.#.#" "127.0.0.1:7442"
VMware NSX
The automatic progression to the Management Plane is triggered when an external API call (POST /api/v1/upgrade/plan?action=upgrade) is executed without the necessary component_type URL parameter. Because the parameter is missing, the NSX Upgrade Coordinator interprets the request as a generic command to continue the entire upgrade plan. Upon detecting that the Host (TN) phase is complete, it automatically advances to the next component in the queue.
To prevent unintended automatic progression to the Management Plane, update your automation scripts to include the component_type parameter when initiating upgrade actions.
curl command).component_type parameter to the API request.POST /api/v1/upgrade/plan?action=upgrade&component_type=MANAGEMENT_PLANE