Set kernel params in grub config using web UI
* remove hardcoded grub settings and set params sended by Nailgun. * remove code which set parameters in /etc/grub.cfg file, this file doesn't exist in ubuntu or centos. Tested on the iso, patches were applied manually. Depends on: https://review.openstack.org/#/c/90075 Change-Id: I0ad883c087dc39cd4032d739c70466d7aa0098d1 Related-Bug: #1295131
This commit is contained in:
parent
fa57b98344
commit
15356dc42a
@ -5,11 +5,14 @@ import math
|
||||
import re
|
||||
|
||||
class PManager(object):
|
||||
def __init__(self, data):
|
||||
if isinstance(data, (str, unicode)):
|
||||
self.data = json.loads(data)
|
||||
def __init__(self, pm_data):
|
||||
if isinstance(pm_data, (str, unicode)):
|
||||
self.pm_data = json.loads(pm_data)
|
||||
else:
|
||||
self.data = data
|
||||
self.pm_data = pm_data
|
||||
|
||||
self.data = self.pm_data['ks_spaces']
|
||||
self.kernel_params = self.pm_data['kernel_params']
|
||||
|
||||
self.factor = 1
|
||||
self.unit = "MiB"
|
||||
@ -442,10 +445,10 @@ class PManager(object):
|
||||
"".format(self._disk_dev(disk)))
|
||||
if devs:
|
||||
self.kick("bootloader --location=mbr --driveorder={0} "
|
||||
"--append=' console=ttyS0,9600 console=tty0 "
|
||||
"biosdevname=0 "
|
||||
"crashkernel=none rootdelay=90 "
|
||||
"nomodeset '".format(",".join(devs)))
|
||||
"--append=' {1} '".format(
|
||||
",".join(devs),
|
||||
self.kernel_params))
|
||||
|
||||
for dev in devs:
|
||||
self.post("echo -n > /tmp/grub.script")
|
||||
self.post("echo \\\"device (hd0) /dev/{0}\\\" >> "
|
||||
@ -464,9 +467,6 @@ class PManager(object):
|
||||
self.post("echo quit >> /tmp/grub.script")
|
||||
self.post("cat /tmp/grub.script | chroot /mnt/sysimage "
|
||||
"/sbin/grub --no-floppy --batch")
|
||||
self.post("sed -i 's/hiddenmenu/hiddenmenu\\nserial\\ "
|
||||
"--unit=1\\ --speed=19200\\nterminal\\ "
|
||||
"--timeout=8\\ console\\ serial/g' /etc/grub.cfg")
|
||||
|
||||
def expose(self,
|
||||
kickfile="/tmp/partition.ks",
|
||||
@ -507,11 +507,14 @@ class PManager(object):
|
||||
|
||||
|
||||
class PreseedPManager(object):
|
||||
def __init__(self, data):
|
||||
if isinstance(data, (str, unicode)):
|
||||
self.data = json.loads(data)
|
||||
def __init__(self, pm_data):
|
||||
if isinstance(pm_data, (str, unicode)):
|
||||
self.pm_data = json.loads(pm_data)
|
||||
else:
|
||||
self.data = data
|
||||
self.pm_data = pm_data
|
||||
|
||||
self.data = self.pm_data['ks_spaces']
|
||||
self.kernel_params = self.pm_data['kernel_params']
|
||||
|
||||
self.validate()
|
||||
self.factor = 1
|
||||
@ -949,9 +952,9 @@ class PreseedPManager(object):
|
||||
"-e 's/.*GRUB_TERMINAL.*/GRUB_TERMINAL=console/g' "
|
||||
"-e 's/.*GRUB_GFXMODE.*/#GRUB_GFXMODE=640x480/g' "
|
||||
"-e 's/.*GRUB_CMDLINE_LINUX.*/"
|
||||
"GRUB_CMDLINE_LINUX=\"console=tty0 "
|
||||
"rootdelay=90 nomodeset "
|
||||
"console=ttyS0,9600\"/g' /etc/default/grub", True)
|
||||
"GRUB_CMDLINE_LINUX=\" {0} \"/g' /etc/default/grub".format(
|
||||
self.kernel_params),
|
||||
True)
|
||||
self._umount_target()
|
||||
self._mount_target()
|
||||
self.late("grub-mkconfig", True)
|
||||
|
@ -1,4 +1,4 @@
|
||||
#import pmanager
|
||||
#set $pm = $pmanager.PManager($getVar("ks_spaces","[]"))
|
||||
#set $pm = $pmanager.PManager($getVar("pm_data",{}))
|
||||
#silent $pm.eval()
|
||||
$pm.expose()
|
||||
|
@ -1,5 +1,5 @@
|
||||
#import pmanager
|
||||
#set $pm = $pmanager.PreseedPManager($getVar("ks_spaces","[]"))
|
||||
#set $pm = $pmanager.PreseedPManager($getVar("pm_data",{}))
|
||||
#silent $pm.eval()
|
||||
|
||||
d-i partman/early_command string \
|
||||
|
@ -1,4 +1,4 @@
|
||||
#import pmanager
|
||||
#set $pm = $pmanager.PreseedPManager($getVar("ks_spaces","[]"))
|
||||
#set $pm = $pmanager.PreseedPManager($getVar("pm_data",{}))
|
||||
#silent $pm.eval()
|
||||
$pm.expose_late()
|
||||
|
Loading…
Reference in New Issue
Block a user