예제 #1
0
파일: vm.py 프로젝트: OpenVZ/vcmmd
    def get_node_list(self):
        '''Get list of nodes where VM is running
        NOTE: only for memory
        '''
        try:
            ret = self._libvirt_domain.numaParameters()
        except libvirtError as err:
            raise Error(str(err))

        return parse_range_list(ret['numa_nodeset'])
예제 #2
0
파일: ve_config.py 프로젝트: OpenVZ/vcmmd
 def __init__(self, **kv):
     self._kv = {}
     for k, v in kv.iteritems():
         if k not in _VEConfigFields:
             raise TypeError("unexpected keyword argument '%s'" % k)
         if k not in _VEConfigFields_string:
             self._kv[str(k)] = int(v)
         else:
             if k in ["nodelist", "cpulist"]:
                 self._kv[str(k)] = parse_range_list(str(v))
                 continue
             self._kv[str(k)] = str(v)
예제 #3
0
파일: numa.py 프로젝트: OpenVZ/vcmmd
    def init(cls):
        if cls.__inited:
            return
        cls.nodes_ids = cls.get_nodes_ids()
        cls.cpu_list = {}
        for n in cls.nodes_ids[:]:
	    node_dir = cls.NUMA_NODE_SYS_PATH % n
            with open(node_dir + "cpulist") as f:
                cpu_list = parse_range_list(f.read())
                if not cpu_list:
                    cls.nodes_ids.remove(n)
                    continue
                cls.cpu_list[n] = cpu_list
        cls.__inited = True
예제 #4
0
파일: cpuset.py 프로젝트: OpenVZ/vcmmd
 def get_node_list(self):
     return parse_range_list(self._read_file_str("mems"))
예제 #5
0
파일: cpuset.py 프로젝트: OpenVZ/vcmmd
 def get_cpu_list(self):
     return parse_range_list(self._read_file_str("cpus"))
예제 #6
0
파일: numa.py 프로젝트: OpenVZ/vcmmd
 def get_nodes_ids():
     with open("/sys/devices/system/node/online") as node_list:
         return parse_range_list(node_list.read())