Failure in 3_create/repository/pull_mirroring_over_ssh_with_key_spec.rb | Pull mirroring via deploy token delayed for 5 mins and shows successful AND error states
Summary
Failure in pull_mirroring_over_ssh_with_key_spec.rb
specs on Master:
Looking at screenshot it appears to be some failure with mirroring:
Mirrored from ssh://*****@gitlab-ee-712e915f.test/gitlab-qa-sandbox-group/qa-test-2020-04-30-17-17-51-29c42c2ef3816474/pull-mirror-source-project-4331256ce010122a.git.
Pull mirroring failed just now.
Stack trace
1) Create Pull mirror a repository over SSH with a private key configures and syncs a (pull) mirrored repository
Failure/Error: expect(page).to have_content('This is a pull mirroring test project')
expected to find text "This is a pull mirroring test project" in "Skip to content Projects Groups More P pull-mirror-target-project-e620b604d42498f3 Project overview Details Activity Issues 0 Merge Requests 0 Requirements 0 CI / CD Security & Compliance Operations Packages Analytics Wiki Snippets Settings Collapse sidebar You won't be able to pull or push project code via SSH until you add an SSH key to your profile Add SSH key Don't show again gitlab-qa-sandbox-group qa-test-2020-04-30-17-17-51-29c42c2ef3816474 pull-mirror-target-project-e620b604d42498f3 Details P pull-mirror-target-project-e620b604d42498f3 Project ID: 14 Star 0 My awesome project Mirrored from ssh://*****@gitlab-ee-712e915f.test/gitlab-qa-sandbox-group/qa-test-2020-04-30-17-17-51-29c42c2ef3816474/pull-mirror-source-project-4331256ce010122a.git. Pull mirroring failed just now. The repository for this project is empty You can get started by cloning the repository or start adding files to it with one of the following options. Clone New file Add README Add LICENSE Add CHANGELOG Add CONTRIBUTING Set up CI/CD Command line instructions You can also upload existing files from your computer using the instructions below. Git global setup git config --global user.name \"Administrator\" git config --global user.email \"admin@example.com\" Create a new repository git clone http://gitlab-ee-712e915f.test/gitlab-qa-sandbox-group/qa-test-2020-04-30-17-17-51-29c42c2ef3816474/pull-mirror-target-project-e620b604d42498f3.git cd pull-mirror-target-project-e620b604d42498f3 touch README.md git add README.md git commit -m \"add README\" git push -u origin master Push an existing folder cd existing_folder git init git remote add origin http://gitlab-ee-712e915f.test/gitlab-qa-sandbox-group/qa-test-2020-04-30-17-17-51-29c42c2ef3816474/pull-mirror-target-project-e620b604d42498f3.git git add . git commit -m \"Initial commit\" git push -u origin master Push an existing Git repository cd existing_repo git remote rename origin old-origin git remote add origin http://gitlab-ee-712e915f.test/gitlab-qa-sandbox-group/qa-test-2020-04-30-17-17-51-29c42c2ef3816474/pull-mirror-target-project-e620b604d42498f3.git git push -u origin --all git push -u origin --tags"
# ./qa/specs/features/ee/browser_ui/3_create/repository/pull_mirroring_over_ssh_with_key_spec.rb:61:in `block (3 levels) in <module:QA>'
# /usr/local/bundle/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:123:in `block in run'
# /usr/local/bundle/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:110:in `loop'
# /usr/local/bundle/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:110:in `run'
# /usr/local/bundle/gems/rspec-retry-0.6.1/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry'
# ./spec/spec_helper.rb:69:in `block (2 levels) in <top (required)>'
# /usr/local/bundle/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:123:in `block in run'
# /usr/local/bundle/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:110:in `loop'
# /usr/local/bundle/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:110:in `run'
# /usr/local/bundle/gems/rspec-retry-0.6.1/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry'
# /usr/local/bundle/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:37:in `block (2 levels) in setup'
# ./qa/specs/runner.rb:69:in `perform'
# ./qa/scenario/template.rb:10:in `block in perform'
# ./qa/scenario/template.rb:8:in `tap'
# ./qa/scenario/template.rb:8:in `perform'
# ./qa/scenario/template.rb:33:in `perform'
# ./qa/scenario/template.rb:10:in `block in perform'
The test fails initially because it uses the SSH key created by setting up pull mirroring as a deploy key. So the target project doesn't have the key yet when mirroring is first set up.
That probably wasn't a problem in the past because the manual update happened immediately.
It seems like that first automatic update attempt is treated the same as a manual update, which can only happen after 5 minutes. Possible cause: !30157 (merged)
Screenshot / HTML page
Possible fixes
- Allow the first manual update to happen immediately, even if an automatic update occurred
cc @sliaquat @dchevalier2 @tmslvnkc @mlapierre
Edited by Mark Lapierre