org.ow2.jasmine.vmm.api
Interface VirtualMachineMXBean

All Superinterfaces:
ManagedResourceMXBean

public interface VirtualMachineMXBean
extends ManagedResourceMXBean

Management interface of a virtual machine. The ObjectName for identifying a VirtualMachineMXBean follows the following template:

org.ow2.jasmine.vmm.api:type=VirtualMachine,name=<pathname>,uuid=<uuid>

The notifications that can be emitted by a HostMXBean are as follows


Nested Class Summary
static class VirtualMachineMXBean.PowerState
          Different states of a virtual machine.
 
Method Summary
 boolean canLiveMigrateToHost(HostMXBean targetHost)
          Returns true if the VM can be migrated to the given host using live migration
 VirtualMachineMXBean cloneVM(java.lang.String vmName, VMCustomizationSpec custSpec, boolean sync)
          Clones the VM
 void destroy()
          Destroy the VM
 float getCPULoad()
          Returns the CPU load of the VM
 java.lang.String getGuestIpAddress()
          Returns the IP addresses of the guest operating system running within the VM.
 HostMXBean getHostMBean()
          Returns the host this VM resides on
 float[] getLoadPerVCPU()
          Returns the load per virtual CPU of the VM
 java.lang.String getMacAddress()
          Returns the MAC addresses of all network interfaces associated with this VM
 long getMemorySizeMB()
          Returns the memory size in MBytes of the virtual machine
 long getMemoryUsedMB()
          Returns the amount of memory (in MBytes) used by the virtual machine
 java.lang.String getNameLabel()
          Returns the name of the virtual machine
 int getNumVCPUs()
          Returns the number of virtual CPUs assigned to the virtual machine
 ResourceUsage getResourceUsage()
          Return the current resource usage (CPU, memory, network, disk I/O) for this VM
 int getSchedulingCap()
          Returns the scheduling cap assigned to the VM
 int getSchedulingWeight()
          Returns the scheduling weight assigned to the VM
 java.util.Date getStartTime()
          Returns the start time of the virtual machine
 VirtualMachineMXBean.PowerState getState()
          Returns the power state of the VM
 java.lang.String getUserData(java.lang.String key)
          Returns user data associated with the specified key
 java.lang.String getUuid()
          Returns the Uuid of the virtual machine
 void makeTemplate(java.lang.String vmImageID, java.lang.String name, java.lang.String description)
          Makes a VM image template from this VM
 void migrate(HostMXBean targetHost, boolean live)
          Migrate the VM to a target host.
 void pause()
          Pause the VM
 void reboot()
          Reboot the VM
 void resume()
          Resume the VM
 void setMemorySizeMB(long size)
          Attempts to change the memory sie of the virtual machine
 void setNumVCPUs(int numVCPUs)
          Changes the number of virtual CPUs assigned to the virtual machine
 void setSchedulingCap(int schedulingCap)
          Sets the scheduling cap assigned to the VM
 void setSchedulingWeight(int schedulingWeight)
          Sets the scheduling cap assigned to the VM
 void shutdown()
          Shutdown the VM
 void start()
          Start the VM
 void suspend()
          Suspend the VM
 void unpause()
          Unpause the VM
 
Methods inherited from interface org.ow2.jasmine.vmm.api.ManagedResourceMXBean
getObjectName, getPath
 

Method Detail

getUuid

java.lang.String getUuid()
                         throws javax.management.InstanceNotFoundException
Returns the Uuid of the virtual machine

Returns:
Throws:
javax.management.InstanceNotFoundException - thrown if the specified MXBean does not exist

getHostMBean

HostMXBean getHostMBean()
                        throws javax.management.InstanceNotFoundException
Returns the host this VM resides on

Returns:
Throws:
javax.management.InstanceNotFoundException - thrown if the specified MXBean does not exist

getNameLabel

java.lang.String getNameLabel()
                              throws javax.management.InstanceNotFoundException
Returns the name of the virtual machine

Returns:
Throws:
javax.management.InstanceNotFoundException - thrown if the specified MXBean does not exist

getMacAddress

java.lang.String getMacAddress()
                               throws javax.management.InstanceNotFoundException
Returns the MAC addresses of all network interfaces associated with this VM

Returns:
MAC addresses in xx:xx:xx:xx:xx:xx format
Throws:
javax.management.InstanceNotFoundException - thrown if the specified MXBean does not exist

getGuestIpAddress

java.lang.String getGuestIpAddress()
                                   throws javax.management.InstanceNotFoundException
Returns the IP addresses of the guest operating system running within the VM.

Returns:
IP addresses or null if the manager is unable to determine the IP addresses
Throws:
javax.management.InstanceNotFoundException - thrown if the specified MXBean does not exist

getLoadPerVCPU

float[] getLoadPerVCPU()
                       throws javax.management.InstanceNotFoundException
Returns the load per virtual CPU of the VM

Returns:
Throws:
javax.management.InstanceNotFoundException - thrown if the specified MXBean does not exist

getCPULoad

float getCPULoad()
                 throws javax.management.InstanceNotFoundException
Returns the CPU load of the VM

Returns:
Throws:
javax.management.InstanceNotFoundException

getStartTime

java.util.Date getStartTime()
                            throws javax.management.InstanceNotFoundException
Returns the start time of the virtual machine

Returns:
Throws:
javax.management.InstanceNotFoundException

getMemorySizeMB

long getMemorySizeMB()
                     throws javax.management.InstanceNotFoundException
Returns the memory size in MBytes of the virtual machine

Returns:
Throws:
javax.management.InstanceNotFoundException

setMemorySizeMB

void setMemorySizeMB(long size)
                     throws javax.management.InstanceNotFoundException
Attempts to change the memory sie of the virtual machine

Parameters:
size - target size
Throws:
javax.management.InstanceNotFoundException - thrown if the specified MXBean does not exist

getMemoryUsedMB

long getMemoryUsedMB()
                     throws javax.management.InstanceNotFoundException
Returns the amount of memory (in MBytes) used by the virtual machine

Returns:
Throws:
javax.management.InstanceNotFoundException - thrown if the specified MXBean does not exist

getResourceUsage

ResourceUsage getResourceUsage()
Return the current resource usage (CPU, memory, network, disk I/O) for this VM

Returns:
a ResourceUsage object representing the resource usage of this VM

getNumVCPUs

int getNumVCPUs()
                throws javax.management.InstanceNotFoundException
Returns the number of virtual CPUs assigned to the virtual machine

Returns:
Throws:
javax.management.InstanceNotFoundException - thrown if the specified MXBean does not exist

setNumVCPUs

void setNumVCPUs(int numVCPUs)
                 throws javax.management.InstanceNotFoundException
Changes the number of virtual CPUs assigned to the virtual machine

Parameters:
numVCPUs -
Throws:
javax.management.InstanceNotFoundException - thrown if the specified MXBean does not exist

getSchedulingCap

int getSchedulingCap()
                     throws javax.management.InstanceNotFoundException
Returns the scheduling cap assigned to the VM

Returns:
current scheduling cap
Throws:
javax.management.InstanceNotFoundException - thrown if the specified MXBean does not exist

setSchedulingCap

void setSchedulingCap(int schedulingCap)
                      throws javax.management.InstanceNotFoundException
Sets the scheduling cap assigned to the VM

Parameters:
schedulingCap - new cap
Throws:
javax.management.InstanceNotFoundException - thrown if the specified MXBean does not exist

getSchedulingWeight

int getSchedulingWeight()
                        throws javax.management.InstanceNotFoundException
Returns the scheduling weight assigned to the VM

Returns:
Throws:
javax.management.InstanceNotFoundException - thrown if the specified MXBean does not exist

setSchedulingWeight

void setSchedulingWeight(int schedulingWeight)
                         throws javax.management.InstanceNotFoundException
Sets the scheduling cap assigned to the VM

Parameters:
schedulingWeight - new weight
Throws:
javax.management.InstanceNotFoundException - thrown if the specified MXBean does not exist

getState

VirtualMachineMXBean.PowerState getState()
                                         throws javax.management.InstanceNotFoundException
Returns the power state of the VM

Returns:
current power state
Throws:
javax.management.InstanceNotFoundException - thrown if the specified MXBean does not exist

suspend

void suspend()
             throws javax.management.InstanceNotFoundException,
                    BadVMPowerStateException
Suspend the VM

Throws:
javax.management.InstanceNotFoundException - thrown if the specified MXBean does not exist
BadVMPowerStateException - thrown if the VM is not in the appropriate state

resume

void resume()
            throws javax.management.InstanceNotFoundException,
                   BadVMPowerStateException
Resume the VM

Throws:
javax.management.InstanceNotFoundException - thrown if the specified MXBean does not exist
BadVMPowerStateException - thrown if the VM is not in the appropriate state

shutdown

void shutdown()
              throws javax.management.InstanceNotFoundException,
                     BadVMPowerStateException
Shutdown the VM

Throws:
javax.management.InstanceNotFoundException - thrown if the specified MXBean does not exist
BadVMPowerStateException - thrown if the VM is not in the appropriate state

start

void start()
           throws javax.management.InstanceNotFoundException,
                  BadVMPowerStateException
Start the VM

Throws:
javax.management.InstanceNotFoundException - thrown if the specified MXBean does not exist
BadVMPowerStateException - thrown if the VM is not in the appropriate state

pause

void pause()
           throws javax.management.InstanceNotFoundException,
                  BadVMPowerStateException
Pause the VM

Throws:
javax.management.InstanceNotFoundException - thrown if the specified MXBean does not exist
BadVMPowerStateException - thrown if the VM is not in the appropriate state

unpause

void unpause()
             throws javax.management.InstanceNotFoundException,
                    BadVMPowerStateException
Unpause the VM

Throws:
javax.management.InstanceNotFoundException - thrown if the specified MXBean does not exist
BadVMPowerStateException - thrown if the VM is not in the appropriate state

reboot

void reboot()
            throws javax.management.InstanceNotFoundException,
                   BadVMPowerStateException
Reboot the VM

Throws:
javax.management.InstanceNotFoundException - thrown if the specified MXBean does not exist
BadVMPowerStateException - thrown if the VM is not in the appropriate state

destroy

void destroy()
             throws javax.management.InstanceNotFoundException
Destroy the VM

Throws:
javax.management.InstanceNotFoundException - thrown if the specified MXBean does not exist

canLiveMigrateToHost

boolean canLiveMigrateToHost(HostMXBean targetHost)
Returns true if the VM can be migrated to the given host using live migration

Parameters:
targetHost - host on which the VM migration is tested

migrate

void migrate(HostMXBean targetHost,
             boolean live)
             throws javax.management.InstanceNotFoundException,
                    IllegalOperationException,
                    VMMException
Migrate the VM to a target host. Note that the target host must belong to the same server pool as the VM's current host.

Parameters:
targetHost - target host of the migration
live - if true a live migration will be attempted
Throws:
javax.management.InstanceNotFoundException - thrown if the specified MXBean does not exist
IllegalOperationException - thrown if the migration cannot be performed
VMMException

getUserData

java.lang.String getUserData(java.lang.String key)
                             throws javax.management.InstanceNotFoundException
Returns user data associated with the specified key

Parameters:
key - of the user data to return
Returns:
user data for the specified key
Throws:
javax.management.InstanceNotFoundException

cloneVM

VirtualMachineMXBean cloneVM(java.lang.String vmName,
                             VMCustomizationSpec custSpec,
                             boolean sync)
                             throws javax.management.InstanceNotFoundException,
                                    InsufficientResourcesException,
                                    VMMException
Clones the VM

Parameters:
vmName - name to be given to the new VM
custSpec - optional customization parameters
sync - if true, the operation is synchronous
Returns:
the management interface of the cloned VM if sync is true, null otherwise
Throws:
javax.management.InstanceNotFoundException - thrown if the specified MXBean does not exist
InsufficientResourcesException - raised if not enough resources are available to clone the VM
VMMException

makeTemplate

void makeTemplate(java.lang.String vmImageID,
                  java.lang.String name,
                  java.lang.String description)
                  throws InsufficientResourcesException,
                         IllegalOperationException,
                         VMMException
Makes a VM image template from this VM

Parameters:
vmImageID - name of the VM image to create
Throws:
InsufficientResourcesException - thrown if not enough resources are available
IllegalOperationException
RuntimeVirtException
VMMException


Copyright © 2009 OW2 Consortium. All Rights Reserved.