Mini Shell
# coding=utf-8
# Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2018 All Rights Reserved
#
# Licensed under CLOUD LINUX LICENSE AGREEMENT
# http://cloudlinux.com/docs/LICENSE.TXT
from past.builtins import basestring # noqa
__author__ = 'shaman'
class LVEStat:
__slots__ = (
'_get_attributes',
'_set_attributes',
'reseller_id',
'id',
'mep',
'cpu',
'io',
'cpu_usage',
'mem_usage',
'io_usage',
'lmem',
'lep',
'ncpu',
'mem_fault',
'mep_fault',
'lmemphy',
'lcpuw',
'lnproc',
'memphy',
'memphy_fault',
'nproc',
'nproc_fault',
'liops',
'iops')
def __init__(self, line, version):
"""
:param line: source of data (line from /proc/lve/list or other LVEStat or None
to make a dumb LVEStat initialized with zeroes)
:type line: str | LVEStat | NoneType
:param version: version of lve
:type version: int
"""
self.reseller_id = 0 # Reseller container ID. Added in LVE10
self.id = 0 # LVE lve id (>=0)
self.mep = 0 # EP number of processes entered lve (>=0)
self.cpu = 0 # lCPU cpu usage limit (1...100) or (1...10000 * ncpu)
self.io = 0 # lIO io priority (0...10)
self.cpu_usage = 0 # CPU cpu ticks passed (>0)
self.mem_usage = 0 # MEM used virtual memory in 4k-sized pages (>0)
self.io_usage = 0 # IO quantity of io >=0
self.lmem = 0 # lMEM limit of used memory in 4k-sized pages (>0)
self.lep = 0 # lEP limit of number of processes entered lve (>=0)
self.ncpu = 0 # nCPU number of cpu cores allowed to use in current lve (>=0)
self.mem_fault = 0 # fMEM number of virtual memory faults (>=0)
self.mep_fault = 0 # fEP number of maxentryproc faults (>=0)
self.lmemphy = 0 # lMEMPHY physical memory limit >=0
self.lcpuw = 0 # lCPUW not used
self.lnproc = 0 # lNPROC max number of processes spawned in lve limit >=0
self.memphy = 0 # MEMPHY physical memory used >=0
self.memphy_fault = 0 # fMEMPHY number of physical memory limit faults >=0
self.nproc = 0 # NPROC current number of processes spawned in lve>=0
self.nproc_fault = 0 # fNPROC number of processes spawned in lve faults count>=0
self.liops = 0 # lIOPS limit of io operations #20
self.iops = 0 # IOPS io operations count #21
if version < 8:
self._set_attributes = self._set_attributes6
self._get_attributes = self._get_attributes6
elif version < 10:
self._set_attributes = self._set_attributes8
self._get_attributes = self._get_attributes8
else:
self._set_attributes = self._set_attributes10
self._get_attributes = self._get_attributes10
if isinstance(line, str):
self.init_basestring(line)
elif isinstance(line, LVEStat):
self.init_lvestat(line)
def init_lvestat(self, line):
self._set_attributes(line._get_attributes())
def init_basestring(self, line):
result = [int(i) for i in line.replace(",", " ").split()]
self._set_attributes(result)
def _set_attributes6(self, args):
self.id = args[0]
self.mep = args[1]
self.cpu = args[2]
self.io = args[3]
self.cpu_usage = args[4]
self.mem_usage = args[5]
self.io_usage = args[6]
self.lmem = args[7]
self.lep = args[8]
self.ncpu = args[9]
self.mem_fault = args[10]
self.mep_fault = args[11]
self.lmemphy = args[12]
self.lcpuw = args[13]
self.lnproc = args[14]
self.memphy = args[15]
self.memphy_fault = args[16]
self.nproc = args[17]
self.nproc_fault = args[18]
def _get_attributes6(self):
return (
self.id,
self.mep,
self.cpu,
self.io,
self.cpu_usage,
self.mem_usage,
self.io_usage,
self.lmem,
self.lep,
self.ncpu,
self.mem_fault,
self.mep_fault,
self.lmemphy,
self.lcpuw,
self.lnproc,
self.memphy,
self.memphy_fault,
self.nproc,
self.nproc_fault)
def _set_attributes8(self, args):
self._set_attributes6(args)
self.liops = args[19]
self.iops = args[20]
def _get_attributes8(self):
return self._get_attributes6() + (
self.liops,
self.iops)
def _set_attributes10(self, args):
self.reseller_id = args[0]
self.id = args[1]
self.cpu = args[2]
self.lcpuw = args[3]
self.ncpu = args[4]
self.lep = args[5]
self.lnproc = args[6]
self.lmem = args[7]
self.lmemphy = args[8]
self.io = args[9]
self.liops = args[10]
# None, # lNETO not implemented yet
# None, # lNETI not implemented yet
self.mep = args[13]
self.cpu_usage = args[14]
self.mem_usage = args[15]
self.io_usage = args[16]
self.mem_fault = args[17]
self.mep_fault = args[18]
self.memphy = args[19]
self.memphy_fault = args[20]
self.nproc = args[21]
self.nproc_fault = args[22]
self.iops = args[23]
# None, # NETO not implemented yet
# None # NETI not implemented yet
def _get_attributes10(self):
return (
self.reseller_id,
self.id,
self.cpu,
self.lcpuw,
self.ncpu,
self.lep,
self.lnproc,
self.lmem,
self.lmemphy,
self.io,
self.liops,
None, # lNETO not implemented yet
None, # lNETI not implemented yet
self.mep,
self.cpu_usage,
self.mem_usage,
self.io_usage,
self.mem_fault,
self.mep_fault,
self.memphy,
self.memphy_fault,
self.nproc,
self.nproc_fault,
self.iops,
None, # NETO not implemented yet
None,) # NETI not implemented yet
Zerion Mini Shell 1.0