44 lines
2.0 KiB
Diff
44 lines
2.0 KiB
Diff
|
From 1c9cba3a397d53e399b82320507fb5141234c67f Mon Sep 17 00:00:00 2001
|
||
|
From: Jochen Breuer <jbreuer@suse.de>
|
||
|
Date: Thu, 6 Sep 2018 17:15:18 +0200
|
||
|
Subject: [PATCH] Fix for SUSE Expanded Support detection
|
||
|
|
||
|
A SUSE ES installation has both, the centos-release and redhat-release
|
||
|
file. Since os_data only used the centos-release file to detect a
|
||
|
CentOS installation, this lead to SUSE ES being detected as CentOS.
|
||
|
|
||
|
This change also adds a check for redhat-release and then marks the
|
||
|
'lsb_distrib_id' as RedHat.
|
||
|
---
|
||
|
salt/grains/core.py | 13 +++++++++++--
|
||
|
1 file changed, 11 insertions(+), 2 deletions(-)
|
||
|
|
||
|
diff --git a/salt/grains/core.py b/salt/grains/core.py
|
||
|
index dc472a6c0a..a5c3a6a8cf 100644
|
||
|
--- a/salt/grains/core.py
|
||
|
+++ b/salt/grains/core.py
|
||
|
@@ -1593,8 +1593,17 @@ def os_data():
|
||
|
grains['lsb_distrib_codename'] = \
|
||
|
comps[3].replace('(', '').replace(')', '')
|
||
|
elif os.path.isfile('/etc/centos-release'):
|
||
|
- # CentOS Linux
|
||
|
- grains['lsb_distrib_id'] = 'CentOS'
|
||
|
+ log.trace('Parsing distrib info from /etc/centos-release')
|
||
|
+ # Maybe CentOS Linux; could also be SUSE Expanded Support.
|
||
|
+ # SUSE ES has both, centos-release and redhat-release.
|
||
|
+ if os.path.isfile('/etc/redhat-release'):
|
||
|
+ with salt.utils.files.fopen('/etc/redhat-release') as ifile:
|
||
|
+ for line in ifile:
|
||
|
+ if "red hat enterprise linux server" in line.lower():
|
||
|
+ # This is a SUSE Expanded Support Rhel installation
|
||
|
+ grains['lsb_distrib_id'] = 'RedHat'
|
||
|
+ break
|
||
|
+ grains.setdefault('lsb_distrib_id', 'CentOS')
|
||
|
with salt.utils.files.fopen('/etc/centos-release') as ifile:
|
||
|
for line in ifile:
|
||
|
# Need to pull out the version and codename
|
||
|
--
|
||
|
2.19.0
|
||
|
|
||
|
|