[node-patches] Change in ovirt-node[ovirt-3.5]: Reinstall will now overpower major version mismatch
tlitovsk at redhat.com
tlitovsk at redhat.com
Thu Nov 20 14:36:06 UTC 2014
Anatoly Litovsky has uploaded a new change for review.
Change subject: Reinstall will now overpower major version mismatch
......................................................................
Reinstall will now overpower major version mismatch
Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1162445
Change-Id: I435113d4dcf69121e1956acc653344d1b052edb9
Signed-off-by: Tolik Litovsky <tlitovsk at redhat.com>
---
M src/ovirt/node/installer/core/welcome_page.py
M src/ovirt/node/utils/system.py
2 files changed, 45 insertions(+), 5 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/ovirt-node refs/changes/03/35403/1
diff --git a/src/ovirt/node/installer/core/welcome_page.py b/src/ovirt/node/installer/core/welcome_page.py
index 0d439fc..2e2b918 100644
--- a/src/ovirt/node/installer/core/welcome_page.py
+++ b/src/ovirt/node/installer/core/welcome_page.py
@@ -21,6 +21,7 @@
from ovirt.node import plugins, ui, utils
from ovirt.node.utils import virt, system
import os
+from ovirt.node.utils.system import is_reinstall
"""
Welcome page of the installer
@@ -92,9 +93,13 @@
media = utils.system.InstallationMedia()
installed = utils.system.InstalledMedia()
is_installed = installed.available()
- if is_installed and (media.version_major != installed.version_major):
- block_upgrade = True
- elif utils.system.has_hostvg():
+
+ if not is_reinstall():
+ if is_installed and \
+ (media.version_major != installed.version_major):
+ block_upgrade = True
+
+ if utils.system.has_hostvg():
has_hostvg = True
if os.path.exists("/dev/disk/by-label/ROOT"):
block_upgrade = True
diff --git a/src/ovirt/node/utils/system.py b/src/ovirt/node/utils/system.py
index 5955a8b..406403f 100644
--- a/src/ovirt/node/utils/system.py
+++ b/src/ovirt/node/utils/system.py
@@ -127,6 +127,40 @@
in ["rescue", "S", "single", "1"])
+def is_reinstall(_c=None):
+ """is the system is in reinstalling mode
+
+ >>> is_reinstall("foo bar reinstall z")
+ True
+ >>> is_reinstall("foo bar reinstall=1 z")
+ True
+ >>> is_reinstall("foo bar reinstall=0 z")
+ False
+
+ >>> is_reinstall("foo bar firstboot")
+ True
+ >>> is_reinstall("foo bar firstboot=1 z")
+ True
+ >>> is_reinstall("foo bar firstboot=0 z")
+ False
+
+ We are also conservative, if contradiction assume False:
+
+ >>> is_reinstall("reinstall=1 firstboot=0 z")
+ False
+
+ >>> is_reinstall("foo bar z")
+ False
+ """
+ flags = ["firstboot", "reinstall"]
+ cmdline = kernel_cmdline_arguments(_c)
+
+ is_given = any(f in cmdline for f in flags)
+ not_denies = all(cmdline.get(f, 1) != "0" for f in flags)
+
+ return (is_given and not_denies)
+
+
def node_version():
"""Return the version of the ovirt-node package
This is the package version at runtime
@@ -207,10 +241,11 @@
return os.path.exists("/dev/HostVG")
-def kernel_cmdline_arguments():
+def kernel_cmdline_arguments(cmdline=None):
"""Return the arguments of the currently booted kernel
"""
- return _parse_cmdline_args(File("/proc/cmdline").read())
+ cmdline = cmdline or File("/proc/cmdline").read()
+ return _parse_cmdline_args(cmdline)
def _parse_cmdline_args(cmdline):
--
To view, visit http://gerrit.ovirt.org/35403
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I435113d4dcf69121e1956acc653344d1b052edb9
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-node
Gerrit-Branch: ovirt-3.5
Gerrit-Owner: Anatoly Litovsky <tlitovsk at redhat.com>
More information about the node-patches
mailing list