cc1  v2.1
CC1 source code docs
 All Classes Namespaces Files Functions Variables Pages
src.cm.models.node.Node Class Reference

NODE Model Class for Nodes in the cluster. More...

Classes

class  Meta

Public Member Functions

def __unicode__
def conn_string
def cpu_free
def dict
def get_cm_ip
 Method.
def hdd_free
def lock
 Method sets node's stat to locked.
def long_dict
def long_long_dict
def lv_cpu_free
def lv_cpu_total
def lv_memory_free
def lv_memory_total
def memory_free
def read_lv_data
def real_hdd_free
def real_hdd_total
def real_memory_free
def real_memory_total
def ssh_string

Static Public Member Functions

def get
def get_free_node
 Method picks either requestd or, if none, first available Node that is sufficient enough for specified Image and Template and returns that Node.

Public Attributes

 lv_data
 state

Static Public Attributes

tuple address = models.CharField(max_length=45)
tuple comment = models.TextField(null=True, blank=True)
tuple cpu_total = models.IntegerField()
tuple driver = models.CharField(max_length=45)
tuple errors = models.TextField(null=True, blank=True)
tuple hdd_total = models.IntegerField()
tuple memory_total = models.IntegerField()
tuple state = models.IntegerField()
tuple suffix = models.CharField(max_length=20)
tuple transport = models.CharField(max_length=45)
tuple username = models.CharField(max_length=30)

Detailed Description

NODE Model Class for Nodes in the cluster.

Node is physical machine providing its CPU for virtual machines ran within cluster. It hosts VMs with help of underlying Libvirt software. CM automatically selects Node fitting best for newly created VM. User doesn't know which Node it is exactly. He doesn't even need to be aware of nodes existence.

VMs may start only on node with 'ok' state. CM automatically disables starting VMs on failed nodes.

Definition at line 48 of file node.py.

Member Function Documentation

def src.cm.models.node.Node.__unicode__ (   self)

Definition at line 65 of file node.py.

def src.cm.models.node.Node.conn_string (   self)
Returns
(string) this Node's connection string

Definition at line 196 of file node.py.

def src.cm.models.node.Node.cpu_free (   self)
Returns
(int) this Node's free CPU amount

Definition at line 212 of file node.py.

def src.cm.models.node.Node.dict (   self)
Returns
(dict) node's data
fields:
  • id
  • address
  • cpu_total
  • cpu_free
  • memory_total
  • memory_free
  • hdd_total
  • hdd_free
  • state

Definition at line 83 of file node.py.

def src.cm.models.node.Node.get (   user_id,
  node_id 
)
static
Parameters
user_id(int) id of the declared Node's owner
node_id(int) requested Node's id
Returns
(Node) instance of the requested Node
Exceptions
CMException('node_get')no such Node

Definition at line 380 of file node.py.

def src.cm.models.node.Node.get_cm_ip (   self)

Method.

Definition at line 359 of file node.py.

def src.cm.models.node.Node.get_free_node (   template,
  image,
  node_id = None 
)
static

Method picks either requestd or, if none, first available Node that is sufficient enough for specified Image and Template and returns that Node.

Parameters
template(Template) instance of the VM's Template to run on searched Node
image(Image) instance of the Image to run on searched Node
node_id(int) (optional, first suitable by default)
Returns
(Node) sufficient instance of the Node
Exceptions
CMException('node_get')cannot get sufficient Node

Definition at line 417 of file node.py.

def src.cm.models.node.Node.hdd_free (   self)
Returns
(int) this Node's free hdd amount

Definition at line 240 of file node.py.

def src.cm.models.node.Node.lock (   self)

Method sets node's stat to locked.

Definition at line 394 of file node.py.

def src.cm.models.node.Node.long_dict (   self)
Returns
(dict) node's extended data
fields:
  • id
  • username
  • address
  • transport
  • driver
  • cpu_total
  • cpu_free
  • memory_total
  • memory_free
  • hdd_total
  • hdd_free
  • state
  • suffix

Definition at line 118 of file node.py.

def src.cm.models.node.Node.long_long_dict (   self)
Returns
(dict) node's further extended data
fields:
  • id
  • username
  • address
  • transport
  • driver
  • cpu_total
  • cpu_free
  • memory_total
  • memory_free
  • hdd_total
  • hdd_free
  • state
  • suffix
  • real_memory_total
  • real_memory_free
  • lv_memory_total
  • lv_memory_free
  • lv_cpu_total
  • lv_cpu_free

Definition at line 163 of file node.py.

def src.cm.models.node.Node.lv_cpu_free (   self)
Returns
(int) this Node's free CPU amount (according to libvirt)

Definition at line 315 of file node.py.

def src.cm.models.node.Node.lv_cpu_total (   self)
Returns
(int) this Node's total CPU amount (according to libvirt)

Definition at line 307 of file node.py.

def src.cm.models.node.Node.lv_memory_free (   self)
Returns
(int) this Node's free memory amount [MB] (according to libvirt)

Definition at line 298 of file node.py.

def src.cm.models.node.Node.lv_memory_total (   self)
Returns
(int) this Node's total memory amount [MB] (according to Libvirt)

Definition at line 290 of file node.py.

def src.cm.models.node.Node.memory_free (   self)
Returns
(int) this Node's free memory amount

Definition at line 226 of file node.py.

def src.cm.models.node.Node.read_lv_data (   self)
Returns
(array) resources data of this Node provided by Libvirt running on it: 0. used_cpu,
  1. used_memory [KBytes],
  2. total_cpu,
  3. total_memory [MBytes],
  4. free_memory [Bytes],
  5. pool_total_space [Bytes],
  6. pool_free_space [Bytes]

Definition at line 261 of file node.py.

def src.cm.models.node.Node.real_hdd_free (   self)
Returns
(int) this Node's free HDD amount [MB] (real)

Definition at line 350 of file node.py.

def src.cm.models.node.Node.real_hdd_total (   self)
Returns
(int) this Node's total HDD storage amount [MB] (real)

Definition at line 341 of file node.py.

def src.cm.models.node.Node.real_memory_free (   self)
Returns
(int) this Node's free memory amount [MB] (real)

Definition at line 332 of file node.py.

def src.cm.models.node.Node.real_memory_total (   self)
Returns
(int) this Node's total memory amount [MB] (real)

Definition at line 324 of file node.py.

def src.cm.models.node.Node.ssh_string (   self)
Returns
(string) SSH address of this Node ('user@address')

Definition at line 204 of file node.py.

Member Data Documentation

tuple src.cm.models.node.Node.address = models.CharField(max_length=45)
static

Definition at line 50 of file node.py.

tuple src.cm.models.node.Node.comment = models.TextField(null=True, blank=True)
static

Definition at line 58 of file node.py.

tuple src.cm.models.node.Node.cpu_total = models.IntegerField()
static

Definition at line 54 of file node.py.

tuple src.cm.models.node.Node.driver = models.CharField(max_length=45)
static

Definition at line 52 of file node.py.

tuple src.cm.models.node.Node.errors = models.TextField(null=True, blank=True)
static

Definition at line 59 of file node.py.

tuple src.cm.models.node.Node.hdd_total = models.IntegerField()
static

Definition at line 56 of file node.py.

src.cm.models.node.Node.lv_data

Definition at line 281 of file node.py.

tuple src.cm.models.node.Node.memory_total = models.IntegerField()
static

Definition at line 55 of file node.py.

tuple src.cm.models.node.Node.state = models.IntegerField()
static

Definition at line 57 of file node.py.

src.cm.models.node.Node.state

Definition at line 395 of file node.py.

tuple src.cm.models.node.Node.suffix = models.CharField(max_length=20)
static

Definition at line 53 of file node.py.

tuple src.cm.models.node.Node.transport = models.CharField(max_length=45)
static

Definition at line 51 of file node.py.

tuple src.cm.models.node.Node.username = models.CharField(max_length=30)
static

Definition at line 49 of file node.py.


The documentation for this class was generated from the following file: