Fix BMC IP address detection on CoreOS images
On CoreOS images, IPA runs in a Debian Jessie chroot which uses mawk as its default awk implementation. However, mawk doesn't support POSIX character classes such as [:space:], which means get_bmc_address() fails to parse the BMC IP address from the output of ipmitool. This patch replaces the use of [[:space:]] by [ \t] which is equivalent for the purpose of parsing the output of ipmitool. Note that matching on tab characters is not strictly required as the packaged version of ipmitool only uses space characters, but is left in case tabs are used in other versions. Change-Id: I0e3306a4d4584ca28e03608e9f7270b770960a39 Story: #2004121 Task: #27571
This commit is contained in:
parent
c6ea17d413
commit
8eecadb0a8
@ -1051,7 +1051,7 @@ class GenericHardwareManager(HardwareManager):
|
||||
# types of communication media and protocols and effectively used
|
||||
for channel in range(1, 8):
|
||||
out, e = utils.execute(
|
||||
"ipmitool lan print {} | awk '/IP Address[[:space:]]*:/"
|
||||
"ipmitool lan print {} | awk '/IP Address[ \\t]*:/"
|
||||
" {{print $4}}'".format(channel), shell=True)
|
||||
if e.startswith("Invalid channel"):
|
||||
continue
|
||||
|
@ -0,0 +1,6 @@
|
||||
---
|
||||
fixes:
|
||||
- |
|
||||
Fixes detection of IPMI address in CoreOS-based images, by ensuring that
|
||||
parsing of ``ipmitool`` output is compatible with the bundled
|
||||
implementation of ``awk`` (``mawk``).
|
Loading…
Reference in New Issue
Block a user