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 Oct 17, 2018 by Michael Kozono
Assignee Loading
Time tracking Loading