diff --git a/cmd/openshift-install/create.go b/cmd/openshift-install/create.go index 8e95c0c0192..118fdfd26ac 100644 --- a/cmd/openshift-install/create.go +++ b/cmd/openshift-install/create.go @@ -131,6 +131,7 @@ var ( if err2 := logClusterOperatorConditions(ctx, config); err2 != nil { logrus.Error("Attempted to gather ClusterOperator status after installation failure: ", err2) } + logTroubleshootingLink() logrus.Fatal(err) } timer.StopTimer(timer.TotalTimeElapsed) @@ -509,3 +510,10 @@ func waitForInstallComplete(ctx context.Context, config *rest.Config, directory return logComplete(rootOpts.dir, consoleURL) } + +func logTroubleshootingLink() { + logrus.Error("Cluster initialization failed because one or more operators are not functioning properly.") + logrus.Error("The cluster should be accessible for troublsehooting as detailed in the documentation linked below.") + logrus.Error("The 'wait-for install-complete' subcommand can then be used to continue the installation.") + logrus.Error("https://docs.openshift.com/container-platform/latest/support/troubleshooting/troubleshooting-installations.html") +} diff --git a/cmd/openshift-install/waitfor.go b/cmd/openshift-install/waitfor.go index 73dfa85c96d..83058cb44a2 100644 --- a/cmd/openshift-install/waitfor.go +++ b/cmd/openshift-install/waitfor.go @@ -87,7 +87,7 @@ func newWaitForInstallCompleteCmd() *cobra.Command { if err2 := logClusterOperatorConditions(ctx, config); err2 != nil { logrus.Error("Attempted to gather ClusterOperator status after wait failure: ", err2) } - + logTroubleshootingLink() logrus.Fatal(err) } timer.StopTimer(timer.TotalTimeElapsed)