centralized execution ph2

This commit is contained in:
usmannasir
2019-03-26 16:19:03 +05:00
parent cc6b52fa71
commit 3dd0969350
70 changed files with 2485 additions and 2189 deletions

View File

@@ -1,17 +1,11 @@
#!/usr/local/CyberCP/bin/python2
import os
import os.path
import sys
import django
sys.path.append('/usr/local/CyberCP')
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "CyberCP.settings")
#django.setup()
import plogical.CyberCPLogFileWriter as logging
import argparse
import subprocess
import shlex
from plogical.processUtilities import ProcessUtilities
from xml.etree import ElementTree
from plogical.mailUtilities import mailUtilities
from serverStatus.serverStatusUtil import ServerStatusUtil
class Container:
packages = ['talksho']
@@ -71,11 +65,38 @@ class Container:
except BaseException, msg:
logging.CyberCPLogFileWriter.writeToFile(str(msg))
@staticmethod
def submitContainerInstall():
try:
mailUtilities.checkHome()
statusFile = open(ServerStatusUtil.lswsInstallStatusPath, 'w')
logging.CyberCPLogFileWriter.statusWriter(ServerStatusUtil.lswsInstallStatusPath,
"Starting Packages Installation..\n", 1)
command = 'sudo yum install -y libcgroup-tools'
ServerStatusUtil.executioner(command, statusFile)
command = 'sudo systemctl enable cgconfig'
ServerStatusUtil.executioner(command, statusFile)
command = 'sudo systemctl enable cgred'
ServerStatusUtil.executioner(command, statusFile)
logging.CyberCPLogFileWriter.statusWriter(ServerStatusUtil.lswsInstallStatusPath,
"Packages successfully installed.[200]\n", 1)
except BaseException, msg:
logging.CyberCPLogFileWriter.statusWriter(ServerStatusUtil.lswsInstallStatusPath, str(msg) + ' [404].', 1)
def main():
parser = argparse.ArgumentParser(description='CyberPanel Container Manager')
parser.add_argument('--userid', help='User ID')
parser.add_argument('--package', help='Package')
parser.add_argument('--function', help='Function')
parser.add_argument('--list-all', help='List all users/packages.', action='store_true')
parser.add_argument('--list-packages', help='List all packages.', action='store_true')
@@ -90,6 +111,11 @@ def main():
Container.listAll()
elif args['list_packages']:
Container.listPackages()
elif args['list_packages']:
Container.listPackages()
elif args["function"] == "submitContainerInstall":
Container.submitContainerInstall()

View File

@@ -2,10 +2,10 @@ from django.shortcuts import render
from plogical.processUtilities import ProcessUtilities
import threading as multi
from plogical.acl import ACLManager
from plogical.mailUtilities import mailUtilities
import plogical.CyberCPLogFileWriter as logging
from serverStatus.serverStatusUtil import ServerStatusUtil
import os, stat
from plogical.virtualHostUtilities import virtualHostUtilities
class ContainerManager(multi.Thread):
@@ -125,24 +125,9 @@ class ContainerManager(multi.Thread):
1)
return 0
mailUtilities.checkHome()
statusFile = open(ServerStatusUtil.lswsInstallStatusPath, 'w')
logging.CyberCPLogFileWriter.statusWriter(ServerStatusUtil.lswsInstallStatusPath,
"Starting Packages Installation..\n", 1)
command = 'sudo yum install -y libcgroup-tools'
ServerStatusUtil.executioner(command, statusFile)
command = 'sudo systemctl enable cgconfig'
ServerStatusUtil.executioner(command, statusFile)
command = 'sudo systemctl enable cgred'
ServerStatusUtil.executioner(command, statusFile)
logging.CyberCPLogFileWriter.statusWriter(ServerStatusUtil.lswsInstallStatusPath,
"Packages successfully installed.[200]\n", 1)
execPath = "sudo python /usr/local/CyberCP/containerization/container.py"
execPath = execPath + " --function submitContainerInstall"
ProcessUtilities.outputExecutioner(execPath)
except BaseException, msg:
logging.CyberCPLogFileWriter.statusWriter(ServerStatusUtil.lswsInstallStatusPath, str(msg) + ' [404].', 1)

View File

@@ -162,7 +162,7 @@ def saveWebsiteLimits(request):
cgrules = '/etc/cgrules.conf'
enforceString = '{} cpu,memory,blkio,net_cls {}/\n'.format(website.externalApp, website.externalApp)
cgrulesData = ProcessUtilities.outputExecutioner(shlex.split('sudo cat /etc/cgrules.conf')).splitlines()
cgrulesData = ProcessUtilities.outputExecutioner('sudo cat /etc/cgrules.conf').splitlines()
writeToFile = open(cgrulesTemp, 'w')
@@ -219,7 +219,7 @@ def saveWebsiteLimits(request):
cgrulesTemp = "/home/cyberpanel/" + str(randint(1000, 9999))
cgrules = '/etc/cgrules.conf'
cgrulesData = ProcessUtilities.outputExecutioner(shlex.split('sudo cat /etc/cgrules.conf')).splitlines()
cgrulesData = ProcessUtilities.outputExecutioner('sudo cat /etc/cgrules.conf').splitlines()
writeToFile = open(cgrulesTemp, 'w')
@@ -293,7 +293,7 @@ def getUsageData(request):
if type == 'memory':
command = 'sudo cat /sys/fs/cgroup/memory/' + website.externalApp + '/memory.usage_in_bytes'
output = str(ProcessUtilities.outputExecutioner(command, shell=True))
output = str(ProcessUtilities.outputExecutioner(command))
finalData['memory'] = int(float(output)/float(1024 * 1024))
elif type == 'io':
@@ -305,7 +305,7 @@ def getUsageData(request):
os.mkdir(path)
command = 'sudo cat /sys/fs/cgroup/blkio/' + website.externalApp + '/blkio.throttle.io_service_bytes'
output = ProcessUtilities.outputExecutioner(command, shell=True).splitlines()
output = ProcessUtilities.outputExecutioner(command).splitlines()
readCurrent = output[0].split(' ')[2]
writeCurrent = output[1].split(' ')[2]
@@ -332,8 +332,8 @@ def getUsageData(request):
finalData['readRate'] = 0
finalData['writeRate'] = 0
except:
command = "sudo top -b -n 1 -u " + website.externalApp + " | awk 'NR>7 { sum += $9; } END { print sum; }'"
output = str(ProcessUtilities.outputExecutioner(command, shell=True))
command = "top -b -n 1 -u " + website.externalApp + " | awk 'NR>7 { sum += $9; } END { print sum; }'"
output = str(subprocess.check_output(command, shell=True))
finalData = {}
if len(output) == 0: