summaryrefslogtreecommitdiff
path: root/cloudinit/util.py
diff options
context:
space:
mode:
authorScott Moser <smoser@ubuntu.com>2018-07-20 16:59:41 +0000
committerServer Team CI Bot <josh.powers+server-team-bot@canonical.com>2018-07-20 16:59:41 +0000
commite3e05e769a11cd2cb18e71150b05873dac95c84b (patch)
tree9d82f1b9d5ac813b589c1c63c453aa6627032a9c /cloudinit/util.py
parentd41cc82d11076a4f447ee13837ef2b0f7591642f (diff)
downloadvyos-cloud-init-e3e05e769a11cd2cb18e71150b05873dac95c84b.tar.gz
vyos-cloud-init-e3e05e769a11cd2cb18e71150b05873dac95c84b.zip
get_linux_distro: add support for rhel via redhat-release.
Add examples and tests for RHEL values of redhat-release and os-release. These examples were collected from IBMCloud images. on rhel systems 'platform.dist()' returns 'redhat' rather than 'rhel' so we have adjusted the response to align there.
Diffstat (limited to 'cloudinit/util.py')
-rw-r--r--cloudinit/util.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/cloudinit/util.py b/cloudinit/util.py
index 8604db56..50680960 100644
--- a/cloudinit/util.py
+++ b/cloudinit/util.py
@@ -589,12 +589,15 @@ def _parse_redhat_release(release_file=None):
return {}
redhat_release = load_file(release_file)
redhat_regex = (
- r'(?P<name>\S+) (Linux )?release (?P<version>[\d\.]+) '
+ r'(?P<name>.+) release (?P<version>[\d\.]+) '
r'\((?P<codename>[^)]+)\)')
match = re.match(redhat_regex, redhat_release)
if match:
group = match.groupdict()
- return {'ID': group['name'].lower(), 'VERSION_ID': group['version'],
+ group['name'] = group['name'].lower().partition(' linux')[0]
+ if group['name'] == 'red hat enterprise':
+ group['name'] = 'redhat'
+ return {'ID': group['name'], 'VERSION_ID': group['version'],
'VERSION_CODENAME': group['codename']}
return {}
@@ -624,6 +627,8 @@ def get_linux_distro():
os_release.get('VERSION', ''))
if match:
flavor = match.groupdict()['codename']
+ if distro_name == 'rhel':
+ distro_name = 'redhat'
else:
dist = ('', '', '')
try: