Martin Peřina has uploaded a new change for review.

Change subject: kdump: Check for crashkernel param
......................................................................

kdump: Check for crashkernel param

Adds check for crashkernel command line parameter. If it's not present,
kdump detection cannot be configured.

Change-Id: Ie83efd12c8763f2336506fa61c34c38d7fc9bfe8
Bug-Url: https://bugzilla.redhat.com/1079821
Signed-off-by: Martin Perina <[email protected]>
---
M src/plugins/ovirt-host-deploy/kdump/packages.py
1 file changed, 38 insertions(+), 14 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-host-deploy 
refs/changes/83/29183/1

diff --git a/src/plugins/ovirt-host-deploy/kdump/packages.py 
b/src/plugins/ovirt-host-deploy/kdump/packages.py
index 8fc1ffa..d98deb6 100644
--- a/src/plugins/ovirt-host-deploy/kdump/packages.py
+++ b/src/plugins/ovirt-host-deploy/kdump/packages.py
@@ -98,6 +98,28 @@
 
         return min_version
 
+    def _crashkernel_param_present(self):
+        crashkernel = False
+        try:
+            with open('/proc/cmdline', 'r') as f:
+                for line in f:
+                    if 'crashkernel=' in line:
+                        crashkernel = True
+                        break
+        except (IOError, OSError):
+            self.logger.debug(
+                'Error detecting crashkernel parameter',
+                exc_info=True,
+            )
+        if not crashkernel:
+            self.logger.warning(
+                _(
+                    'Kernel command line parameter crashkernel is not '
+                    'specified, kdump detection is not supported'
+                )
+            )
+        return crashkernel
+
     def _update_kdump_conf(
             self,
             content,
@@ -150,21 +172,23 @@
         priority=plugin.Stages.PRIORITY_HIGH,
     )
     def _customization(self):
-        min_version = self._get_min_kexec_tools_version()
-        if min_version is not None:
-            from distutils.version import LooseVersion
-            result = self.packager.queryPackages(
-                patterns=(self._KEXEC_TOOLS_PKG,),
-            )
-            self.logger.debug("minver: %s, result=%s", min_version, result)
-            for package in result:
-                cur_version = '%s-%s' % (
-                    package['version'],
-                    package['release'],
+        if self._crashkernel_param_present():
+            # crashkernel param set, check for required kexec-tools version
+            min_version = self._get_min_kexec_tools_version()
+            if min_version is not None:
+                from distutils.version import LooseVersion
+                result = self.packager.queryPackages(
+                    patterns=(self._KEXEC_TOOLS_PKG,),
                 )
-                if LooseVersion(cur_version) >= LooseVersion(min_version):
-                    self.environment[odeploycons.KdumpEnv.SUPPORTED] = True
-                    break
+                self.logger.debug("minver: %s, result=%s", min_version, result)
+                for package in result:
+                    cur_version = '%s-%s' % (
+                        package['version'],
+                        package['release'],
+                    )
+                    if LooseVersion(cur_version) >= LooseVersion(min_version):
+                        self.environment[odeploycons.KdumpEnv.SUPPORTED] = True
+                        break
 
     @plugin.event(
         stage=plugin.Stages.STAGE_PACKAGES,


-- 
To view, visit http://gerrit.ovirt.org/29183
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ie83efd12c8763f2336506fa61c34c38d7fc9bfe8
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-host-deploy
Gerrit-Branch: master
Gerrit-Owner: Martin Peřina <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to