get_nsx_manager_status
Check NSX Manager cluster health and status, including node conditions and version information, to monitor VMware NSX networking infrastructure.
Instructions
Get NSX Manager cluster status (node health, cluster status, version).
Args: target: Optional NSX Manager target name from config. Uses default if omitted.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| target | No |
Implementation Reference
- mcp_server/server.py:329-339 (handler)The MCP tool definition and handler wrapper for get_nsx_manager_status in the MCP server.
def get_nsx_manager_status(target: str | None = None) -> dict: """Get NSX Manager cluster status (node health, cluster status, version). Args: target: Optional NSX Manager target name from config. Uses default if omitted. """ from vmware_nsx.ops.health import get_nsx_manager_status as _get_mgr_status client = _get_connection(target) return _get_mgr_status(client) - vmware_nsx/ops/health.py:156-198 (handler)The actual implementation logic of get_nsx_manager_status (renamed to get_manager_status in health.py).
def get_manager_status(client: NsxClient) -> dict: """Get NSX Manager cluster status. Returns: Dict with cluster health, control/mgmt plane status, and node info. """ data = client.get("/api/v1/cluster/status") nodes = data.get("mgmt_cluster_status", {}).get("online_nodes", []) return { "cluster_id": _sanitize(data.get("cluster_id", "")), "overall_status": data.get("detailed_cluster_status", {}).get( "overall_status", "" ), "control_cluster_status": data.get( "control_cluster_status", {} ).get("status", ""), "mgmt_cluster_status": data.get( "mgmt_cluster_status", {} ).get("status", ""), "online_node_count": len(nodes), "nodes": [ { "uuid": _sanitize(n.get("uuid", "")), "mgmt_cluster_listen_addr": _sanitize( n.get("mgmt_cluster_listen_addr", {}).get( "ip_address", "" ) ), } for n in nodes ], "groups": [ { "group_id": _sanitize(g.get("group_id", "")), "group_status": g.get("group_status", ""), "group_type": g.get("group_type", ""), } for g in data.get("detailed_cluster_status", {}).get( "groups", [] ) ], }