Skip to content

Find out why remote_development_shared_contexts.rb is flaky based on ENV var order

MR: Pending

Description

Example failure (occurred when running scripts/remote_development/run-smoke-test-suite.sh locally):

  1) RemoteDevelopment::Workspaces::Reconcile::Main Integration when update_type is partial when new unprovisioned workspace exists in database" returns proper workspace_rails_info entry
     Failure/Error:
       expect(unprovisioned_workspace_rails_info.fetch(:config_to_apply))
         .to eq(expected_unprovisioned_workspace_rails_info.fetch(:config_to_apply))

       expected: "---\nkind: ConfigMap\napiVersion: v1\nmetadata:\n  name: workspace-583-2175-kgrppn-workspace-invento...zIHNldC4KZWNobyAidXNlcm5hbWU9ZG9lcy1ub3QtbWF0dGVyIgplY2hvICJwYXNzd29yZD0ke3Bhc3N3b3JkfSIKZXhpdCAw\n"
            got: "---\nkind: ConfigMap\napiVersion: v1\nmetadata:\n  name: workspace-583-2175-kgrppn-workspace-invento...zIHNldC4KZWNobyAidXNlcm5hbWU9ZG9lcy1ub3QtbWF0dGVyIgplY2hvICJwYXNzd29yZD0ke3Bhc3N3b3JkfSIKZXhpdCAw\n"

       (compared using ==)

       Diff:

       @@ -315,14 +315,14 @@
            workspaces.gitlab.com/id: '359'
            workspaces.gitlab.com/max-resources-per-workspace-sha256: 44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a
        data:
       -  GIT_CONFIG_COUNT: Mw==
       -  GIT_CONFIG_KEY_0: Y3JlZGVudGlhbC5oZWxwZXI=
          GIT_CONFIG_VALUE_0: Ly53b3Jrc3BhY2UtZGF0YS92YXJpYWJsZXMvZmlsZS9nbF9naXRfY3JlZGVudGlhbF9zdG9yZS5zaA==
          GIT_CONFIG_KEY_1: dXNlci5uYW1l
          GIT_CONFIG_VALUE_1: U2lkbmV5IEpvbmVzNjIw
          GIT_CONFIG_KEY_2: dXNlci5lbWFpbA==
          GIT_CONFIG_VALUE_2: dXNlcjYyMEBleGFtcGxlLm9yZw==
          GL_GIT_CREDENTIAL_STORE_FILE_PATH: Ly53b3Jrc3BhY2UtZGF0YS92YXJpYWJsZXMvZmlsZS9nbF9naXRfY3JlZGVudGlhbF9zdG9yZS5zaA==
       +  GIT_CONFIG_COUNT: Mw==
       +  GIT_CONFIG_KEY_0: Y3JlZGVudGlhbC5oZWxwZXI=
          GL_TOKEN_FILE_PATH: Ly53b3Jrc3BhY2UtZGF0YS92YXJpYWJsZXMvZmlsZS9nbF90b2tlbg==
          GL_WORKSPACE_DOMAIN_TEMPLATE: JHtQT1JUfS13b3Jrc3BhY2UtNTgzLTIxNzUta2dycHBuLndvcmtzcGFjZXMubG9jYWxkZXYubWU=
          GL_EDITOR_EXTENSIONS_GALLERY_SERVICE_URL: aHR0cHM6Ly9vcGVuLXZzeC5vcmcvdnNjb2RlL2dhbGxlcnk=

     # ./ee/spec/lib/remote_development/workspaces/reconcile/main_integration_spec.rb:552:in `block (4 levels) in <main>'
     # ./spec/spec_helper.rb:426:in `block (3 levels) in <top (required)>'
     # ./spec/support/sidekiq_middleware.rb:9:in `with_sidekiq_server_middleware'
     # ./spec/spec_helper.rb:417:in `block (2 levels) in <top (required)>'
     # ./spec/spec_helper.rb:413:in `block (3 levels) in <top (required)>'
     # ./lib/gitlab/application_context.rb:70:in `with_raw_context'
     # ./spec/spec_helper.rb:413:in `block (2 levels) in <top (required)>'
     # ./spec/spec_helper.rb:260:in `block (2 levels) in <top (required)>'
     # ./gems/gitlab-rspec/lib/gitlab/rspec/configurations/time_travel.rb:15:in `block (3 levels) in configure!'
     # ./gems/gitlab-rspec/lib/gitlab/rspec/configurations/time_travel.rb:15:in `block (2 levels) in configure!'
     # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <main>'
     # ./spec/support/database/prevent_cross_joins.rb:106:in `block (3 levels) in <main>'
     # ./spec/support/database/prevent_cross_joins.rb:60:in `with_cross_joins_prevented'
     # ./spec/support/database/prevent_cross_joins.rb:106:in `block (2 levels) in <main>'

Finished in 3 minutes 12.4 seconds (files took 15.12 seconds to load)
504 examples, 1 failure

Failed examples:

rspec ./ee/spec/lib/remote_development/workspaces/reconcile/main_integration_spec.rb:540 # RemoteDevelopment::Workspaces::Reconcile::Main Integration when update_type is partial when new unprovisioned workspace exists in database" returns proper workspace_rails_info entry

Acceptance Criteria

TODO: Fill out (required)

  • [Describe what must be achieved to complete this issue.]
  • [Describe another requirement needed to complete this issue.]
  • [Add additional acceptance criteria as needed.]

Technical Requirements

TODO: Fill out or delete [If applicable, please list out any technical requirements for this feature/enhancement.]

Design Requirements

TODO: Fill out or delete [If applicable, please provide a link to the design specifications for this feature/enhancement.]

Impact Assessment

TODO: Fill out or delete [Please describe the impact this feature/enhancement will have on the user experience and/or the product as a whole.]

User Story

TODO: Fill out or delete [Provide a user story to illustrate the use case for this feature/enhancement. Include examples to help communicate the intended functionality.]

Edited by Chad Woolley