Add --scheduler option.

master
Mike Hiretsky 13 years ago
parent 4d7063ae67
commit 8fc07cfcd4

@ -135,6 +135,11 @@ Changes Xorg server resolution.
Changes frame buffer resolution. Changes frame buffer resolution.
.RE .RE
.PP .PP
\fB\-\-scheduler\fR \fISCHEDULER\fR
.RS 4
Changes I/O scheduler.
.RE
.PP
\fB\-\-timezone\fR \fITIMEZONE\fR \fB\-\-timezone\fR \fITIMEZONE\fR
.RS 4 .RS 4
Changes timezone. Changes timezone.

@ -130,6 +130,11 @@ IPv4 адрес сети с указанием CIDR. IFACE может обозн
Изменить разрешение для frame buffer. Изменить разрешение для frame buffer.
.RE .RE
.PP .PP
\fB\-\-scheduler\fR \fISCHEDULER\fR
.RS 4
Изменить I/O планировщик.
.RE
.PP
\fB\-\-timezone\fR \fITIMEZONE\fR \fB\-\-timezone\fR \fITIMEZONE\fR
.RS 4 .RS 4
Изменить часовой пояс. Изменить часовой пояс.

@ -29,7 +29,7 @@ from cl_utils import isMount,typeFile,getTupleVersion,pathJoin,isFstabMount,\
FStab, lspci, getInstalledVideo,getDeviceType, \ FStab, lspci, getInstalledVideo,getDeviceType, \
getPartitionType, getOsProberHash, getProgPath, \ getPartitionType, getOsProberHash, getProgPath, \
getRaidPartitions, getLvmPartitions, getLvmGroups, \ getRaidPartitions, getLvmPartitions, getLvmGroups, \
getPasswdUsers getPasswdUsers, readFile
from cl_distr import DistributiveRepository,PartitionDistributive from cl_distr import DistributiveRepository,PartitionDistributive
from cl_fill import clLocale from cl_fill import clLocale
from operator import itemgetter from operator import itemgetter
@ -732,7 +732,7 @@ class fillVars(object, glob_attr):
root_dev = filter(lambda x: x in root_dev, root_dev = filter(lambda x: x in root_dev,
self.Get('os_device_dev')) self.Get('os_device_dev'))
if root_dev: if root_dev:
root_dev = root_dev[0] root_dev = root_dev[0].rpartition('/')[2]
pathScheduler = '/sys/block/%s/queue/scheduler'%root_dev pathScheduler = '/sys/block/%s/queue/scheduler'%root_dev
if access(pathScheduler,R_OK): if access(pathScheduler,R_OK):
res = re.search("\[([^\]]+)\]", res = re.search("\[([^\]]+)\]",
@ -741,6 +741,17 @@ class fillVars(object, glob_attr):
return res.groups()[0] return res.groups()[0]
return "cfq" return "cfq"
def get_os_kernel_schedulers(self):
"""Get scheduler for install root device"""
root_dev = self.Get('os_device_dev')
if root_dev:
root_dev = root_dev[0].rpartition('/')[2]
pathScheduler = '/sys/block/%s/queue/scheduler'%root_dev
return map(lambda x:x.strip("[]"),
readFile(pathScheduler).strip().split())
return []
def get_os_install_lvm_set(self): def get_os_install_lvm_set(self):
"""Using lvm""" """Using lvm"""
lvm = filter(lambda x:x[1] != '' and "lvm" in x[0], lvm = filter(lambda x:x[1] != '' and "lvm" in x[0],

@ -145,6 +145,10 @@ CMD_OPTIONS = [{'shortOption':"d",
'optVal':"<width>x<height>", 'optVal':"<width>x<height>",
'help':_("set frame buffer resolution") 'help':_("set frame buffer resolution")
}, },
{'longOption':"scheduler",
'optVal':"SCHEDULER",
'help':_("set I/O scheduler")
},
{'longOption':"timezone", {'longOption':"timezone",
'optVal':"TIMEZONE", 'optVal':"TIMEZONE",
'help':_("set the timezone") 'help':_("set the timezone")
@ -315,6 +319,17 @@ class install_cmd(share_cmd):
value=route, value=route,
example="default:192.168.1.1")) example="default:192.168.1.1"))
# if system installation # if system installation
if values.scheduler:
if not values.scheduler in \
self.logicObj.clVars.Get('os_kernel_schedulers'):
self.optobj.error(self.errorWithExample.format(
optname="--scheduler",
errormess=_("%s specifing error")%"scheduler",
value=values.scheduler,
example="deadline"))
else:
self.logicObj.clVars.Set('os_install_kernel_scheduler',
values.scheduler,force=True)
if not (values.install or values.uninstall if not (values.install or values.uninstall
or values.startup or values.live): or values.startup or values.live):
if values.v is False and \ if values.v is False and \

@ -155,6 +155,9 @@ class Data:
# install scheduler # install scheduler
os_install_kernel_scheduler = {} os_install_kernel_scheduler = {}
# list of schedulers
os_kernel_schedulers = {}
# install kernel attributes # install kernel attributes
os_install_kernel_attr = {} os_install_kernel_attr = {}

Loading…
Cancel
Save