QA: test context should not require `:geo` twice
Geo QA tests have :geo in the context twice, e.g. https://gitlab.com/gitlab-org/gitlab-ee/blob/master/qa/qa/specs/features/browser_ui/ee_geo/repository_replication_spec.rb:
module QA
context :geo, :orchestrated, :geo do
But as @ashmckenzie noted:
Unfortunately removing the dupes has negative consequences - https://gitlab.com/gitlab-org/gitlab-qa/pipelines/32364673
e.g. https://gitlab.com/gitlab-org/gitlab-qa/-/jobs/105995216
Failures:
1) orchestrated GitLab Geo attachment replication user uploads attachment to the primary node
Failure/Error:
Runtime::Browser.visit(:geo_primary, QA::Page::Main::Login) do
Page::Main::Login.act { sign_in_using_credentials }
project = Factory::Resource::Project.fabricate! do |project|
project.name = 'project-for-issues'
project.description = 'project for adding issues'
end
issue = Factory::Resource::Issue.fabricate! do |issue|
issue.title = 'My geo issue'
ArgumentError:
Scenario attribute `geo_primary_address` not defined!
# ./qa/runtime/scenario.rb:26:in `method_missing'
# ./qa/runtime/address.rb:13:in `host'
# ./qa/runtime/address.rb:8:in `initialize'
# ./qa/runtime/browser.rb:110:in `new'
# ./qa/runtime/browser.rb:110:in `initialize'
# ./qa/runtime/browser.rb:27:in `new'
# ./qa/runtime/browser.rb:27:in `visit'
# ./qa/runtime/browser.rb:31:in `visit'
# ./qa/specs/features/browser_ui/ee_geo/attachment_replication_spec.rb:9:in `block (3 levels) in <module:QA>'
# ./qa/specs/runner.rb:31:in `perform'
# ./qa/scenario/template.rb:8:in `block in perform'
# ./qa/scenario/template.rb:6:in `tap'
# ./qa/scenario/template.rb:6:in `perform'
# ./qa/scenario/test/instance.rb:28:in `do_perform'
# ./qa/scenario/test/instance.rb:16:in `block in perform'
# ./qa/scenario/test/instance.rb:14:in `tap'
# ./qa/scenario/test/instance.rb:14:in `perform'
# ./qa/scenario/bootable.rb:14:in `launch!'
We should investigate this further and fix it so that :geo doesn't need to appear in the context twice.
Edited by Michael Kozono