org.ow2.jasmine.vmm.agent.domain
Class ServerPool

java.lang.Object
  extended by javax.management.NotificationBroadcasterSupport
      extended by org.ow2.jasmine.vmm.agent.domain.ManagedResource
          extended by org.ow2.jasmine.vmm.agent.domain.ServerPool
All Implemented Interfaces:
javax.management.NotificationBroadcaster, javax.management.NotificationEmitter, org.ow2.jasmine.vmm.api.ManagedResourceMXBean, org.ow2.jasmine.vmm.api.ServerPoolMXBean
Direct Known Subclasses:
XenServerPool

public abstract class ServerPool
extends ManagedResource
implements org.ow2.jasmine.vmm.api.ServerPoolMXBean

Base class partially implementing the ServerPoolMXBean interface and expected to be sub-classed on a per driver basis.

A ServerPool is associated with a VM placement policy which determines where a provisioned VM is to be placed on one host among the members of the server pool


Field Summary
protected  java.util.List<org.ow2.jasmine.vmm.api.HostMXBean> hosts
           
protected static org.apache.log4j.Logger logger
           
protected  java.lang.String name
           
protected  VMPlacementPolicy placementPolicy
           
 
Fields inherited from class org.ow2.jasmine.vmm.agent.domain.ManagedResource
objectName, path
 
Constructor Summary
ServerPool(java.lang.String name, javax.management.ObjectName objectName)
          Constructs a new server pool
 
Method Summary
protected  void addHost(org.ow2.jasmine.vmm.api.HostMXBean host)
          Adds a new host to the server pool
 java.util.List<org.ow2.jasmine.vmm.api.HostMXBean> getManagedHosts()
           
 java.lang.String getName()
           
abstract  org.ow2.jasmine.vmm.api.VirtualMachineImageStoreMXBean getVMImageStore()
           
abstract  org.ow2.jasmine.vmm.api.HostMXBean newHost(java.lang.String hostName, java.util.Map<java.lang.String,java.lang.String> props)
           
 org.ow2.jasmine.vmm.api.VirtualMachineMXBean provisionVM(org.ow2.jasmine.vmm.api.VMConfigSpec vmSpec, java.util.Map<java.lang.String,java.lang.String> constraints, boolean sync)
           
 void setProvisioningPolicy(java.lang.String policyId)
           
 
Methods inherited from class org.ow2.jasmine.vmm.agent.domain.ManagedResource
emitNotification, emitNotification, getObjectName, getPath
 
Methods inherited from class javax.management.NotificationBroadcasterSupport
addNotificationListener, getNotificationInfo, handleNotification, removeNotificationListener, removeNotificationListener, sendNotification
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.ow2.jasmine.vmm.api.ManagedResourceMXBean
getObjectName, getPath
 

Field Detail

logger

protected static org.apache.log4j.Logger logger

name

protected java.lang.String name

hosts

protected final java.util.List<org.ow2.jasmine.vmm.api.HostMXBean> hosts

placementPolicy

protected VMPlacementPolicy placementPolicy
Constructor Detail

ServerPool

public ServerPool(java.lang.String name,
                  javax.management.ObjectName objectName)
Constructs a new server pool

Parameters:
name - symbolic name of the server pool
objectName - JMX object name of the server pool
Method Detail

getName

public java.lang.String getName()
Specified by:
getName in interface org.ow2.jasmine.vmm.api.ServerPoolMXBean

newHost

public abstract org.ow2.jasmine.vmm.api.HostMXBean newHost(java.lang.String hostName,
                                                           java.util.Map<java.lang.String,java.lang.String> props)

addHost

protected void addHost(org.ow2.jasmine.vmm.api.HostMXBean host)
Adds a new host to the server pool

Parameters:
host - host to add

setProvisioningPolicy

public void setProvisioningPolicy(java.lang.String policyId)
Specified by:
setProvisioningPolicy in interface org.ow2.jasmine.vmm.api.ServerPoolMXBean

provisionVM

public org.ow2.jasmine.vmm.api.VirtualMachineMXBean provisionVM(org.ow2.jasmine.vmm.api.VMConfigSpec vmSpec,
                                                                java.util.Map<java.lang.String,java.lang.String> constraints,
                                                                boolean sync)
                                                         throws org.ow2.jasmine.vmm.api.InsufficientResourcesException,
                                                                org.ow2.jasmine.vmm.api.InvalidVMConfigException,
                                                                org.ow2.jasmine.vmm.api.VMMException
Specified by:
provisionVM in interface org.ow2.jasmine.vmm.api.ServerPoolMXBean
Throws:
org.ow2.jasmine.vmm.api.InsufficientResourcesException
org.ow2.jasmine.vmm.api.InvalidVMConfigException
org.ow2.jasmine.vmm.api.VMMException

getVMImageStore

public abstract org.ow2.jasmine.vmm.api.VirtualMachineImageStoreMXBean getVMImageStore()
Specified by:
getVMImageStore in interface org.ow2.jasmine.vmm.api.ServerPoolMXBean

getManagedHosts

public java.util.List<org.ow2.jasmine.vmm.api.HostMXBean> getManagedHosts()
Specified by:
getManagedHosts in interface org.ow2.jasmine.vmm.api.ServerPoolMXBean


Copyright © 2009 OW2 Consortium. All Rights Reserved.