US10333797B2ActiveUtilityA1

Centralized troubleshooting tool in distributed virtual network

77
Assignee: NICIRA INCPriority: Aug 28, 2015Filed: Aug 28, 2015Granted: Jun 25, 2019
Est. expiryAug 28, 2035(~9.1 yrs left)· nominal 20-yr term from priority
H04L 67/2842H04L 41/26H04L 41/22H04L 41/0879H04L 67/568
77
PatentIndex Score
3
Cited by
25
References
23
Claims

Abstract

A novel centralized troubleshooting tool that enables user to troubleshoot a distributed virtual network with a single consistent user interface is provided. The distributed virtual network being monitored or debugged by the centralized troubleshooting tool includes different types of logical resources (LRs) that placed or distributed across different physical endpoints (PEs). The centralized troubleshooting tool provides functions that allow the user to invoke commands on different physical endpoints in order to collect information about the logical resources running in those physical endpoints. This allows the user to compare and analyze the information from different PEs for a same LR.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A method for troubleshooting a network comprising a plurality of physical endpoints implementing a set of logical resources, at least one logical resource spanning a plurality of the physical endpoints, the method comprising:
 at a network manager for the network:
 providing a command line interface (CLI) for troubleshooting the network, the CLI comprising a command history cache for storing previously invoked commands that can be reused; 
 receiving a troubleshooting command for the CLI, the troubleshooting command comprising a set of unresolved parameters; 
 in response to receiving the troubleshooting command (i) identifying a set of parameters for each unresolved parameter and (ii) generating from the received troubleshooting command a set of troubleshooting commands, each generated troubleshooting command of the set comprising an action referenced by the received troubleshooting command and having at least one resolved parameter in place of each unresolved parameter, at least one of the resolved parameters identifying a physical endpoint or a logical resource in the network as a target for the command; and 
 
 inserting the generated set of troubleshooting commands into the command history cache for a subsequent selection and invocation of a troubleshooting command of the generated set of troubleshooting commands through the CLI. 
 
     
     
       2. The method of  claim 1  further comprising configuring the CLI according to CLI configuration data, wherein the set of troubleshooting commands is generated according to specification provided by the CLI configuration data. 
     
     
       3. The method of  claim 2  further comprising preloading the command history cache with a set of preloaded commands that are specified by the CLI configuration data, wherein the received troubleshooting command is one of the preloaded commands. 
     
     
       4. The method of  claim 1 , wherein the network manager is a computing device serving as a network manager for the network. 
     
     
       5. The method of  claim 4 , wherein the received troubleshooting command is received from a user interface of the network manager, wherein the user interface comprises the CLI. 
     
     
       6. The method of  claim 1 , wherein the received troubleshooting command is a command prototype comprising at least one unresolved identity parameter to be replaced by at least one parameter for identifying target network physical endpoints or logical resources and at least one unresolved non-identity parameter to be replaced by at least one parameter for specifying an action. 
     
     
       7. The method of  claim 1 , wherein identifying a set of parameters for each unresolved parameter comprises executing a set of dependent commands. 
     
     
       8. The method of  claim 7 , wherein executing a dependent command comprises invoking the dependent command at the CLI and parsing the response from the network to the invoked command to identify a set of parameters for an unresolved parameter. 
     
     
       9. The method of  claim 1 , wherein the plurality of physical endpoints of the network comprises computing devices that serve as host machines, controllers, and edge appliances. 
     
     
       10. A system comprising:
 a plurality of physical endpoints interconnected by a network, wherein the plurality of physical endpoints jointly operates a set of logical resources, at least one logical resource spanning a plurality of the physical endpoints; 
 a network manager operating a user interface and a centralized troubleshooting tool, wherein the centralized troubleshooting tool comprises a command line interface (CLI) for troubleshooting the network, wherein the CLI comprises a command history cache for storing previously invoked commands that can be reused, wherein the network manager is configured to:
 receive a troubleshooting command for the CLI, the troubleshooting command comprising a set of unresolved parameters; 
 in response to receiving the troubleshooting command, (i) identify a set of parameters for each unresolved parameter and (ii) generate from the received troubleshooting command a set of troubleshooting commands, each generated troubleshooting command of the set comprising an action referenced by the received troubleshooting command and having at least one resolved parameter in place of each unresolved parameter, at least one of the resolved parameters identifying a physical endpoint or a logical resource in the network as a target for the command; and 
 insert the generated set of troubleshooting commands into the command history cache for a subsequent selection and invocation of a troubleshooting command of the generated set of troubleshooting commands through the CLI. 
 
 
     
     
       11. The system of  claim 10 , wherein the CLI is configured according to CLI configuration data, wherein the network manager generates the set of troubleshooting commands according to specification provided by the CLI configuration data. 
     
     
       12. The system of  claim 11 , wherein the network manager preloads the command history cache with a set of preloaded commands that are specified by the CLI configuration data, wherein the received troubleshooting command is one of the preloaded commands. 
     
     
       13. The system of  claim 10 , wherein the received command is a command prototype comprising at least one unresolved identity parameter to be replaced by at least one parameter for identifying target network physical endpoints or logical resources and at least one unresolved non-identity parameter to be replaced by at least one parameter for specifying an action. 
     
     
       14. The system of  claim 10 , wherein the plurality of physical endpoints interconnected by the network comprises computing devices that serve as host machines, controllers, and edge appliances. 
     
     
       15. A non-transitory machine readable medium storing a network manager program that when executed by at least one processing unit troubleshoots a network comprising a plurality of physical endpoints implementing a set of logical resources, at least one logical resource spanning a plurality of the physical endpoints, the program comprising sets of instructions for:
 providing a command line interface (CLI) for troubleshooting the network, the CLI comprising a command history cache for storing previously invoked commands that can be reused; 
 receiving a troubleshooting command for the CLI, the troubleshooting command comprising a set of unresolved parameters; 
 in response to receiving the troubleshooting command i) identifying a set of parameters for each unresolved parameter and (ii) generating from the received troubleshooting command a set of troubleshooting commands, each generated troubleshooting command of the set comprising an action referenced by the received troubleshooting command and having at least one resolved parameter in place of each unresolved parameter, at least one of the resolved parameters identifying a physical endpoint or a logical resource in the network as a target for the command; and 
 inserting the generated set of troubleshooting commands into the command history cache for a subsequent selection and invocation of a troubleshooting command of the generated set of troubleshooting commands through the CLI. 
 
     
     
       16. The non-transitory machine readable medium of  claim 15 , wherein the CLI is configured according to CLI configuration data, wherein the set of instruction for generating the set of troubleshooting commands comprises a set of instruction for generating the commands according to specification provided by the CLI configuration data. 
     
     
       17. The non-transitory machine readable medium  claim 16 , the program further comprising a set of instructions for preloading the command history cache with a set of preloaded commands that are specified by the CLI configuration data, wherein the received troubleshooting command is one of the preloaded commands. 
     
     
       18. The non-transitory machine readable medium of  claim 15 , wherein the network manager program is executed at a computing device serving as a network manager for the network. 
     
     
       19. The non-transitory machine readable medium of  claim 15 , wherein the received troubleshooting command is a command prototype comprising a at least one unresolved identity parameter to be replaced by at least one parameter for identifying target network physical endpoints or logical resources and at least one unresolved non-identity parameter to be replaced by at least one parameter for specifying an action. 
     
     
       20. The non-transitory machine readable medium of  claim 15 , wherein the set of instructions for identifying a set of parameters for each unresolved parameter comprises a set of instructions for executing a set of dependent commands. 
     
     
       21. The non-transitory machine readable medium of  claim 20 , wherein the set of instructions for executing a dependent command comprises a set of instructions for invoking the dependent command at the CLI and a set of instructions for parsing the response from the network to the invoked command to identify a set of parameters for an unresolved parameter. 
     
     
       22. The method of  claim 3 , further comprising invoking at the CLI a generated troubleshooting command selected at the CLI from the generated set of troubleshooting commands. 
     
     
       23. The method of  claim 1 , wherein at least one of the resolved parameters identifies one of a logical switch and a logical router.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.