Raise cmdline error if a user attempts to install a missing pkg during non-interactive ks install.
This also makes a minimal change to the original CmdlineError str which was displayed.
Resolves: rhbz#1034773 --- pyanaconda/exception.py | 14 +++++++------- pyanaconda/packaging/yumpayload.py | 7 +++++++ 2 files changed, 14 insertions(+), 7 deletions(-)
diff --git a/pyanaconda/exception.py b/pyanaconda/exception.py index a9cdceb..13f5ba9 100644 --- a/pyanaconda/exception.py +++ b/pyanaconda/exception.py @@ -93,13 +93,13 @@ class AnacondaExceptionHandler(ExceptionHandler): sys.exit(0) elif (issubclass (ty, CmdlineError)):
- cmdline_error_msg = _("\nThe installation was stopped due to " - "incomplete spokes detected while running " - "in non-interactive cmdline mode. Since there " - "can not be any questions in cmdline mode, " - "edit your kickstart file and retry " - "installation.\nThe exact error message is: " - "\n\n%s.\n\nThe installer will now terminate.") % str(value) + cmdline_error_msg = _("\nThe installation was stopped due to an " + "error which occurred while running in " + "non-interactive cmdline mode. Since there can " + "not be any questions in cmdline mode, edit " + "your kickstart file and retry installation. " + "\nThe exact error message is: \n\n%s. \n\nThe " + "installer will now terminate.") % str(value)
# since there is no UI in cmdline mode and it is completely # non-interactive, we can't show a message window asking the user diff --git a/pyanaconda/packaging/yumpayload.py b/pyanaconda/packaging/yumpayload.py index 4b4a226..f8b395c 100644 --- a/pyanaconda/packaging/yumpayload.py +++ b/pyanaconda/packaging/yumpayload.py @@ -1350,6 +1350,13 @@ reposdir=%s return
if errorHandler.cb(exn, str(exn)) == ERROR_RAISE: + if flags.automatedInstall and not flags.ksprompt: + # If we're doing non-interactive ks install, raise CmdlineError + # otherwise the system will just reboot automatically + errtxt = _("CmdlineError: Missing package: %s" % str(exn)) + log.error(errtxt) + raise CmdlineError(errtxt) + # The progress bar polls kind of slowly, thus installation could # still continue for a bit before the quit message is processed. # Let's sleep forever to prevent any further actions and wait for
On Tue, 2014-02-04 at 11:42 -0500, Samantha N. Bueno wrote:
Raise cmdline error if a user attempts to install a missing pkg during non-interactive ks install.
This also makes a minimal change to the original CmdlineError str which was displayed.
Resolves: rhbz#1034773
pyanaconda/exception.py | 14 +++++++------- pyanaconda/packaging/yumpayload.py | 7 +++++++ 2 files changed, 14 insertions(+), 7 deletions(-)
diff --git a/pyanaconda/exception.py b/pyanaconda/exception.py index a9cdceb..13f5ba9 100644 --- a/pyanaconda/exception.py +++ b/pyanaconda/exception.py @@ -93,13 +93,13 @@ class AnacondaExceptionHandler(ExceptionHandler): sys.exit(0) elif (issubclass (ty, CmdlineError)):
cmdline_error_msg = _("\nThe installation was stopped due to ""incomplete spokes detected while running ""in non-interactive cmdline mode. Since there ""can not be any questions in cmdline mode, ""edit your kickstart file and retry ""installation.\nThe exact error message is: ""\n\n%s.\n\nThe installer will now terminate.") % str(value)
cmdline_error_msg = _("\nThe installation was stopped due to an ""error which occurred while running in ""non-interactive cmdline mode. Since there can ""not be any questions in cmdline mode, edit ""your kickstart file and retry installation. ""\nThe exact error message is: \n\n%s. \n\nThe ""installer will now terminate.") % str(value) # since there is no UI in cmdline mode and it is completely # non-interactive, we can't show a message window asking the userdiff --git a/pyanaconda/packaging/yumpayload.py b/pyanaconda/packaging/yumpayload.py index 4b4a226..f8b395c 100644 --- a/pyanaconda/packaging/yumpayload.py +++ b/pyanaconda/packaging/yumpayload.py @@ -1350,6 +1350,13 @@ reposdir=%s return
if errorHandler.cb(exn, str(exn)) == ERROR_RAISE:
if flags.automatedInstall and not flags.ksprompt:# If we're doing non-interactive ks install, raise CmdlineError# otherwise the system will just reboot automaticallyerrtxt = _("CmdlineError: Missing package: %s" % str(exn))log.error(errtxt)raise CmdlineError(errtxt)# The progress bar polls kind of slowly, thus installation could # still continue for a bit before the quit message is processed. # Let's sleep forever to prevent any further actions and wait for
Looks good to me.
anaconda-patches@lists.fedorahosted.org