| Summary: | "waagent -serialconsole" break the menu.lst soft link in rhel6.7, and the kernel line match string is not accurate | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 6 | Reporter: | Yuxin Sun <yuxisun> | ||||
| Component: | WALinuxAgent | Assignee: | Yue Zhang <yuezha> | ||||
| Status: | CLOSED CURRENTRELEASE | QA Contact: | Virtualization Bugs <virt-bugs> | ||||
| Severity: | medium | Docs Contact: | |||||
| Priority: | medium | ||||||
| Version: | 6.7 | CC: | anderson, huishao, jinmiao, jjarvis, leiwang, lic_interop, lizzha, mingzhan, wshi, yuezha | ||||
| Target Milestone: | rc | ||||||
| Target Release: | --- | ||||||
| Hardware: | Unspecified | ||||||
| OS: | Linux | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | Doc Type: | Bug Fix | |||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | Environment: | ||||||
| Last Closed: | 2016-08-09 08:46:40 UTC | Type: | Bug | ||||
| Regression: | --- | Mount Type: | --- | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Bug Depends On: | |||||||
| Bug Blocks: | 1359574, 1366045, 1387784 | ||||||
| Attachments: |
|
||||||
This feature doesn't exist in WALinuxAgent-2.1.5. Close it. *** This bug has been marked as a duplicate of bug 1360493 *** |
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)