Support CentOS 5 and its ancient Python version
This commit is contained in:
parent
fc837dac74
commit
68f7bfb274
1 changed files with 19 additions and 9 deletions
26
check_kernel
26
check_kernel
|
@ -1,5 +1,5 @@
|
||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
from __future__ import division, print_function
|
from __future__ import division
|
||||||
import posixpath
|
import posixpath
|
||||||
import re
|
import re
|
||||||
import subprocess
|
import subprocess
|
||||||
|
@ -39,8 +39,9 @@ class Version(object):
|
||||||
|
|
||||||
|
|
||||||
def proc_version():
|
def proc_version():
|
||||||
with open('/proc/version', 'r') as v:
|
v = open('/proc/version', 'r')
|
||||||
proc_version = v.next()
|
proc_version = v.next()
|
||||||
|
v.close()
|
||||||
return proc_version
|
return proc_version
|
||||||
|
|
||||||
|
|
||||||
|
@ -64,16 +65,25 @@ def is_debian():
|
||||||
def is_fedora():
|
def is_fedora():
|
||||||
return posixpath.exists('/etc/fedora-release')
|
return posixpath.exists('/etc/fedora-release')
|
||||||
|
|
||||||
|
def is_redhat():
|
||||||
|
return posixpath.exists('/etc/redhat-release')
|
||||||
|
|
||||||
|
|
||||||
def installed_kernel_versions():
|
def installed_kernel_versions():
|
||||||
if is_debian():
|
if is_debian():
|
||||||
return installed_kernel_versions_debian()
|
return installed_kernel_versions_debian()
|
||||||
if is_fedora():
|
if is_fedora() or is_redhat():
|
||||||
return installed_kernel_versions_fedora()
|
return installed_kernel_versions_fedora()
|
||||||
|
return [None]
|
||||||
|
|
||||||
|
|
||||||
|
def check_output(cmd):
|
||||||
|
"""Emulate subprocess.check_output for ancient Python versions"""
|
||||||
|
return subprocess.Popen(cmd, stdout=subprocess.PIPE).communicate()[0]
|
||||||
|
|
||||||
|
|
||||||
def installed_kernel_versions_debian():
|
def installed_kernel_versions_debian():
|
||||||
dpkg_out = subprocess.check_output(
|
dpkg_out = check_output(
|
||||||
['dpkg-query', '--show', '--showformat', '${Package} ${Version}\n', 'linux-image*'])
|
['dpkg-query', '--show', '--showformat', '${Package} ${Version}\n', 'linux-image*'])
|
||||||
dpkg_out = dpkg_out.strip()
|
dpkg_out = dpkg_out.strip()
|
||||||
|
|
||||||
|
@ -85,7 +95,7 @@ def installed_kernel_versions_debian():
|
||||||
|
|
||||||
|
|
||||||
def installed_kernel_versions_fedora():
|
def installed_kernel_versions_fedora():
|
||||||
rpm_out = subprocess.check_output(
|
rpm_out = check_output(
|
||||||
['rpm', '--queryformat=%{VERSION}-%{RELEASE}\n', '-q', 'kernel'])
|
['rpm', '--queryformat=%{VERSION}-%{RELEASE}\n', '-q', 'kernel'])
|
||||||
rpm_out = rpm_out.strip()
|
rpm_out = rpm_out.strip()
|
||||||
|
|
||||||
|
@ -117,11 +127,11 @@ def main():
|
||||||
installed = installed_kernel_version()
|
installed = installed_kernel_version()
|
||||||
|
|
||||||
if running == installed:
|
if running == installed:
|
||||||
print('KERNEL OK - running version {}'.format(running))
|
print('KERNEL OK - running version %s' % running)
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
else:
|
else:
|
||||||
print('KERNEL WARNING - running version {}, installed: {}'
|
print('KERNEL WARNING - running version %s, installed: %s' % \
|
||||||
.format(running, installed))
|
(running, installed))
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue