[provision] Remove all conflicting options from GRUB GRUB_CMDLINE_LINUX and make them configurable

Bug #1294286 reported by Miroslav Anashkin
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Fuel for OpenStack
Fix Committed
Medium
Nikolay Markov

Bug Description

Our partition manager
https://github.com/stackforge/fuel-library/blob/master/deployment/puppet/cobbler/templates/scripts/pmanager.py
currently sets the following default options for GRUB:
"console=tty0 console=ttyS0,9600"

This console=ttyS0,9600 is known as conflicting with built-in kernel drivers for Matrox and nVidia graphics cards.
Customers with Matrox and nVidia graphics on-board cannot deploy OpenStack with Fuel.

I propose the following:
1. Remove "console=ttyS0,9600" from default GRUB options.

2. Add the following options instead - these should be the safest scenario:
"rootdelay=90 nomodeset vga=791"

"rootdelay=90" - is workaround for hardware, which reports RAID arrays as ready after the GRUB started. Affects Dell hardware.

"nomodeset" and "vga=791" - turns off graphics mode set and sets default VGA mode explicitly.
 "vga=791" is workaround for Matrox graphics cards. Looks like these cards have other default mode than VGA.

3. Make partition manager able to read GRUB options from external file. These options from file should completely overwrite the default ones.

Changed in fuel:
importance: High → Medium
Revision history for this message
Miroslav Anashkin (manashkin) wrote :

It was reported the following settings also work well with problematic hardware:
self.late("sed -i "
                  "-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 nofb"
                  "console=ttyS0,9600\"/g' /etc/default/grub", True)
        self.late("umount /target/proc")

Revision history for this message
Andrew Woodward (xarses) wrote :

the comment method by Miroslav is preferred as it prevents removing a often needed console=ttyS0 option.

moving these options to the cluster settings page and having the defaults set there is a major step in the right direction to help minimize this in the future.

Changed in fuel:
milestone: 4.1.1 → 5.0
tags: added: backports-4.1.1
Changed in fuel:
status: New → Triaged
Changed in fuel:
assignee: Vladimir Kozhukalov (kozhukalov) → Nikolay Markov (nmarkov)
Dmitry Pyzhov (dpyzhov)
Changed in fuel:
milestone: 5.0 → 5.1
assignee: Nikolay Markov (nmarkov) → Fuel Python Team (fuel-python)
Revision history for this message
Vladimir Kuklin (vkuklin) wrote :

in ubuntu, we need to change /etc/default/grub file vars and run update-grub
in centos, we need to use grubby:
grubby --update-kernel="$( grubby --default-kernel )" --args=""

we should do this just before the reboot into the node

kopts for bootstrap also should be altered

Dmitry Ilyin (idv1985)
summary: - Remove all conflicting options from GRUB GRUB_CMDLINE_LINUX and make
- them configurable
+ [provision] Remove all conflicting options from GRUB GRUB_CMDLINE_LINUX
+ and make them configurable
Dmitry Pyzhov (dpyzhov)
Changed in fuel:
assignee: Fuel Python Team (fuel-python) → Nikolay Markov (nmarkov)
status: Triaged → Fix Committed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.