Hello Ganesh, These service checks were intended to ensure that the environment was in a correct state before performing the upgrade. However, these validation made mostly sense when upgrading from non-containerized to containerized environment. For that reason, there was added an option, --skip-tags, to the "overcloud upgrade run" command which allows you to skip those pre-upgrade validations. You can run "openstack overcloud upgrade run --nodes Controller --skip-tags validation". I'll create a bugzilla bug to update the official documentation. Regarding your suggestion to add an "ignore_errors" to True would make that validation lose the name of "validation", as even if the horizon service would be down, we would just skip that failing validation and move to the upgrade steps. For that reason, skipping all the validations for the overcloud seems like a more reasonable solution.
As a solution to this bug, we have removed the pre-upgrade validation task from OSP13's containerized service templates. The task were left to cover the undercloud upgrade (it wasn't containerized until OSP14) but even there, the validations were disabled, so it doesn't make any sense to keep them any more as they are causing unnecessary issues.
I just patched this in a 1 controller OSP12 box to be upgraded to OSP13, worked as expected. Not QE, but verifying.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2019:2624