[master/rhel7-branch] Once again fix cmdline error handling. (#1034773)

Vratislav Podzimek vpodzime at redhat.com
Wed Feb 5 07:15:13 UTC 2014


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 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
Looks good to me.

-- 
Vratislav Podzimek

Anaconda Rider | Red Hat, Inc. | Brno - Czech Republic



More information about the anaconda-patches mailing list