com.ace.moab.api.node
Class MoabNode

java.lang.Object
  extended by com.ace.moab.api.node.MoabNode
All Implemented Interfaces:
java.io.Serializable, java.lang.Comparable<MoabNode>

public class MoabNode
extends java.lang.Object
implements java.lang.Comparable<MoabNode>, java.io.Serializable

This class represents a node in Moab. A node in Moab can run jobs as well as serve other various tasks like storage and network management.

See Also:
Serialized Form

Field Summary
static java.util.List<java.lang.String> gMetricNames
          The names of all generic metrics found for nodes.
static java.util.List<java.lang.String> gResourcesNames
          The names of all generic resources found for nodes.
 
Constructor Summary
MoabNode()
           
 
Method Summary
 void addApplicationStatistics(ApplicationStatistics stats)
          Adds the application statistics to the applStats list.
 void addComment(java.lang.String comment)
          Adds a comment and a newline to existing list of comments.
 void addVM(VM vm)
          Adds a VM to the collection of VMs on the node.
 int compareTo(MoabNode o)
          
 boolean equals(MoabNode other)
          Tests if nodes are equal based on the node IDs.
 java.util.Set<ApplicationStatistics> getApplStats()
          Get the node's application statistics.
 java.lang.String getArchitecture()
          Get the node's processor architecture.
 java.util.Set<java.lang.String> getAvailableClasses()
          Get the available classes for this node.
 java.util.Date getAvailableEndDate()
          Get the time when the node will stop being available.
 java.lang.Integer getAvailableGenericResource(java.lang.String name)
          Gets the available amount of the generic resource with the specified name.
 java.util.Map<java.lang.String,java.lang.Integer> getAvailableGenericResources()
          Gets a map of the available generic resources.
 double getAvailableMemoryWeight()
          Get the weight that the available memory is attributing to the node.
 double getAvailableProcessorWeight()
          Get the weight that the available processors are attributing to the node.
 java.util.Date getAvailableStartDate()
          Get the time when the node will become available.
 java.lang.String getBlockReason()
          Getter for property BlockReason.
 double getChargeRate()
           Sets the charge rate for the node.
 java.lang.String getComments()
          Getter for property Comments.
 java.util.Set<java.lang.String> getConfiguredClasses()
          Get the classes that are configured for this node.
 double getConfiguredDiskWeight()
          Get the configured disk usage priority weight reported by the partition that the node is a part of.
 double getConfiguredMemoryWeight()
          Get the configured memory usage priority weight reported by the partition that the node is a part of.
 double getConfiguredProcessorWeight()
          Get the configured processor usage priority weight reported by the partition that the node is a part of.
 double getConfiguredSwapWeight()
          Get the configured swap usage priority weight reported by the partition that the node is a part of.
 int getDiskAvailable()
          Get the node's available disk space in MB.
 int getDiskTotal()
          Get the node's total disk space in MB.
 double getExternalLoad()
          Get The load on the node not attributed to any batch queues.
 java.util.Set<java.lang.String> getFeatures()
          Get the collection of any opaque node features used to describe and categorize the node.
 java.lang.Integer getGenericResourceCount(java.lang.String name)
          Gets the count of the generic resource of the specified name.
 java.util.Map<java.lang.String,java.lang.Integer> getGenericResources()
          Get all generic resources attached to this node.
 java.lang.Double getGMetricValue(java.lang.String gMetricName)
          Get the value of the generic metric passed in for this node.
 java.lang.String getHypervisorType()
          Get the hypervisor type of this node.
 double getIOLoad()
          Get the load reported by the node on its I/O.
 java.util.List<java.lang.String> getJobList()
          Get The list of jobIDs currently on the node.
 double getLoad()
          Get the current load of the node as a percentage.
 double getLoadWeight()
          Get the load priority weight of the node.
 double getMaxIOIn()
          Get the maximum input as a percentage allowed for the node's I/O.
 double getMaxIOLoad()
          Get the maximum total load as a percentage allowed for the node's I/O.
 double getMaxIOOut()
          Get the maximum output as a percentage allowed for the node's I/O.
 int getMaxJob()
          Get the maximum number of jobs allowed to run on the node.
 int getMaxJobPerUser()
          Get the maximum number of jobs for a single user allowed to run on the node.
 double getMaxLoad()
          Get the maximum total load as a percentage allowed on the node.
 double getMaxPageIn()
          Get the maximum total page in allowed on the node.
 double getMaxPageOut()
          Get the maximum total page out allowed on the node.
 double getMaxPEPerJob()
          Get the maximum processor equivalence per job allowed on the node.
 int getMaxProc()
          Get the maximum number of processors available on the node.
 int getMaxProcPerClass()
          Get the maximum number of processors per class available on the node.
 int getMemoryAvailable()
          Get the node's available memory in MB.
 int getMemoryTotal()
          Get the node's total memory in MB.
 java.lang.String getMessages()
          Get the list of all messages including generic events.
 java.lang.String getNetwork()
          Get the name of the node's network.
 double getNetworkLoad()
          Get the load of the node's network as a percentage.
 java.lang.String getNextOS()
          If populated, the next operating system that is currently being provisioned.
 NodeAccessPolicy getNodeAccessPolicy()
          Get the node access policy for the node.
 java.lang.String getNodeID()
          Get the node's unique identifier.
 java.util.Set<NodeOperation> getNodeOperations()
          Get the list of operations that can be performed on this node.
 java.lang.String getNodeType()
          Get the type of the node.
 java.lang.String getOs()
          Get the operating system of the node.
 java.util.Set<java.lang.String> getOsList()
           Returns a list of potential operating systems for the node.
 java.lang.String getPartition()
          Get the partition this node belongs to.
 NodePower getPower()
          Get the node's power state according to the resource managers reporting this node.
 PowerPolicy getPowerPolicy()
          Returns the power policy for this node.
 NodePower getPowerSelected()
          Returns the node's power state that Moab is currently scheduling.
 double getPriority()
          Get the priority associated with the node.
 PriorityFunction getPriorityFunction()
          Get the function used to calculate this node's priority.
 int getProcessorsAvailable()
          Get the node's available processors.
 int getProcessorsTotal()
          Get the node's total processors.
 int getProcSpeed()
          Get the node's processor speed in MHz.
 java.util.Date getProvisionEndTime()
          Returns the estimated end time of provisioning.
 java.util.Date getProvisionStartTime()
          Returns the date the provisioning started.
 int getRack()
          Get the node's rack location.
 int getReservationCount()
          Get the number of reservations on the node.
 java.util.List<java.lang.String> getReservationList()
           Returns a list of strings representing all reservations on the node.
 java.lang.String getReservationListString()
           Returns a comma separated String of all reservations on the node.
 java.util.List<Reservation> getReservationsOnNode()
          Getter for property ReservationsOnNode.
 java.lang.String getResources()
          Get the list of resources associated with the node.
 java.lang.String getRmAccessList()
          Get the list of resource managers this node has access to.
 java.lang.String getRmList()
          Get the list of resource managers associated with this node.
 int getSize()
          Get the number of slots or size units consumed by the node.
 int getSlot()
          Get the node's slot location.
 double getSpeed()
          Get the relative speed of the node.
 double getSpeedWeight()
          Get the weight given to the node's speed attribute when calculating jobs' priority on the node.
 NodeState getState()
          Get the node's current state.
 java.lang.String getSubstate()
           Returns the substate that will give more information about the status of the VM.
 int getSwapAvailable()
          Get the node's available swap space in MB.
 int getSwapTotal()
          Get the node's total swap space in MB.
 int getTaskCount()
          Get the number of tasks currently running on the node.
 long getTotalActiveTime()
          Get the epoch time in seconds that the node was tracked as being busy with jobs.
 long getTotalAvailableTime()
          Get the epoch time in seconds that the node is available.
 long getTotalStatsTime()
          Get the epoch time in seconds that the node was tracked as being up.
 long getTotalUpTime()
          Get the epoch time in seconds that the node was tracked as being up.
 double getUsageWeight()
          Get the weight given to the node's speed attribute when calculating jobs' priority on the node.
 VMCollection getVms()
           Returns the collection of VMs on the node.
 boolean isActive()
          Returns whether or not a node is active.
 boolean isComputeNode()
           Determines whether this node is a compute node, as opposed to an abstract or logical node.
 boolean isDynamic()
          If true, the node is associated with a dynamic resource manager.
 boolean isProfilingEnabled()
          Returns whether statistical profiling is enabled for this node
 boolean isProvisioning()
          If the node has a next OS reported, provisioning is occurring.
 void removeVM(java.lang.String vmID)
          Attempts to remove a VM from the collection.
 void setApplStats(java.util.Set<ApplicationStatistics> applStats)
          Set the node's application statistics.
 void setArchitecture(java.lang.String architecture)
          Set the node's processor architecture.
 void setAvailableClasses(java.util.Set<java.lang.String> availableClasses)
          Set the classes available for this node.
 void setAvailableEndDate(java.util.Date avlEndDate)
          Sets the end time for the availability for this node.
 void setAvailableGenericResource(java.lang.String name, java.lang.Integer count)
          Sets the available generic resource amount for a particular generic resource.
 void setAvailableMemoryWeight(double availableMemoryWeight)
          Set the weight that the available memory is attributing to the node.
 void setAvailableProcessorWeight(double availableProcessorWeight)
          Set the weight that the available processors are attributing to the node.
 void setAvailableStartDate(java.util.Date avlStartDate)
          Set the time when the node will become available.
 void setBlockReason(java.lang.String BlockReason)
          Setter for property BlockReason.
 void setChargeRate(double chargeRate)
           Returns the charge rate for the node.
 void setComments(java.lang.String Comments)
          Setter for property Comments.
 void setConfiguredClasses(java.util.Set<java.lang.String> configuredClasses)
          Set the configured classes for this node.
 void setConfiguredDiskWeight(double configuredDiskWeight)
          Set the configured disk usage priority weight reported by the partition that the node is a part of.
 void setConfiguredMemoryWeight(double configuredMemoryWeight)
          Set the configured memory usage priority weight reported by the partition that the node is a part of.
 void setConfiguredProcessorWeight(double configuredProcessorWeight)
          Set The configured processor usage priority weight reported by the partition that the node is a part of.
 void setConfiguredSwapWeight(double configuredSwapWeight)
          Set the configured swap usage priority weight reported by the partition that the node is a part of.
 void setDiskAvailable(int diskAvailable)
          Set the node's available disk space in MB.
 void setDiskTotal(int diskTotal)
          Set the node's total disk space in MB.
 void setDynamic(boolean isDynamic)
          Set if the node is associated with a dynamic resource manager.
 void setExternalLoad(double externalLoad)
          Set the load on the node not attributed to any batch queues.
 void setFeatures(java.util.Set<java.lang.String> features)
          Set the collection of any opaque node features used to describe and categorize the node.
 void setGenericResource(java.lang.String name, java.lang.Integer count)
          Adds a generic resource to this node with the associated amount.
 void setGMetricValue(java.lang.String gMetricName, java.lang.Double value)
          Set the generic metric value for the given generic metric on this node.
 void setHypervisorType(java.lang.String hypervisorType)
          Set the hypervisor type of this node.
 void setIOLoad(double ioLoad)
          Set the load reported by the node on its I/O.
 void setJobList(java.util.List<java.lang.String> jobList)
          Set the list of jobIDs currently on the node.
 void setLoad(double load)
          Set the current load of the node as a percentage.
 void setLoadWeight(double loadWeight)
          Set the load priority weight of the node.
 void setMaxIOIn(double maxIOIn)
          Set the maximum input as a percentage allowed for the node's I/O.
 void setMaxIOLoad(double maxIOLoad)
          Set the maximum total load as a percentage allowed for the node's I/O.
 void setMaxIOOut(double maxIOOut)
          Set the maximum output as a percentage allowed for the node's I/O.
 void setMaxJob(int maxJob)
          Set the maximum number of jobs allowed to run on the node.
 void setMaxJobPerUser(int maxJobPerUser)
          Set the maximum number of jobs for a single user allowed to run on the node.
 void setMaxLoad(double maxLoad)
          Set the maximum total load as a percentage allowed on the node.
 void setMaxPageIn(double maxPageIn)
          Set the maximum total page in allowed on the node.
 void setMaxPageOut(double maxPageOut)
          Set the maximum total page out allowed on the node.
 void setMaxPEPerJob(double maxPEPerJob)
          Set the maximum processor equivalence per job allowed on the node.
 void setMaxProc(int maxProc)
          Set the maximum number of processors available on the node.
 void setMaxProcPerClass(int maxProcPerClass)
          Set the maximum number of processors per class available on the node.
 void setMemoryAvailable(int memoryAvailable)
          Set the node's available memory in MB.
 void setMemoryTotal(int memoryTotal)
          Set the node's total memory in MB.
 void setMessages(java.lang.String value)
          Sets the messages that belong to this node.
 void setNetwork(java.lang.String network)
          Set the name of the node's network.
 void setNetworkLoad(double networkLoad)
          Set the load of the node's network as a percentage.
 void setNextOS(java.lang.String nextOS)
          If populated, the next operating system that is currently being provisioned.
 void setNodeAccessPolicy(NodeAccessPolicy nodeAccessPolicy)
          Set the node access policy for the node.
 void setNodeID(java.lang.String nodeID)
          Set the unique node ID for this MoabNode.
 void setNodeOperations(java.util.Set<NodeOperation> nodeOperations)
          Set the list of operations that can be performed on this node.
 void setNodePower(NodePower power)
          Set the node's power state according to the resource managers reporting this node.
 void setNodeType(java.lang.String nodeType)
          Set the type of the node.
 void setOs(java.lang.String os)
          Set the operating system for this node.
 void setOsList(java.util.Set<java.lang.String> osList)
           Sets the list of potential operating systems for the node.
 void setPartition(java.lang.String partition)
          Get the partition this node belongs to.
 void setPowerPolicy(PowerPolicy powerPolicy)
           Sets the power policy for this node.
 void setPowerSelected(NodePower powerSelected)
          Sets the node's power state that Moab is currently scheduling.
 void setPriority(double priority)
          Set the priority associated with the node.
 void setPriorityFunction(PriorityFunction function)
          Set the function used to calculate this node's priority.
 void setProcessorsAvailable(int processorsAvailable)
          Set the node's available processors.
 void setProcessorsTotal(int processorsTotal)
          Set the node's total processors.
 void setProcSpeed(int procSpeed)
          Set the node's processor speed in MHz.
 void setProfilingEnabled(boolean enabled)
          Sets whether statistical profiling is enabled for this node
 void setProvisionEndTime(java.util.Date provisionEndTime)
          Sets the estimated end time of provisioning.
 void setProvisionStartTime(java.util.Date provisionStartTime)
          Sets the date the provisioning started.
 void setRack(int rack)
          Set the node's rack location.
 void setReservationCount(int reservationCount)
          Set the number of reservations on the node.
 void setReservationList(java.util.List<java.lang.String> reservationList)
          Sets the list of reservations' names on the node.
 void setReservations(java.util.List<Reservation> reservations)
          Setter for property ReservationsOnNode.
 void setResources(java.lang.String value)
          Set the list of resources associated with the node.
 void setRmAccessList(java.lang.String value)
          Set the list of resource managers this node has access to.
 void setRmList(java.lang.String value)
          Set the list of resource managers associated with this node.
 void setSize(int size)
          Set the number of slots or size units consumed by the node.
 void setSlot(int slot)
          Set the node's slot location.
 void setSpeed(double speed)
          The relative speed of the node.
 void setSpeedWeight(double speedWeight)
          Set the weight given to the node's speed attribute when calculating jobs' priority on the node.
 void setState(NodeState state)
          Set the node's current state.
 void setSubstate(java.lang.String substate)
           Sets the substate that will give more information about the status of the VM.
 void setSwapAvailable(int swapAvailable)
          Set the node's available swap space in MB.
 void setSwapTotal(int swapTotal)
          Set the node's total swap space in MB.
 void setTaskCount(int taskCount)
          Set the number of tasks currently running on the node.
 void setTotalActiveTime(long totalActiveTime)
          Set the epoch time in seconds that the node was tracked as being busy with jobs.
 void setTotalAvailableTime(long totalAvailableTime)
          Set the epoch time in seconds that the node is available.
 void setTotalStatsTime(long totalStatsTime)
          Set the epoch time in seconds that stats have been tracked for the node.
 void setTotalUpTime(long totalUpTime)
          Set the epoch time in seconds that the node was tracked as being up.
 void setUsageWeight(double usageWeight)
          Set the weight given to the node's speed attribute when calculating jobs' priority on the node.
 void setVms(VMCollection vms)
           Sets the collection of VMs on the node.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

gMetricNames

public static java.util.List<java.lang.String> gMetricNames
The names of all generic metrics found for nodes.


gResourcesNames

public static java.util.List<java.lang.String> gResourcesNames
The names of all generic resources found for nodes.

Constructor Detail

MoabNode

public MoabNode()
Method Detail

addApplicationStatistics

public void addApplicationStatistics(ApplicationStatistics stats)
Adds the application statistics to the applStats list. This list contains all the applications and their individual statistics for this node.

Parameters:
stats - the Application Statistics to add to the node.

addComment

public void addComment(java.lang.String comment)
Adds a comment and a newline to existing list of comments.

Parameters:
comment - The new comment to add.

addVM

public void addVM(VM vm)
Adds a VM to the collection of VMs on the node.

Parameters:
vm - the VM to add to the collection.

compareTo

public int compareTo(MoabNode o)

Specified by:
compareTo in interface java.lang.Comparable<MoabNode>

equals

public boolean equals(MoabNode other)
Tests if nodes are equal based on the node IDs. The nodeID should be a unique identifier for each node.


getApplStats

public java.util.Set<ApplicationStatistics> getApplStats()
Get the node's application statistics. Can be null.

Returns:
The node's application statistics.

getArchitecture

public java.lang.String getArchitecture()
Get the node's processor architecture. Can be null.

Returns:
the node's processor architecture.

getAvailableClasses

public java.util.Set<java.lang.String> getAvailableClasses()
Get the available classes for this node. Can be null.

Returns:
the available classes for this node.

getAvailableEndDate

public java.util.Date getAvailableEndDate()
Get the time when the node will stop being available. Can be null.

Returns:
the time when the node will stop being available.

getAvailableGenericResource

public java.lang.Integer getAvailableGenericResource(java.lang.String name)
Gets the available amount of the generic resource with the specified name. Can be null.

Parameters:
name - The name of the generic resource.
Returns:
The number of units of the generic resource this node has available.

getAvailableGenericResources

public java.util.Map<java.lang.String,java.lang.Integer> getAvailableGenericResources()
Gets a map of the available generic resources. The key for the map is the generic resource name and the value is the amount of resources this node has available.

Returns:
A Map of the available generic resources.

getAvailableMemoryWeight

public double getAvailableMemoryWeight()
Get the weight that the available memory is attributing to the node.

Returns:
the weight that the available memory is attributing to the node.

getAvailableProcessorWeight

public double getAvailableProcessorWeight()
Get the weight that the available processors are attributing to the node.

Returns:
The weight that the available processors are attributing to the node.

getAvailableStartDate

public java.util.Date getAvailableStartDate()
Get the time when the node will become available. May return null.

Returns:
The time when the node will become available. Can be null.

getBlockReason

public java.lang.String getBlockReason()
Getter for property BlockReason.

Returns:
Value of property BlockReason.

getComments

public java.lang.String getComments()
Getter for property Comments.

Returns:
Value of property Comments.

getConfiguredClasses

public java.util.Set<java.lang.String> getConfiguredClasses()
Get the classes that are configured for this node. Can be null.

Returns:
the classes that are configured for this node.

getConfiguredDiskWeight

public double getConfiguredDiskWeight()
Get the configured disk usage priority weight reported by the partition that the node is a part of.

Returns:
The configured disk usage priority weight reported by the partition that the node is a part of.

getConfiguredMemoryWeight

public double getConfiguredMemoryWeight()
Get the configured memory usage priority weight reported by the partition that the node is a part of.

Returns:
The configured memory usage priority weight reported by the partition that the node is a part of.

getConfiguredProcessorWeight

public double getConfiguredProcessorWeight()
Get the configured processor usage priority weight reported by the partition that the node is a part of.

Returns:
The configured processor usage priority weight reported by the partition that the node is a part of.

getConfiguredSwapWeight

public double getConfiguredSwapWeight()
Get the configured swap usage priority weight reported by the partition that the node is a part of.

Returns:
The configured swap usage priority weight reported by the partition that the node is a part of.

getDiskAvailable

public int getDiskAvailable()
Get the node's available disk space in MB.

Returns:
The node's available disk space in MB.

getDiskTotal

public int getDiskTotal()
Get the node's total disk space in MB.

Returns:
The node's total disk space in MB.

getExternalLoad

public double getExternalLoad()
Get The load on the node not attributed to any batch queues.

Returns:
the load on the node not attributed to any batch queues.

getFeatures

public java.util.Set<java.lang.String> getFeatures()
Get the collection of any opaque node features used to describe and categorize the node. May return null.

Returns:
The collection of any opaque node features used to describe and categorize the node. May return null.

getGenericResourceCount

public java.lang.Integer getGenericResourceCount(java.lang.String name)
Gets the count of the generic resource of the specified name. This is the total configured amount. Can be null.

Parameters:
name - The name of the generic resource.
Returns:
The number of units of the generic resource this node contains.

getGenericResources

public java.util.Map<java.lang.String,java.lang.Integer> getGenericResources()
Get all generic resources attached to this node. With each generic resource there is a name and optionally an associated amount.

Returns:
The generic resources attached to this node. With each generic resource there is a name and optionally an associated amount.

getGMetricValue

public java.lang.Double getGMetricValue(java.lang.String gMetricName)
Get the value of the generic metric passed in for this node.

Parameters:
gMetricName - The name of the generic metric that we will get the value for. For example "power", would be the name of the generic resource that reports power usage.
Returns:
the value of the generic metric for this node.

getIOLoad

public double getIOLoad()
Get the load reported by the node on its I/O.

Returns:
The load reported by the node on its I/O.

getJobList

public java.util.List<java.lang.String> getJobList()
Get The list of jobIDs currently on the node.

Returns:
The list of jobIDs currently on the node.

getLoad

public double getLoad()
Get the current load of the node as a percentage.

Returns:
The current load of the node as a percentage.

getLoadWeight

public double getLoadWeight()
Get the load priority weight of the node.

Returns:
The load priority weight of the node.

getMaxIOIn

public double getMaxIOIn()
Get the maximum input as a percentage allowed for the node's I/O.

Returns:
The maximum input as a percentage allowed for the node's I/O.

getMaxIOLoad

public double getMaxIOLoad()
Get the maximum total load as a percentage allowed for the node's I/O.

Returns:
The maximum total load as a percentage allowed for the node's I/O.

getMaxIOOut

public double getMaxIOOut()
Get the maximum output as a percentage allowed for the node's I/O.

Returns:
The maximum output as a percentage allowed for the node's I/O.

getMaxJob

public int getMaxJob()
Get the maximum number of jobs allowed to run on the node.

Returns:
The maximum number of jobs allowed to run on the node.

getMaxJobPerUser

public int getMaxJobPerUser()
Get the maximum number of jobs for a single user allowed to run on the node.

Returns:
The maximum number of jobs for a single user allowed to run on the node.

getMaxLoad

public double getMaxLoad()
Get the maximum total load as a percentage allowed on the node.

Returns:
The maximum total load as a percentage allowed on the node.

getMaxPageIn

public double getMaxPageIn()
Get the maximum total page in allowed on the node.

Returns:
The maximum total page in allowed on the node.

getMaxPageOut

public double getMaxPageOut()
Get the maximum total page out allowed on the node.

Returns:
The maximum total page out allowed on the node.

getMaxPEPerJob

public double getMaxPEPerJob()
Get the maximum processor equivalence per job allowed on the node.

Returns:
The maximum processor equivalence per job allowed on the node.

getMaxProc

public int getMaxProc()
Get the maximum number of processors available on the node.

Returns:
The maximum number of processors available on the node.

getMaxProcPerClass

public int getMaxProcPerClass()
Get the maximum number of processors per class available on the node.

Returns:
The maximum number of processors per class available on the node.

getMemoryAvailable

public int getMemoryAvailable()
Get the node's available memory in MB.

Returns:
The node's available memory in MB.

getMemoryTotal

public int getMemoryTotal()
Get the node's total memory in MB.

Returns:
The node's total memory in MB.

getMessages

public java.lang.String getMessages()
Get the list of all messages including generic events.

Returns:
the list of all messages including generic events.

getNetwork

public java.lang.String getNetwork()
Get the name of the node's network.

Returns:
The name of the node's network.

getNetworkLoad

public double getNetworkLoad()
Get the load of the node's network as a percentage.

Returns:
The load of the node's network as a percentage.

getNextOS

public java.lang.String getNextOS()
If populated, the next operating system that is currently being provisioned. If null, no provisioning is being done.

Returns:
the next OS being provisioned to. If null, no OS is being provisioned.

getNodeAccessPolicy

public NodeAccessPolicy getNodeAccessPolicy()
Get the node access policy for the node. The default value is null.

Returns:
The node access policy for the node. The default value is null.

getNodeID

public java.lang.String getNodeID()
Get the node's unique identifier.

Returns:
The node's unique identifier.

getNodeType

public java.lang.String getNodeType()
Get the type of the node. This is used for allocation management purposes.

Returns:
The type of the node. This is used for allocation management purposes.

getOs

public java.lang.String getOs()
Get the operating system of the node.

Returns:
The operating system of the node.

getOsList

public java.util.Set<java.lang.String> getOsList()

Returns a list of potential operating systems for the node.

Can be null.

Returns:
a list of potential operating systems for the node.

getPartition

public java.lang.String getPartition()
Get the partition this node belongs to.

Returns:
The partition this node belongs to.

getPower

public NodePower getPower()
Get the node's power state according to the resource managers reporting this node.

Returns:
The node's power state according to the resource managers reporting this node.

getPowerPolicy

public PowerPolicy getPowerPolicy()
Returns the power policy for this node.

Returns:
the power policy for this node.

getPowerSelected

public NodePower getPowerSelected()
Returns the node's power state that Moab is currently scheduling. This could be different than the actual node power itself.

Returns:
the node's power state that Moab is currently scheduling. This could be different than the actual node power itself.

getPriority

public double getPriority()
Get the priority associated with the node.

Returns:
The priority associated with the node.

getPriorityFunction

public PriorityFunction getPriorityFunction()
Get the function used to calculate this node's priority.

Returns:
The function used to calculate this node's priority.

getProcessorsAvailable

public int getProcessorsAvailable()
Get the node's available processors.

Returns:
The node's available processors.

getProcessorsTotal

public int getProcessorsTotal()
Get the node's total processors.

Returns:
The node's total processors.

getProcSpeed

public int getProcSpeed()
Get the node's processor speed in MHz.

Returns:
The node's processor speed in MHz.

getProvisionEndTime

public java.util.Date getProvisionEndTime()
Returns the estimated end time of provisioning. If null, provisioning is not occurring.

Returns:
the estimated end time of provisioning.

getProvisionStartTime

public java.util.Date getProvisionStartTime()
Returns the date the provisioning started. If null, provisioning is not occurring.

Returns:
the date the provisioning started.

getRack

public int getRack()
Get the node's rack location.

Returns:
The node's rack location.

getReservationCount

public int getReservationCount()
Get the number of reservations on the node.

Returns:
The number of reservations on the node.

getReservationList

public java.util.List<java.lang.String> getReservationList()

Returns a list of strings representing all reservations on the node.

If no reservations are found on the node, null is returned.

Returns:
a list of strings representing all reservations on the node.

getReservationListString

public java.lang.String getReservationListString()

Returns a comma separated String of all reservations on the node.

If no reservations are found on the node, null is returned.

Returns:
a comma separated String of all reservations on the node.

getReservationsOnNode

public java.util.List<Reservation> getReservationsOnNode()
Getter for property ReservationsOnNode. Only used in Calendaring

Returns:
Value of property ReservationsOnNode.

getResources

public java.lang.String getResources()
Get the list of resources associated with the node.

Returns:
The list of resources associated with the node.

getRmAccessList

public java.lang.String getRmAccessList()
Get the list of resource managers this node has access to.

Returns:
The list of resource managers this node has access to.

getRmList

public java.lang.String getRmList()
Get the list of resource managers associated with this node.

Returns:
The list of resource managers associated with this node.

getSize

public int getSize()
Get the number of slots or size units consumed by the node.

Returns:
The number of slots or size units consumed by the node.

getSlot

public int getSlot()
Get the node's slot location.

Returns:
The node's slot location.

getSpeed

public double getSpeed()
Get the relative speed of the node. The speed must be between .1 and 100.0.

Returns:
The relative speed of the node. The speed must be between .1 and 100.0.

getSpeedWeight

public double getSpeedWeight()
Get the weight given to the node's speed attribute when calculating jobs' priority on the node.

Returns:
The weight given to the node's speed attribute when calculating jobs' priority on the node.

getState

public NodeState getState()
Get the node's current state.

Returns:
The node's current state.

getSubstate

public java.lang.String getSubstate()

Returns the substate that will give more information about the status of the VM.

Can be null.

Returns:
the substate that will give more information about the status of the VM.

getSwapAvailable

public int getSwapAvailable()
Get the node's available swap space in MB.

Returns:
The node's available swap space in MB.

getSwapTotal

public int getSwapTotal()
Get the node's total swap space in MB.

Returns:
The node's total swap space in MB.

getTaskCount

public int getTaskCount()
Get the number of tasks currently running on the node.

Returns:
The number of tasks currently running on the node.

getTotalActiveTime

public long getTotalActiveTime()
Get the epoch time in seconds that the node was tracked as being busy with jobs.

Returns:
The epoch time in seconds that the node was tracked as being busy with jobs.

getTotalAvailableTime

public long getTotalAvailableTime()
Get the epoch time in seconds that the node is available.

Returns:
The epoch time in seconds that the node is available.

getTotalStatsTime

public long getTotalStatsTime()
Get the epoch time in seconds that the node was tracked as being up.

Returns:
The epoch time in seconds that the node was tracked as being up.

getTotalUpTime

public long getTotalUpTime()
Get the epoch time in seconds that the node was tracked as being up.

Returns:
The epoch time in seconds that the node was tracked as being up.

getUsageWeight

public double getUsageWeight()
Get the weight given to the node's speed attribute when calculating jobs' priority on the node.

Returns:
The weight given to the node's speed attribute when calculating jobs' priority on the node.

getVms

public VMCollection getVms()

Returns the collection of VMs on the node.

Can be null.

Returns:
the collection of VMs on the node.

isActive

public boolean isActive()
Returns whether or not a node is active.

Returns:
if true, the node is active.

isComputeNode

public boolean isComputeNode()

Determines whether this node is a compute node, as opposed to an abstract or logical node. Moab uses logical nodes to organize concepts like generic resources.

Other types of nodes include storage nodes and network nodes.


isDynamic

public boolean isDynamic()
If true, the node is associated with a dynamic resource manager.

Returns:
If the node is associated with a dynamic resource manager.

isProfilingEnabled

public boolean isProfilingEnabled()
Returns whether statistical profiling is enabled for this node


isProvisioning

public boolean isProvisioning()
If the node has a next OS reported, provisioning is occurring.

Returns:
true if the node is provisioning; false, otherwise.

removeVM

public void removeVM(java.lang.String vmID)
Attempts to remove a VM from the collection. If the VM with the respective ID cannot be found, the removal request is simply ignored.

Parameters:
vmID - the ID of the VM to be removed.

setApplStats

public void setApplStats(java.util.Set<ApplicationStatistics> applStats)
Set the node's application statistics. Can be null.

Parameters:
applStats - The node's application statistics.

setArchitecture

public void setArchitecture(java.lang.String architecture)
Set the node's processor architecture. Can be null.

Parameters:
architecture - the node's processor architecture.

setAvailableClasses

public void setAvailableClasses(java.util.Set<java.lang.String> availableClasses)
Set the classes available for this node. Can be null.

Parameters:
availableClasses - the classes available for this node

setAvailableEndDate

public void setAvailableEndDate(java.util.Date avlEndDate)
Sets the end time for the availability for this node. Can be null.

Parameters:
avlEndDate - the end time for the availability for this node.

setAvailableGenericResource

public void setAvailableGenericResource(java.lang.String name,
                                        java.lang.Integer count)
Sets the available generic resource amount for a particular generic resource.

Parameters:
name - A String representing the generic resource name.
count - The number of resources this node has available. Can be set to null.

setAvailableMemoryWeight

public void setAvailableMemoryWeight(double availableMemoryWeight)
Set the weight that the available memory is attributing to the node.

Parameters:
availableMemoryWeight - the weight that the available memory is attributing to the node.

setAvailableProcessorWeight

public void setAvailableProcessorWeight(double availableProcessorWeight)
Set the weight that the available processors are attributing to the node.

Parameters:
availableProcessorWeight - The weight that the available processors are attributing to the node.

setAvailableStartDate

public void setAvailableStartDate(java.util.Date avlStartDate)
Set the time when the node will become available. Can be null.

Parameters:
avlStartTime - The time when the node will become available. Can be null.

setBlockReason

public void setBlockReason(java.lang.String BlockReason)
Setter for property BlockReason.

Parameters:
BlockReason - New value of property BlockReason.

setComments

public void setComments(java.lang.String Comments)
Setter for property Comments.

Parameters:
Comments - New value of property Comments.

setConfiguredClasses

public void setConfiguredClasses(java.util.Set<java.lang.String> configuredClasses)
Set the configured classes for this node. Can be set to null.

Parameters:
configuredClasses - the configured classes for this node.

setConfiguredDiskWeight

public void setConfiguredDiskWeight(double configuredDiskWeight)
Set the configured disk usage priority weight reported by the partition that the node is a part of.

Parameters:
configuredDiskWeight - The configured disk usage priority weight reported by the partition that the node is a part of.

setConfiguredMemoryWeight

public void setConfiguredMemoryWeight(double configuredMemoryWeight)
Set the configured memory usage priority weight reported by the partition that the node is a part of.

Parameters:
configuredMemoryWeight - The configured memory usage priority weight reported by the partition that the node is a part of.

setConfiguredProcessorWeight

public void setConfiguredProcessorWeight(double configuredProcessorWeight)
Set The configured processor usage priority weight reported by the partition that the node is a part of.

Parameters:
configuredProcessorWeight - The configured processor usage priority weight reported by the partition that the node is a part of.

setConfiguredSwapWeight

public void setConfiguredSwapWeight(double configuredSwapWeight)
Set the configured swap usage priority weight reported by the partition that the node is a part of.

Parameters:
configuredSwapWeight - The configured swap usage priority weight reported by the partition that the node is a part of.

setDiskAvailable

public void setDiskAvailable(int diskAvailable)
Set the node's available disk space in MB.

Parameters:
diskAvailable - The node's available disk space in MB.

setDiskTotal

public void setDiskTotal(int diskTotal)
Set the node's total disk space in MB.

Parameters:
diskTotal - The node's total disk space in MB.

setDynamic

public void setDynamic(boolean isDynamic)
Set if the node is associated with a dynamic resource manager.

Parameters:
isDynamic - If true, the node is associated with a dynamic resource manager.

setExternalLoad

public void setExternalLoad(double externalLoad)
Set the load on the node not attributed to any batch queues.

Parameters:
externalLoad - The load on the node not attributed to any batch queues.

setFeatures

public void setFeatures(java.util.Set<java.lang.String> features)
Set the collection of any opaque node features used to describe and categorize the node. Can be null.

Parameters:
features - The collection of any opaque node features used to describe and categorize the node. Can be null.

setGenericResource

public void setGenericResource(java.lang.String name,
                               java.lang.Integer count)
Adds a generic resource to this node with the associated amount. The count parameter can be null.

Parameters:
name - A String representing the generic resource name.
count - (Optional) The number of resources this node contains. Can be set to null.

setGMetricValue

public void setGMetricValue(java.lang.String gMetricName,
                            java.lang.Double value)
Set the generic metric value for the given generic metric on this node.

Parameters:
gMetricName - The name of the generic metric to set. For example "power" or "temp"
value - The value for this generic metric, Can be null.

setIOLoad

public void setIOLoad(double ioLoad)
Set the load reported by the node on its I/O.

Parameters:
ioLoad - The load reported by the node on its I/O.

setJobList

public void setJobList(java.util.List<java.lang.String> jobList)
Set the list of jobIDs currently on the node.

Parameters:
jobList - The list of jobIDs currently on the node.

setLoad

public void setLoad(double load)
Set the current load of the node as a percentage.

Parameters:
load - The current load of the node as a percentage.

setLoadWeight

public void setLoadWeight(double loadWeight)
Set the load priority weight of the node.

Parameters:
loadWeight - The load priority weight of the node.

setMaxIOIn

public void setMaxIOIn(double maxIOIn)
Set the maximum input as a percentage allowed for the node's I/O.

Parameters:
maxIOIn - The maximum input as a percentage allowed for the node's I/O.

setMaxIOLoad

public void setMaxIOLoad(double maxIOLoad)
Set the maximum total load as a percentage allowed for the node's I/O.

Parameters:
maxIOLoad - The maximum total load as a percentage allowed for the node's I/O.

setMaxIOOut

public void setMaxIOOut(double maxIOOut)
Set the maximum output as a percentage allowed for the node's I/O.

Parameters:
maxIOOut - The maximum output as a percentage allowed for the node's I/O.

setMaxJob

public void setMaxJob(int maxJob)
Set the maximum number of jobs allowed to run on the node.

Parameters:
maxJob - The maximum number of jobs allowed to run on the node.

setMaxJobPerUser

public void setMaxJobPerUser(int maxJobPerUser)
Set the maximum number of jobs for a single user allowed to run on the node.

Parameters:
maxJobPerUser - The maximum number of jobs for a single user allowed to run on the node.

setMaxLoad

public void setMaxLoad(double maxLoad)
Set the maximum total load as a percentage allowed on the node.

Parameters:
maxLoad - The maximum total load as a percentage allowed on the node.

setMaxPageIn

public void setMaxPageIn(double maxPageIn)
Set the maximum total page in allowed on the node.

Parameters:
maxPageIn - The maximum total page in allowed on the node.

setMaxPageOut

public void setMaxPageOut(double maxPageOut)
Set the maximum total page out allowed on the node.

Parameters:
maxPageOut - The maximum total page out allowed on the node.

setMaxPEPerJob

public void setMaxPEPerJob(double maxPEPerJob)
Set the maximum processor equivalence per job allowed on the node.

Parameters:
maxPEPerJob - The maximum processor equivalence per job allowed on the node.

setMaxProc

public void setMaxProc(int maxProc)
Set the maximum number of processors available on the node.

Parameters:
maxProc - The maximum number of processors available on the node.

setMaxProcPerClass

public void setMaxProcPerClass(int maxProcPerClass)
Set the maximum number of processors per class available on the node.

Parameters:
maxProcPerClass - The maximum number of processors per class available on the node.

setMemoryAvailable

public void setMemoryAvailable(int memoryAvailable)
Set the node's available memory in MB.

Parameters:
memoryAvailable - The node's available memory in MB.

setMemoryTotal

public void setMemoryTotal(int memoryTotal)
Set the node's total memory in MB.

Parameters:
memoryTotal - The node's total memory in MB.

setMessages

public void setMessages(java.lang.String value)
Sets the messages that belong to this node.

Parameters:
value - the messages that belong to this node.

setNetwork

public void setNetwork(java.lang.String network)
Set the name of the node's network.

Parameters:
network - The name of the node's network.

setNetworkLoad

public void setNetworkLoad(double networkLoad)
Set the load of the node's network as a percentage.

Parameters:
networkLoad - The load of the node's network as a percentage.

setNextOS

public void setNextOS(java.lang.String nextOS)
If populated, the next operating system that is currently being provisioned. If null, no provisioning is being done.

Parameters:
nextOS - the next OS being provisioned to. If null, no OS is being provisioned.

setNodeAccessPolicy

public void setNodeAccessPolicy(NodeAccessPolicy nodeAccessPolicy)
Set the node access policy for the node. The default value is null.

Parameters:
nodeAccessPolicy - The node access policy for the node. The default value is null.

setNodeID

public void setNodeID(java.lang.String nodeID)
Set the unique node ID for this MoabNode.

Parameters:
nodeID - the unique node ID.

setNodePower

public void setNodePower(NodePower power)
Set the node's power state according to the resource managers reporting this node.

Parameters:
power - The node's power state according to the resource managers reporting this node.

setNodeType

public void setNodeType(java.lang.String nodeType)
Set the type of the node. This is used for allocation management purposes.

Parameters:
nodeType - The type of the node. This is used for allocation management purposes.

setOs

public void setOs(java.lang.String os)
Set the operating system for this node.

Parameters:
os - the operating system for this node.

setOsList

public void setOsList(java.util.Set<java.lang.String> osList)

Sets the list of potential operating systems for the node.

Can be null.

Parameters:
osList - the list of potential operating systems for the node.

setPartition

public void setPartition(java.lang.String partition)
Get the partition this node belongs to.

Parameters:
partition - The partition this node belongs to.

setPowerPolicy

public void setPowerPolicy(PowerPolicy powerPolicy)

Sets the power policy for this node.

Cannot be null.

Parameters:
powerPolicy - the power policy for this node.

setPowerSelected

public void setPowerSelected(NodePower powerSelected)
Sets the node's power state that Moab is currently scheduling. This could be different than the actual node power itself.

Parameters:
powerSelected - the node's power state that Moab is currently scheduling.

setPriority

public void setPriority(double priority)
Set the priority associated with the node.

Parameters:
priority - The priority associated with the node.

setPriorityFunction

public void setPriorityFunction(PriorityFunction function)
Set the function used to calculate this node's priority.

Parameters:
function - The function used to calculate this node's priority.

setProcessorsAvailable

public void setProcessorsAvailable(int processorsAvailable)
Set the node's available processors.

Parameters:
processorsAvailable - The node's available processors.

setProcessorsTotal

public void setProcessorsTotal(int processorsTotal)
Set the node's total processors.

Parameters:
processorsTotal - The node's total processors.

setProcSpeed

public void setProcSpeed(int procSpeed)
Set the node's processor speed in MHz.

Parameters:
procSpeed - The node's processor speed in MHz.

setProfilingEnabled

public void setProfilingEnabled(boolean enabled)
Sets whether statistical profiling is enabled for this node


setProvisionEndTime

public void setProvisionEndTime(java.util.Date provisionEndTime)
Sets the estimated end time of provisioning. If null, provisioning is not occurring.

Parameters:
provisionEndTime - the estimated end time of provisioning.

setProvisionStartTime

public void setProvisionStartTime(java.util.Date provisionStartTime)
Sets the date the provisioning started. If null, provisioning is not occurring.

Parameters:
provisionStartTime - the date the provisioning started.

setRack

public void setRack(int rack)
Set the node's rack location.

Parameters:
rack - The node's rack location.

setReservationCount

public void setReservationCount(int reservationCount)
Set the number of reservations on the node.

Parameters:
reservationCount - The number of reservations on the node.

setReservationList

public void setReservationList(java.util.List<java.lang.String> reservationList)
Sets the list of reservations' names on the node.

Parameters:
reservationList - the list of reservations' names on the node.

setReservations

public void setReservations(java.util.List<Reservation> reservations)
Setter for property ReservationsOnNode. Only used in Calendaring

Parameters:
reservations - New value of property ReservationsOnNode.

setResources

public void setResources(java.lang.String value)
Set the list of resources associated with the node.

Parameters:
value - The list of resources associated with the node.

setRmAccessList

public void setRmAccessList(java.lang.String value)
Set the list of resource managers this node has access to.

Parameters:
value - The list of resource managers this node has access to.

setRmList

public void setRmList(java.lang.String value)
Set the list of resource managers associated with this node.

Parameters:
value - The list of resource managers associated with this node.

setSize

public void setSize(int size)
Set the number of slots or size units consumed by the node.

Parameters:
size - The number of slots or size units consumed by the node.

setSlot

public void setSlot(int slot)
Set the node's slot location.

Parameters:
slot - The node's slot location.

setSpeed

public void setSpeed(double speed)
The relative speed of the node. The speed must be between .1 and 100.0.

Parameters:
speed - The relative speed of the node. The speed must be between .1 and 100.0.

setSpeedWeight

public void setSpeedWeight(double speedWeight)
Set the weight given to the node's speed attribute when calculating jobs' priority on the node.

Parameters:
speedWeight - The weight given to the node's speed attribute when calculating jobs' priority on the node.

setState

public void setState(NodeState state)
Set the node's current state.

Parameters:
state - The node's current state.

setSubstate

public void setSubstate(java.lang.String substate)

Sets the substate that will give more information about the status of the VM.

Can be null.

Parameters:
substate - the substate that will give more information about the status of the VM.

setSwapAvailable

public void setSwapAvailable(int swapAvailable)
Set the node's available swap space in MB.

Parameters:
swapAvailable - The node's available swap space in MB.

setSwapTotal

public void setSwapTotal(int swapTotal)
Set the node's total swap space in MB.

Parameters:
swapTotal - The node's total swap space in MB.

setTaskCount

public void setTaskCount(int taskCount)
Set the number of tasks currently running on the node.

Parameters:
taskCount - The number of tasks currently running on the node.

setTotalActiveTime

public void setTotalActiveTime(long totalActiveTime)
Set the epoch time in seconds that the node was tracked as being busy with jobs.

Parameters:
totalActiveTime - The epoch time in seconds that the node was tracked as being busy with jobs.

setTotalAvailableTime

public void setTotalAvailableTime(long totalAvailableTime)
Set the epoch time in seconds that the node is available.

Parameters:
totalAvailableTime - The epoch time in seconds that the node is available.

setTotalStatsTime

public void setTotalStatsTime(long totalStatsTime)
Set the epoch time in seconds that stats have been tracked for the node.

Parameters:
totalStatsTime - The epoch time in seconds that stats have been tracked for the node.

setTotalUpTime

public void setTotalUpTime(long totalUpTime)
Set the epoch time in seconds that the node was tracked as being up.

Parameters:
totalUpTime - The epoch time in seconds that the node was tracked as being up.

setUsageWeight

public void setUsageWeight(double usageWeight)
Set the weight given to the node's speed attribute when calculating jobs' priority on the node.

Parameters:
usageWeight - The weight given to the node's speed attribute when calculating jobs' priority on the node.

setVms

public void setVms(VMCollection vms)

Sets the collection of VMs on the node.

Can be null.

Parameters:
vms - the collection of VMs on the node.

setHypervisorType

public void setHypervisorType(java.lang.String hypervisorType)
Set the hypervisor type of this node. Set to null to indicate this is not a hypervisor.

Parameters:
hypervisorType - the hypervisor type of this node

getHypervisorType

public java.lang.String getHypervisorType()
Get the hypervisor type of this node. Null indicates this is not a hypervisor.

Returns:
the hypervisor type of this node.

setNodeOperations

public void setNodeOperations(java.util.Set<NodeOperation> nodeOperations)
Set the list of operations that can be performed on this node.

Parameters:
nodeOperations - The list of operations that can be performed on this node.

getNodeOperations

public java.util.Set<NodeOperation> getNodeOperations()
Get the list of operations that can be performed on this node. Can be null.

Returns:
a list of operations that can be performed on this node.

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

getChargeRate

public double getChargeRate()

Sets the charge rate for the node.

Using allocation management and charging policies, this rate will be accounted for when the node is used by a charged job.

Returns:
the charge rate for the node.

setChargeRate

public void setChargeRate(double chargeRate)

Returns the charge rate for the node.

Using allocation management and charging policies, this rate will be accounted for when the node is used by a charged job.

Parameters:
chargeRate - the charge rate of the node.


Copyright © 2001-2009 Cluster Resources, Inc. All Rights Reserved.