Patent ID: 8346735

Claim:
A method for use in controlling multi-step storage management operations, the method comprising: deriving, using a processor, from a specification of a desired configuration of a data storage system, a multi-step transaction for producing the desired configuration, the multi-step transaction comprising logic that reacts to results of an intermediate step within the multi-step transaction, wherein the multi-step transaction includes a set of management operations; arranging each management operation of the set of management operations of the multi-step transaction in an order based on a multi-step transaction description, wherein the multi-step transaction description includes a procedure for producing the desired configuration; bundling the set of management operations together and automatically executing the bundle asynchronously as an inseparable entity; invoking each management operation of the set of management operations based on the multi-step transaction; performing a precondition test, by reading a system condition prior to executing a next management operation of the set of management operations, wherein the system condition includes a status of a previous management operation of the set of management operations; based on the precondition test, determining whether an error occurs prior to completion of each management operation of the set of management operations, wherein the error includes a recoverable error and an irresolvable error; based on the determination, upon occurrence of the recoverable error, automatically resolving the recoverable error and continue invoking an unfinished management operation of the set of management operations; based on the determination, upon occurrence of the irresolvable error, allowing automatic rollback of a finished management operation of the set of management operations and allowing a user to resume an unfinished management operation of the set of management operations after the user resolves the irresolvable error; and upon occurrence of a failure of the data storage system, automatically restarting the multi-step transaction, wherein the multi-step transaction starts from an unfinished management operation of the set of management operations.