in lib/gitlab/qa/component/base.rb [193:236]
def instance_no_teardown
begin
retries ||= 0
prepare
start
reconfigure
wait_until_ready
process_exec_commands
rescue Support::ShellCommand::StatusError => e
reconfigure_log_file = get_reconfigure_log_file_from_artefact
if (retries += 1) < 3
unless reconfigure_log_file.nil?
Runtime::Logger.info(
"Follow the document " \
"https://gitlab.com/gitlab-org/quality/runbooks/-/blob/main/debug_orchestrated_test_locally/ " \
"for debugging the test failure locally.")
Runtime::Logger.info("Tail of the reconfigure log file, see artifacts for full log: #{reconfigure_log_file}")
Support::ShellCommand.new("tail -n 100 #{reconfigure_log_file}", stream_output: true).execute!
end
Runtime::Logger.warn(
"Retry instance_no_teardown due to Support::ShellCommand::StatusError -- attempt #{retries}"
)
teardown!
retry
end
if !reconfigure_log_file.nil? && retries == 3
Runtime::Logger.info("Tail of the reconfigure log file, see artifacts for full log: #{reconfigure_log_file}")
Support::ShellCommand.new("tail -n 100 #{reconfigure_log_file}", stream_output: true).execute!
end
raise e
end
yield self if block_given?
end