A management capability is provided for a virtual computing platform. In
one example, this platform allows interconnected physical resources such
as processors, memory, network interfaces and storage interfaces to be
abstracted and mapped to virtual resources (e.g., virtual mainframes,
virtual partitions). Virtual resources contained in a virtual partition
can be assembled into virtual servers that execute a guest operating
system (e.g., Linux). In one example, the abstraction is unique in that
any resource is available to any virtual server regardless of the
physical boundaries that separate the resources. For example, any number
of physical processors or any amount of physical memory can be used by a
virtual server even if these resources span different nodes. A virtual
computing platform is provided that allows for the creation, deletion,
modification, control (e.g., start, stop, suspend, resume) and status
(i.e., events) of the virtual servers which execute on the virtual
computing platform and the management capability provides controls for
these functions. In a particular example, such a platform allows the
number and type of virtual resources consumed by a virtual server to be
scaled up or down when the virtual server is running. For instance, an
administrator may scale a virtual server manually or may define one or
more policies that automatically scale a virtual server. Further, using
the management API, a virtual server can monitor itself and can scale
itself up or down depending on its need for processing, memory and I/O
resources. For example, a virtual server may monitor its CPU utilization
and invoke controls through the management API to allocate a new
processor for itself when its utilization exceeds a specific threshold.
Conversely, a virtual server may scale down its processor count when its
utilization falls. Policies can be used to execute one or more management
controls. More specifically, a management capability is provided that
allows policies to be defined using management object's properties,
events and/or method results. A management policy may also incorporate
external data (e.g., an external event) in its definition. A policy may
be triggered, causing the management server or other computing entity to
execute an action. An action may utilize one or more management controls.
In addition, an action may access external capabilities such as sending
notification e-mail or sending a text message to a telephone paging
system. Further, management capability controls may be executed using a
discrete transaction referred to as a "job." A series of management
controls may be assembled into a job using one or management interfaces.
Errors that occur when a job is executed may cause the job to be rolled
back, allowing affected virtual servers to return to their original
state.