File: //proc/self/root/usr/local/CyberCP/containerization/__pycache__/containerManager.cpython-310.pyc
o
��hW � @ sj d dl mZ d dlZd dlmZ d dlmZ d dl m
Z
d dlZd dlZd dl
mZ G dd� dej�ZdS )� )�ProcessUtilitiesN)�
ACLManager)�ServerStatusUtil)�httpProcc @ sb e Zd ZdZddd�Zdd� Zedd� �Zed d
� �Zdd� Z d
d� Z
dd� Zdd� Zdd� Z
dS )�ContainerManagera� group {groupName}{
cpu {
cpu.cfs_quota_us = {cfs_quota_us};
cpu.cfs_period_us = {cfs_period_us};
}
memory {
memory.limit_in_bytes = {memory}m;
}
blkio {
blkio.throttle.read_bps_device = "{major}:{minor} {io}";
blkio.throttle.write_bps_device = "{major}:{minor} {io}";
blkio.throttle.read_iops_device = "{major}:{minor} {iops}";
blkio.throttle.write_iops_device = "{major}:{minor} {iops}";
}
net_cls
{
net_cls.classid = 0x10{net_cls};
}
}Nc C s( t j�| � || _|| _|| _|| _d S )N)�multi�Thread�__init__�request�templateName�function�data)�selfr
r r r
� r �7/usr/local/CyberCP/containerization/containerManager.pyr s
zContainerManager.__init__c
C s� z'| j dkr
| �� W d S | j dkr| �� W d S | j dkr%| �� W d S W d S tyD } ztj�t|�d � W Y d }~d S d }~ww )N�submitContainerInstall�addTrafficController�removeLimitsz [ContainerManager.run]) r r r r �
BaseException�logging�CyberCPLogFileWriter�writeToFile�str)r �msgr r r �run% s
�"��zContainerManager.runc C sZ t | d�}t|�dkrd| S t|�dkrd| S t|�dkr#d| S t|�dkr+|S d S )N�02x� �000� �00� �0)�format�len)�count�hexValuer r r �
fetchHexValue0 s
�zContainerManager.fetchHexValuec
C s� z[t �d�tj }tt �|��}td�} tt|�d d �}
tj�d| �}|�d|�}|�d|�}|�d|�}|�d|�}|�d | �}|�d
|
�}|�dt|��}|�dt|��}|W S t yv } zt
j�t|�� W Y d }~dS d }~ww )
N�/r i z{groupName}z{cfs_quota_us}z{cfs_period_us}z{memory}z{major}z{minor}z{io}z{iops}z {net_cls})
�os�stat�ST_DEVr �major�intr �defaultConf�replacer r r r )
� groupName�cfs_quota_us�
cfs_period_us�memory�io�iops�net_cls�devr+ �minor�finalIO�ioConfr r r r �prepConf= s( ��zContainerManager.prepConfc C s� i }d|d<