gitlab-qa 6.22.1 → 7.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/.gitlab-ci.yml +32 -31
  3. data/docs/configuring_omnibus.md +208 -0
  4. data/docs/what_tests_can_be_run.md +46 -8
  5. data/gitlab-qa.gemspec +6 -4
  6. data/lib/gitlab/qa.rb +7 -0
  7. data/lib/gitlab/qa/component/base.rb +2 -2
  8. data/lib/gitlab/qa/component/elasticsearch.rb +1 -1
  9. data/lib/gitlab/qa/component/gitlab.rb +35 -24
  10. data/lib/gitlab/qa/component/internet_tunnel.rb +4 -1
  11. data/lib/gitlab/qa/component/jira.rb +1 -1
  12. data/lib/gitlab/qa/component/ldap.rb +1 -1
  13. data/lib/gitlab/qa/component/mail_hog.rb +1 -1
  14. data/lib/gitlab/qa/component/minio.rb +3 -11
  15. data/lib/gitlab/qa/component/postgresql.rb +1 -1
  16. data/lib/gitlab/qa/component/saml.rb +1 -1
  17. data/lib/gitlab/qa/component/specs.rb +10 -2
  18. data/lib/gitlab/qa/docker/engine.rb +37 -6
  19. data/lib/gitlab/qa/runner.rb +57 -5
  20. data/lib/gitlab/qa/runtime/env.rb +2 -0
  21. data/lib/gitlab/qa/runtime/omnibus_configuration.rb +70 -0
  22. data/lib/gitlab/qa/runtime/omnibus_configurations/default.rb +25 -0
  23. data/lib/gitlab/qa/runtime/omnibus_configurations/object_storage.rb +48 -0
  24. data/lib/gitlab/qa/runtime/omnibus_configurations/packages.rb +17 -0
  25. data/lib/gitlab/qa/scenario/cli_commands.rb +3 -3
  26. data/lib/gitlab/qa/scenario/test/instance/relative_url.rb +1 -3
  27. data/lib/gitlab/qa/scenario/test/instance/repository_storage.rb +1 -1
  28. data/lib/gitlab/qa/scenario/test/integration/actioncable.rb +1 -3
  29. data/lib/gitlab/qa/scenario/test/integration/geo.rb +4 -5
  30. data/lib/gitlab/qa/scenario/test/integration/gitaly_cluster.rb +4 -5
  31. data/lib/gitlab/qa/scenario/test/integration/group_saml.rb +1 -1
  32. data/lib/gitlab/qa/scenario/test/integration/instance_saml.rb +1 -1
  33. data/lib/gitlab/qa/scenario/test/integration/kubernetes.rb +1 -1
  34. data/lib/gitlab/qa/scenario/test/integration/ldap.rb +1 -4
  35. data/lib/gitlab/qa/scenario/test/integration/ldap_no_server.rb +1 -1
  36. data/lib/gitlab/qa/scenario/test/integration/ldap_no_tls.rb +1 -1
  37. data/lib/gitlab/qa/scenario/test/integration/ldap_tls.rb +1 -1
  38. data/lib/gitlab/qa/scenario/test/integration/mattermost.rb +1 -1
  39. data/lib/gitlab/qa/scenario/test/integration/mtls.rb +2 -2
  40. data/lib/gitlab/qa/scenario/test/integration/smtp.rb +1 -1
  41. data/lib/gitlab/qa/scenario/test/integration/ssh_tunnel.rb +1 -1
  42. data/lib/gitlab/qa/version.rb +1 -1
  43. metadata +12 -9
  44. data/lib/gitlab/qa/scenario/test/integration/object_storage.rb +0 -64
  45. data/lib/gitlab/qa/scenario/test/integration/packages.rb +0 -36
@@ -12,7 +12,7 @@ module Gitlab
12
12
  end
13
13
 
14
14
  def configure_omnibus(gitlab)
15
- gitlab.omnibus_config = <<~OMNIBUS
15
+ gitlab.omnibus_configuration << <<~OMNIBUS
16
16
  gitlab_rails['ldap_enabled'] = true;
17
17
  gitlab_rails['ldap_servers'] = #{ldap_servers_omnibus_config};
18
18
  gitlab_rails['ldap_sync_worker_cron'] = '* * * * *';
@@ -15,7 +15,7 @@ module Gitlab
15
15
  end
16
16
 
17
17
  def configure_omnibus(gitlab)
18
- gitlab.omnibus_config = <<~OMNIBUS
18
+ gitlab.omnibus_configuration << <<~OMNIBUS
19
19
  gitlab_rails['ldap_enabled'] = true;
20
20
  gitlab_rails['ldap_servers'] = #{ldap_servers_omnibus_config};
21
21
  gitlab_rails['ldap_sync_worker_cron'] = '* * * * *';
@@ -15,7 +15,7 @@ module Gitlab
15
15
  end
16
16
 
17
17
  def configure_omnibus(gitlab)
18
- gitlab.omnibus_config = <<~OMNIBUS
18
+ gitlab.omnibus_configuration << <<~OMNIBUS
19
19
  gitlab_rails['ldap_enabled'] = true;
20
20
  gitlab_rails['ldap_servers'] = #{ldap_servers_omnibus_config};
21
21
  letsencrypt['enable'] = false;
@@ -13,7 +13,7 @@ module Gitlab
13
13
  mattermost_external_url = "http://#{mattermost_hostname}"
14
14
 
15
15
  gitlab.add_network_alias(mattermost_hostname)
16
- gitlab.omnibus_config = <<~OMNIBUS
16
+ gitlab.omnibus_configuration << <<~OMNIBUS
17
17
  mattermost_external_url '#{mattermost_external_url}';
18
18
  OMNIBUS
19
19
 
@@ -21,7 +21,7 @@ module Gitlab
21
21
  gitaly.network = @network
22
22
  gitaly.skip_availability_check = true
23
23
 
24
- gitaly.omnibus_config = gitaly_omnibus
24
+ gitaly.omnibus_configuration << gitaly_omnibus
25
25
  gitaly.gitaly_tls
26
26
 
27
27
  gitaly.instance do
@@ -30,7 +30,7 @@ module Gitlab
30
30
  gitlab.name = @gitlab_name
31
31
  gitlab.network = @network
32
32
 
33
- gitlab.omnibus_config = gitlab_omnibus
33
+ gitlab.omnibus_configuration << gitlab_omnibus
34
34
  gitlab.tls = true
35
35
 
36
36
  gitlab.instance do
@@ -14,7 +14,7 @@ module Gitlab
14
14
  attr_reader :gitlab_name, :spec_suite
15
15
 
16
16
  def configure_omnibus(gitlab, mail_hog)
17
- gitlab.omnibus_config = <<~OMNIBUS
17
+ gitlab.omnibus_configuration << <<~OMNIBUS
18
18
  gitlab_rails['smtp_enable'] = true;
19
19
  gitlab_rails['smtp_address'] = '#{mail_hog.hostname}';
20
20
  gitlab_rails['smtp_port'] = 1025;
@@ -22,7 +22,7 @@ module Gitlab
22
22
  tunnel_registry.gitlab_hostname = gitlab.hostname
23
23
  tunnel_registry.network = 'test'
24
24
 
25
- gitlab.omnibus_config = <<~OMNIBUS
25
+ gitlab.omnibus_configuration << <<~OMNIBUS
26
26
  external_url '#{tunnel_gitlab.url}';
27
27
  nginx['listen_port'] = 80;
28
28
  nginx['listen_https'] = false;
@@ -1,5 +1,5 @@
1
1
  module Gitlab
2
2
  module QA
3
- VERSION = '6.22.1'.freeze
3
+ VERSION = '7.0.3'.freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gitlab-qa
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.22.1
4
+ version: 7.0.3
5
5
  platform: ruby
6
6
  authors:
7
- - Grzegorz Bizon
7
+ - GitLab Quality
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-02-24 00:00:00.000000000 Z
11
+ date: 2021-03-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: climate_control
@@ -184,17 +184,17 @@ dependencies:
184
184
  requirements:
185
185
  - - '='
186
186
  - !ruby/object:Gem::Version
187
- version: 1.5.6
187
+ version: 1.5.7
188
188
  type: :runtime
189
189
  prerelease: false
190
190
  version_requirements: !ruby/object:Gem::Requirement
191
191
  requirements:
192
192
  - - '='
193
193
  - !ruby/object:Gem::Version
194
- version: 1.5.6
194
+ version: 1.5.7
195
195
  description:
196
196
  email:
197
- - grzesiek.bizon@gmail.com
197
+ - gitlab-qa@gmail.com
198
198
  executables:
199
199
  - gitlab-qa
200
200
  - gitlab-qa-report
@@ -221,6 +221,7 @@ files:
221
221
  - bin/slack
222
222
  - docs/README.md
223
223
  - docs/architecture.md
224
+ - docs/configuring_omnibus.md
224
225
  - docs/how_it_works.md
225
226
  - docs/release_process.md
226
227
  - docs/run_qa_against_gdk.md
@@ -273,6 +274,10 @@ files:
273
274
  - lib/gitlab/qa/reporter.rb
274
275
  - lib/gitlab/qa/runner.rb
275
276
  - lib/gitlab/qa/runtime/env.rb
277
+ - lib/gitlab/qa/runtime/omnibus_configuration.rb
278
+ - lib/gitlab/qa/runtime/omnibus_configurations/default.rb
279
+ - lib/gitlab/qa/runtime/omnibus_configurations/object_storage.rb
280
+ - lib/gitlab/qa/runtime/omnibus_configurations/packages.rb
276
281
  - lib/gitlab/qa/runtime/scenario.rb
277
282
  - lib/gitlab/qa/runtime/token_finder.rb
278
283
  - lib/gitlab/qa/scenario/actable.rb
@@ -305,8 +310,6 @@ files:
305
310
  - lib/gitlab/qa/scenario/test/integration/ldap_tls.rb
306
311
  - lib/gitlab/qa/scenario/test/integration/mattermost.rb
307
312
  - lib/gitlab/qa/scenario/test/integration/mtls.rb
308
- - lib/gitlab/qa/scenario/test/integration/object_storage.rb
309
- - lib/gitlab/qa/scenario/test/integration/packages.rb
310
313
  - lib/gitlab/qa/scenario/test/integration/praefect.rb
311
314
  - lib/gitlab/qa/scenario/test/integration/saml.rb
312
315
  - lib/gitlab/qa/scenario/test/integration/smtp.rb
@@ -330,7 +333,7 @@ files:
330
333
  - tls_certificates/gitlab/gitlab.test.crt
331
334
  - tls_certificates/gitlab/gitlab.test.csr
332
335
  - tls_certificates/gitlab/gitlab.test.key
333
- homepage: http://about.gitlab.com
336
+ homepage: http://about.gitlab.com/
334
337
  licenses:
335
338
  - MIT
336
339
  metadata: {}
@@ -1,64 +0,0 @@
1
- require 'yaml'
2
-
3
- module Gitlab
4
- module QA
5
- module Scenario
6
- module Test
7
- module Integration
8
- class ObjectStorage < Scenario::Template
9
- include Scenario::CLICommands
10
-
11
- TYPES = %w[artifacts external_diffs lfs uploads packages dependency_proxy].freeze
12
-
13
- def perform(release, *rspec_args)
14
- Component::Gitlab.perform do |gitlab|
15
- gitlab.release = release
16
- gitlab.name = 'gitlab-object-storage'
17
- gitlab.network = 'test'
18
-
19
- Component::Minio.perform do |minio|
20
- minio.network = 'test'
21
-
22
- TYPES.each do |bucket_name|
23
- minio.add_bucket("#{bucket_name}-bucket")
24
- end
25
-
26
- gitlab.omnibus_config = object_storage_config(minio)
27
- gitlab.exec_commands = git_lfs_install_commands
28
-
29
- minio.instance do
30
- gitlab.instance do
31
- puts 'Running object storage specs!'
32
-
33
- Component::Specs.perform do |specs|
34
- specs.suite = 'Test::Integration::ObjectStorage'
35
- specs.release = gitlab.release
36
- specs.network = gitlab.network
37
- specs.args = [gitlab.address, *rspec_args]
38
- end
39
- end
40
- end
41
- end
42
- end
43
- end
44
-
45
- def object_storage_config(minio)
46
- TYPES.map do |object_type|
47
- <<~OMNIBUS
48
- gitlab_rails['#{object_type}_enabled'] = true;
49
- gitlab_rails['#{object_type}_storage_path'] = '/var/opt/gitlab/gitlab-rails/shared/#{object_type}';
50
- gitlab_rails['#{object_type}_object_store_enabled'] = true;
51
- gitlab_rails['#{object_type}_object_store_remote_directory'] = '#{object_type}-bucket';
52
- gitlab_rails['#{object_type}_object_store_background_upload'] = false;
53
- gitlab_rails['#{object_type}_object_store_direct_upload'] = true;
54
- gitlab_rails['#{object_type}_object_store_proxy_download'] = true;
55
- gitlab_rails['#{object_type}_object_store_connection'] = #{minio.to_config};
56
- OMNIBUS
57
- end.join("\n")
58
- end
59
- end
60
- end
61
- end
62
- end
63
- end
64
- end
@@ -1,36 +0,0 @@
1
- module Gitlab
2
- module QA
3
- module Scenario
4
- module Test
5
- module Integration
6
- class Packages < Scenario::Template
7
- def perform(release, *rspec_args)
8
- Component::Gitlab.perform do |gitlab|
9
- gitlab.release = QA::Release.new(release)
10
- gitlab.name = 'gitlab-packages'
11
- gitlab.network = 'test'
12
- gitlab.omnibus_config = <<~OMNIBUS
13
- gitlab_rails['packages_enabled'] = true;
14
- OMNIBUS
15
-
16
- gitlab.instance do
17
- puts "Running packages specs!"
18
-
19
- rspec_args << "--" unless rspec_args.include?('--')
20
- rspec_args << %w[--tag packages]
21
-
22
- Component::Specs.perform do |specs|
23
- specs.suite = 'Test::Instance::All'
24
- specs.release = gitlab.release
25
- specs.network = gitlab.network
26
- specs.args = [gitlab.address, *rspec_args]
27
- end
28
- end
29
- end
30
- end
31
- end
32
- end
33
- end
34
- end
35
- end
36
- end