Patent ID: 8713522

Claim:
At a computer system including one or more processors, system memory, and persistent storage, the computer system being one of a plurality of computer systems in a distributed system, a plurality of nodes distributed across the plurality of computer systems and connected via a network, the plurality of nodes collectively configured to provide functionality for an appliance, a method for validating the correct hardware and software configuration of the appliance, the method comprising: an act of reading an appliance definition file to identify the topology for the plurality of nodes of the appliance, the topology defining hardware and software components that are to provide appliance functionality at each node; an act of determining which of a plurality of validation utilities should be deployed to each of the plurality of nodes, based at least in part on the topology of the plurality of nodes; an act of deploying a validation agent to each of the plurality of nodes, each validation agent configured to execute validation utilities resident at the node to validate one or more of hardware components and software components that are to provide appliance functionality at the node, wherein said deploying also includes deploying different validation utilities to at least some of the different nodes such that at least two nodes have different or non-matching validation utilities; an act of collecting validation results for the appliance by collecting validation results from each of the plurality of nodes in parallel, including for each node in the plurality of nodes: an act of instructing the validation agent at the node to execute one or more of the validation utilities resident at the node to validate one or more of hardware components and software components at the node based on the hardware and software components defined for the node in the identified topology; and an act of producing one or more logs from the node, the one or more logs containing validation results for the one or more of hardware components and software components at the node, the one or more logs generated during execution of the one or more validation utilities resident at the node; an act of aggregating the one or more logs from each node in the plurality of nodes with one another to formulate aggregated logs for the appliance; and an act of generating a report indicative of the validity of the appliance from the aggregated logs.