Error in QA::Service::DockerRun causing multiple job failures
<!--IssueSummary start--> <details> <summary> Everyone can contribute. [Help move this issue forward](https://handbook.gitlab.com/handbook/marketing/developer-relations/contributor-success/community-contributors-workflows/#contributor-links) while earning points, leveling up and collecting rewards. </summary> - [Close this issue](https://contributors.gitlab.com/manage-issue?action=close&projectId=278964&issueIid=300943) </details> <!--IssueSummary end--> <!--- Before opening a new QA failure issue, make sure to first search for it in the QA failures board: https://gitlab.com/groups/gitlab-org/-/boards/1385578 The issue should have the following: - The relative path of the failing spec file in the title, e.g. if the login test fails, include `qa/specs/features/browser_ui/1_manage/login/log_in_spec.rb` in the title. This is required so that existing issues can easily be found by searching for the spec file. - If the issue is about multiple test failures, include the path for each failing spec file in the description. - A link to the failing job. - The stack trace from the job's logs in the "Stack trace" section below. - A screenshot (if available), and HTML capture (if available), in the "Screenshot / HTML page" section below. ---> ### Summary Pipeline: https://gitlab.com/gitlab-org/gitlab-qa-mirror/-/pipelines/251000840 Example failure ``` QA::Service::Shellout::CommandError: Command `docker pull jamedjo/test-saml-idp` failed! ``` ``` QA::Service::Shellout::CommandError: Command `docker pull gitlab/gitlab-runner:alpine` failed! ``` ``` Pulling docker image docker:19.03.0-dind ... ERROR: Preparation failed: Error response from daemon: unauthorized: authentication required (docker.go:142:0s) ``` ### Possible Fix Seeing similar failure in CustomersDot pipeline as well due to ``` Please login prior to pull: Error: Cannot perform an interactive login from a non TTY device ``` We probably want to add a `docker login` step in `QA::Service::DockerRun` <!-- Attach the screenshot and HTML snapshot of the page from the job's artifacts: 1. Download the job's artifacts and unarchive them. 1. Open the `gitlab-qa-run-2020-*/gitlab-{ce,ee}-qa-*/{,ee}/{api,browser_ui}/<path to failed test>` folder. 1. Select the `.png` and `.html` files that appears in the job logs (look for `HTML screenshot: /path/to/html/page.html` / `Image screenshot: `/path/to/html/page.png`). 1. Drag and drop them here. Note: You don't need to include a screenshot if the information it contains can be included as text. Include the text instead. E.g., error 500/404, "Retry later" errors, etc. If you include multiple screenshots it can be helpful to hide all but the first in a details/summary element, to avoid excessive scrolling: <details><summary>Expand for screenshot</summary> drag and drop the screenshot here </details> --> <!-- Default due date. --> <!-- Base labels. --> <!-- Test failure type label, please use just one.--> <!-- Choose the stage that appears in the test path, e.g. ~"devops::create" for `qa/specs/features/browser_ui/3_create/web_ide/add_file_template_spec.rb`. --> <!-- Select a label for where the failure was found, e.g. if the failure occurred in a nightly pipeline, select ~"found:nightly". --> <!-- https://about.gitlab.com/handbook/engineering/quality/guidelines/#priorities: - ~"priority::1": Tests that are needed to verify fundamental GitLab functionality. - ~"priority::2": Tests that deal with external integrations which may take a longer time to debug and fix. --> <!-- Select the current milestone if ~"priority::1" or the next milestone if ~"priority::2". -->
issue