Bug 1311842 - "waagent -serialconsole" break the menu.lst soft link in rhel6.7, and the kernel line match string is not accurate
Summary: "waagent -serialconsole" break the menu.lst soft link in rhel6.7, and the ker...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: WALinuxAgent
Version: 6.7
Hardware: Unspecified
OS: Linux
medium
medium
Target Milestone: rc
: ---
Assignee: Yue Zhang
QA Contact: Virtualization Bugs
URL:
Whiteboard:
Depends On:
Blocks: 1359574 1366045 1387784
TreeView+ depends on / blocked
 
Reported: 2016-02-25 07:43 UTC by Yuxin Sun
Modified: 2016-11-16 06:20 UTC (History)
10 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-08-09 08:46:40 UTC
Target Upstream Version:


Attachments (Terms of Use)
/boot/grub/menu.lst picture. (11.93 KB, image/png)
2016-02-25 07:43 UTC, Yuxin Sun
no flags Details

Description Yuxin Sun 2016-02-25 07:43:36 UTC
Created attachment 1130431 [details]
/boot/grub/menu.lst picture.

Description of problem:
1. In RHEL6.7 OS, menu.lst is a soft link point to the grub.conf. The "waagent --serialconsole" deletes the menu.lst and writes a new one, which breaks the soft link, so that the menu.lst cannot be used while booting.
2. All the lines include "kernel" string are added "console=ttyS0 earlyprintk=ttyS0", including real kernel lines and some introduction lines.

Version-Release number of selected component (if applicable):
WALinuxAgent-2.0.16-1.el6

How reproducible:
Always

Steps to Reproduce:
1. waagent -serialconsole
2. Check the /boot/grub/menu.lst files that if the string "console=ttyS0 earlyprintk=ttyS0" is added to menu.lst file kernel line. Other lines are not changed.
    Use "ls -l" to check the menu.lst file that if it is a soft link point to the grub.conf file.
3. Reboot OS, enter the grub and input "a", check the kernel parameters.

Actual results:
The string "console=ttyS0 earlyprintk=ttyS0" is added to menu.lst but not in grub.conf file. And the soft link of menu.lst has been broken.

Expected results:
1. The menu.lst is a soft link point to the grub.conf. The "console=ttyS0 earlyprintk=ttyS0" is added to the menu.lst file.
2. Only kernel lines are added "console=ttyS0 earlyprintk=ttyS0" string. Other lines (such as introduction lines) are not changed.

Additional info:
waagent:
1.
grubKernelBootOptionsFile = '/boot/grub/menu.lst'
def ReplaceFileContentsAtomic(filepath, contents):
    ...
    os.write(handle, contents)
2.
self.grubKernelBootOptionsLine = 'kernel'
def AppendToLinuxKernelCmdline(option):
    if not FindInLinuxKernelCmdline(option):
src=r'^(.*?'+MyDistro.grubKernelBootOptionsLine+r')(.*?)("?)$'
        rep=r'\1\2 '+ option + r'\3'
        try:
ReplaceStringInFile(MyDistro.grubKernelBootOptionsFile,src,rep)

Comment 3 Yuxin Sun 2016-08-09 08:46:40 UTC
This feature doesn't exist in WALinuxAgent-2.1.5. Close it.

*** This bug has been marked as a duplicate of bug 1360493 ***


Note You need to log in before you can comment on or make changes to this bug.