Bug 2187599
| Summary: | Provisioning a baremetal physical machine using Full Host Image is failing on Red Hat Satellite 6.12 with the error - "error:/../../grub-core.script/lexer.c:352:syntax error". | |||
|---|---|---|---|---|
| Product: | Red Hat Satellite | Reporter: | Anand Jambhulkar <ajambhul> | |
| Component: | Provisioning | Assignee: | Oleh Fedorenko <ofedoren> | |
| Status: | CLOSED ERRATA | QA Contact: | sganar | |
| Severity: | high | Docs Contact: | ||
| Priority: | unspecified | |||
| Version: | 6.12.0 | CC: | lstejska, sadas, sganar, shwsingh, sshtein | |
| Target Milestone: | 6.14.0 | Keywords: | Regression, Triaged | |
| Target Release: | Unused | |||
| Hardware: | x86_64 | |||
| OS: | Linux | |||
| Whiteboard: | ||||
| Fixed In Version: | foreman-3.3.0.21 | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | ||
| Clone Of: | ||||
| : | 2242913 (view as bug list) | Environment: | ||
| Last Closed: | 2023-11-08 14:19:08 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: | ||
| Embargoed: | ||||
Verified. Tested on Satellite 6.14.0 Snap 1 Steps followed: 1. Configure the satellite for provisioning 2. Use the full host image of the created host to boot the host. Observation: No issues were observed while booting the system, and provisioning is successful. Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (Important: Satellite 6.14 security and bug fix update), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2023:6818 |
Description of problem: ---------------------- After upgrading the Satellite Server from version 6.10 to 6.12, provisioning a Baremetal Cisco UCSX-210C-M6 using Full Host Image is failing since the host can't boot from the ISO. The actual error that the customer gets is as follows - error:/../../grub-core.script/lexer.c:352:syntax error. error:/../../grub-core.script/lexer.c:352:Incorrect command. error:/../../grub-core.script/lexer.c:352:syntax error. Version-Release number of selected component (if applicable): ------------------------------------------------------------ Red Hat Satellite 6.12 Actual results: -------------- Provisioning a Baremetal Cisco UCSX-210C-M6 using Full Host Image is fails. Expected results: ---------------- Provisioning a Baremetal Cisco UCSX-210C-M6 using Full Host Image should be successful. Additional info: --------------- The provisioning was working as expected on Red Hat Satellite 6.10. Thus, this might be a regression bug. Provisioning fails with the error given in the problem description. Following is the ISO structure which is generated on Satellite 6.12 and Satellite 6.10 - Satellite 6.12 - NOT working -------------- menuentry 'Foreman Bootdisk' { linuxefi /BOOT/S_KICKSTART_8_6_7859_VMLINUZ BOOTIF=01-00-25-b5-76-a0-24 ks=http://sddvvrba378.612w.bns:8000/unattended/provision?static=1&token=4a39e689-5f17-441c-9572-1ef893f0fcae ip=10.92.101.25::10.92.101.1:255.255.255.192:sdpsvrbi827.scglobal.ad.scotiacapital.com::none nameserver=172.20.90.10 nameserver=172.22.1.30 initrdefi /BOOT/ICKSTART_8_6_7859_INITRD_IMG } Satellite 6.10 - It was working: -------------- menuentry 'Foreman Bootdisk' { linuxefi /BOOT/S_KICKSTART_8_6_7859_VMLINUZ ks=http://sddvvrba378.612w.bns:8000/unattended/provision?token=2974687b-db75-48ae-9107-4a8e4a084d2b BOOTIF=01-00-25-b5-76-a0-23 kssendmac ks.sendmac inst.ks.sendmac ip=10.92.101.24::10.92.101.1:255.255.255.192:sdpsvrbi826.scglobal.ad.scotiacapital.com::none nameserver=172.20.90.10 nameserver=172.22.1.30 initrdefi /BOOT/ICKSTART_8_6_7859_INITRD_IMG } In the Satellite 6.12 ISO structure, notice the presence of ampersand (&) in the URL in between static=1 and token=4a39... as follows -> static=1&token=4a39. In the Satellite 6.10 ISO structure, ampersand (&) is not present. The presence of this ampersand (&) is causing the issue as, Grub2 requires the ampersand "&" to be escaped or full argument to be quoted, as shown in the examples below - Original URL (failing) - ---------------------- inst.ks=http://myserver.example.com/kickstarts/provision?token=someUUID&static=yes Quoted URL - ---------- inst.ks="http://myserver.example.com/kickstarts/provision?token=someUUID&static=yes" OR inst.ks='http://myserver.example.com/kickstarts/provision?token=someUUID&static=yes' Escaped ampersand "&" - --------------------- inst.ks=http://myserver.example.com/kickstarts/provision?token=someUUID\&static=yes - In grub, the & character without an escape is considered a word separation meta-character. - In order to process the & as part of the URL and not a meta-character, it must be escaped or quoted. Refer the following KCS article for additional details - https://access.redhat.com/solutions/6810791