gitlab-qa 15.9.0 → 15.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 62f35e5b964b9eebe81ee065da70d428ad6a92e42146ece90c99cb058992608d
4
- data.tar.gz: dadb71a13c7fc0d5c16f939d87e004ef70bba72468624ed089fb7b6592f647ff
3
+ metadata.gz: 8a010f513b5a21083ffc19a88bd9c462ac94b0a79dc6854a67adb11a62b27158
4
+ data.tar.gz: 3e5984e97c8fd28bed2dd8438f0a3fad1d96c4549fd589ada0320379f1246986
5
5
  SHA512:
6
- metadata.gz: e39b28201d0ae2d1f4fce45b6b37960ca2269072ffafdd0d245d35d99f7d69eafc5cd93cf0aed3b253ebf03debd57862709995ca31702ab23e490972879ca334
7
- data.tar.gz: bb8ab755a2fb9edb127bf7c17d8949d000acf3e75a5b1c2fabfc6ef5b0895588836ca8ac0e0c790f9ebd7d21a48665b1ea95c13c7d1b18103bbb97ee58864fec
6
+ metadata.gz: 6be0df446e12c04a6e9c8e36ada004de0fdf56efa8f1df3c7512edad1823da9dcbf31f147a5e8b8a1fd1f986d1e0332694677f4d0f55fedf632242b45293555f
7
+ data.tar.gz: c5330a156dcbeed4c69cc6176b5204418753fa3b6649e8ec67243440bc356cd92ed84fb6bf974730b34c27d288ee62f78b22be4ce0e28cdb1f67c7c16c02ebd2
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- gitlab-qa (15.9.0)
4
+ gitlab-qa (15.10.0)
5
5
  activesupport (>= 6.1, < 8)
6
6
  ffi (~> 1.17)
7
7
  gitlab (~> 4.19)
@@ -26,8 +26,8 @@ GEM
26
26
  minitest (>= 5.1)
27
27
  securerandom (>= 0.3)
28
28
  tzinfo (~> 2.0, >= 2.0.5)
29
- addressable (2.8.1)
30
- public_suffix (>= 2.0.2, < 6.0)
29
+ addressable (2.9.0)
30
+ public_suffix (>= 2.0.2, < 8.0)
31
31
  ast (2.4.2)
32
32
  backport (1.2.0)
33
33
  base64 (0.3.0)
@@ -48,19 +48,21 @@ GEM
48
48
  colored2 (~> 3.1)
49
49
  crack (0.4.5)
50
50
  rexml
51
- danger (9.1.0)
51
+ csv (3.3.6)
52
+ danger (9.6.1)
53
+ base64 (~> 0.2)
52
54
  claide (~> 1.0)
53
55
  claide-plugins (>= 0.9.2)
54
- colored2 (~> 3.1)
56
+ colored2 (>= 3.1, < 5)
55
57
  cork (~> 0.1)
56
- faraday (>= 0.9.0, < 2.0)
58
+ faraday (>= 0.9.0, < 3.0)
57
59
  faraday-http-cache (~> 2.0)
58
- git (~> 1.7)
59
- kramdown (~> 2.3)
60
+ git (>= 1.13)
61
+ kramdown (>= 2.5.1, < 3.0)
60
62
  kramdown-parser-gfm (~> 1.0)
61
- no_proxy_fix
62
- octokit (~> 5.0)
63
- terminal-table (>= 1, < 4)
63
+ octokit (>= 4.0)
64
+ pstore (~> 0.1)
65
+ terminal-table (>= 1, < 5)
64
66
  danger-gitlab (8.0.0)
65
67
  danger
66
68
  gitlab (~> 4.2, >= 4.2.0)
@@ -70,37 +72,22 @@ GEM
70
72
  unf (>= 0.0.5, < 1.0.0)
71
73
  drb (2.2.3)
72
74
  e2mmap (0.1.0)
73
- faraday (1.10.2)
74
- faraday-em_http (~> 1.0)
75
- faraday-em_synchrony (~> 1.0)
76
- faraday-excon (~> 1.1)
77
- faraday-httpclient (~> 1.0)
78
- faraday-multipart (~> 1.0)
79
- faraday-net_http (~> 1.0)
80
- faraday-net_http_persistent (~> 1.0)
81
- faraday-patron (~> 1.0)
82
- faraday-rack (~> 1.0)
83
- faraday-retry (~> 1.0)
84
- ruby2_keywords (>= 0.0.4)
85
- faraday-em_http (1.0.0)
86
- faraday-em_synchrony (1.0.0)
87
- faraday-excon (1.1.0)
75
+ faraday (2.14.4)
76
+ faraday-net_http (>= 2.0, < 3.5)
77
+ json
78
+ logger
88
79
  faraday-http-cache (2.4.1)
89
80
  faraday (>= 0.8)
90
- faraday-httpclient (1.0.1)
91
- faraday-multipart (1.0.4)
92
- multipart-post (~> 2)
93
- faraday-net_http (1.0.1)
94
- faraday-net_http_persistent (1.2.0)
95
- faraday-patron (1.0.0)
96
- faraday-rack (1.0.0)
97
- faraday-retry (1.0.3)
81
+ faraday-net_http (3.4.4)
82
+ net-http (~> 0.5)
98
83
  ffi (1.17.0)
99
84
  ffi-compiler (1.0.1)
100
85
  ffi (>= 1.0.0)
101
86
  rake
102
- git (1.12.0)
87
+ git (2.3.3)
88
+ activesupport (>= 5.0)
103
89
  addressable (~> 2.8)
90
+ process_executer (~> 1.1)
104
91
  rchardet (~> 1.8)
105
92
  gitlab (4.19.0)
106
93
  httparty (~> 0.20)
@@ -123,15 +110,16 @@ GEM
123
110
  http-cookie (1.0.5)
124
111
  domain_name (~> 0.5)
125
112
  http-form_data (2.3.0)
126
- httparty (0.20.0)
127
- mime-types (~> 3.0)
113
+ httparty (0.24.3)
114
+ csv
115
+ mini_mime (>= 1.0.0)
128
116
  multi_xml (>= 0.5.2)
129
117
  i18n (1.14.7)
130
118
  concurrent-ruby (~> 1.0)
131
119
  jaro_winkler (1.5.6)
132
120
  json (2.6.3)
133
- kramdown (2.4.0)
134
- rexml
121
+ kramdown (2.5.2)
122
+ rexml (>= 3.4.4)
135
123
  kramdown-parser-gfm (1.1.0)
136
124
  kramdown (~> 2.0)
137
125
  lefthook (1.2.6)
@@ -140,17 +128,18 @@ GEM
140
128
  rake (~> 13.0)
141
129
  logger (1.7.0)
142
130
  method_source (1.0.0)
143
- mime-types (3.4.1)
144
- mime-types-data (~> 3.2015)
145
- mime-types-data (3.2022.0105)
146
- mini_portile2 (2.8.0)
131
+ mini_mime (1.1.5)
132
+ mini_portile2 (2.8.9)
147
133
  minitest (5.26.1)
148
134
  multi_xml (0.6.0)
149
- multipart-post (2.2.3)
150
135
  nap (1.1.0)
151
- no_proxy_fix (0.1.2)
152
- nokogiri (1.13.9)
153
- mini_portile2 (~> 2.8.0)
136
+ net-http (0.10.0)
137
+ net-protocol (>= 0.3.0)
138
+ uri (>= 0.11.1)
139
+ net-protocol (0.4.0)
140
+ timeout
141
+ nokogiri (1.17.2)
142
+ mini_portile2 (~> 2.8.2)
154
143
  racc (~> 1.4)
155
144
  octokit (5.6.1)
156
145
  faraday (>= 1, < 3)
@@ -159,23 +148,25 @@ GEM
159
148
  parallel (1.22.1)
160
149
  parser (3.2.2.1)
161
150
  ast (~> 2.4.1)
151
+ process_executer (1.1.2)
162
152
  pry (0.14.1)
163
153
  coderay (~> 1.1)
164
154
  method_source (~> 1.0)
165
155
  pry-byebug (3.10.1)
166
156
  byebug (~> 11.0)
167
157
  pry (>= 0.13, < 0.15)
168
- public_suffix (5.0.0)
169
- racc (1.6.0)
170
- rack (3.0.7)
158
+ pstore (0.2.1)
159
+ public_suffix (6.0.2)
160
+ racc (1.8.1)
161
+ rack (3.2.7)
171
162
  rainbow (3.1.1)
172
163
  rake (13.0.6)
173
164
  rbs (2.8.4)
174
- rchardet (1.8.0)
165
+ rchardet (1.10.2)
175
166
  regexp_parser (2.6.1)
176
167
  reverse_markdown (2.1.1)
177
168
  nokogiri
178
- rexml (3.2.5)
169
+ rexml (3.4.4)
179
170
  rspec (3.13.0)
180
171
  rspec-core (~> 3.13.0)
181
172
  rspec-expectations (~> 3.13.0)
@@ -219,7 +210,6 @@ GEM
219
210
  rubocop-capybara (~> 2.17)
220
211
  rubocop-factory_bot (~> 2.22)
221
212
  ruby-progressbar (1.11.0)
222
- ruby2_keywords (0.0.5)
223
213
  sawyer (0.9.2)
224
214
  addressable (>= 2.3.5)
225
215
  faraday (>= 0.17.3, < 3)
@@ -228,7 +218,7 @@ GEM
228
218
  docile (~> 1.1)
229
219
  simplecov-html (~> 0.11)
230
220
  simplecov_json_formatter (~> 0.1)
231
- simplecov-cobertura (2.1.0)
221
+ simplecov-cobertura (3.2.0)
232
222
  rexml
233
223
  simplecov (~> 0.19)
234
224
  simplecov-html (0.12.3)
@@ -255,12 +245,14 @@ GEM
255
245
  thor (1.2.1)
256
246
  tilt (2.0.11)
257
247
  timecop (0.9.6)
248
+ timeout (0.6.1)
258
249
  tzinfo (2.0.6)
259
250
  concurrent-ruby (~> 1.0)
260
251
  unf (0.1.4)
261
252
  unf_ext
262
253
  unf_ext (0.0.8.2)
263
254
  unicode-display_width (2.4.2)
255
+ uri (1.1.2)
264
256
  webmock (3.7.0)
265
257
  addressable (>= 2.3.6)
266
258
  crack (>= 0.3.2)
@@ -284,7 +276,7 @@ DEPENDENCIES
284
276
  rake (~> 13.0)
285
277
  rspec (~> 3.13)
286
278
  simplecov (~> 0.22)
287
- simplecov-cobertura (~> 2.1)
279
+ simplecov-cobertura (~> 3.0)
288
280
  solargraph (~> 0.41)
289
281
  timecop (~> 0.9.5)
290
282
  webmock (= 3.7.0)
@@ -1046,7 +1046,7 @@ $ gitlab-qa Test::Instance::Airgapped EE -- --tag smoke
1046
1046
 
1047
1047
  ### `Test::Instance::Image CE|EE|<full image address> --omnibus-config object_storage`
1048
1048
 
1049
- This orchestrated scenario runs tests from the test suite against a GitLab instance which has object storage configured instead of using local storage. The omnibus configuration `object_storage` ([configurator](configuring_omnibus.md)), uses Minio and `object_storage_aws` uses an AWS S3 account with credentials configured in the pipeline as CI Variables. To use Google Cloud Storage pass `--omnibus-config object_storage_gcp`. According to the storage selected it requires:
1049
+ This orchestrated scenario runs tests from the test suite against a GitLab instance which has object storage configured instead of using local storage. The omnibus configuration `object_storage` ([configurator](configuring_omnibus.md)), uses [Silo](https://github.com/pgsty/silo) (a MinIO fork) and `object_storage_aws` uses an AWS S3 account with credentials configured in the pipeline as CI Variables. To use Google Cloud Storage pass `--omnibus-config object_storage_gcp`. According to the storage selected it requires:
1050
1050
 
1051
1051
  | Scenario | Variable | Description |
1052
1052
  |-----------------------|---------------------|--------------------------------------|
@@ -1139,33 +1139,6 @@ $ export GITLAB_PASSWORD="$GITLAB_QA_PASSWORD"
1139
1139
  $ gitlab-qa Test::Instance::Geo EE https://primary.gitlab.com https://secondary.gitlab.com
1140
1140
  ```
1141
1141
 
1142
- ### `Test::Instance::Chaos`
1143
-
1144
- This scenario will run a limited number of tests that are tagged with `:chaos`.
1145
-
1146
- These tests are designed to verify that our systems can gracefully handle scenarios which may occur if
1147
- networking or connectivity type issues occur in various Gitlab components.
1148
- They make use of [toxiproxy](https://github.com/Shopify/toxiproxy) to act as a proxy allowing us to introduce
1149
- connectivity issues, via the [toxiproxy ruby client](https://github.com/Shopify/toxiproxy-ruby) in an E2E spec.
1150
-
1151
- Sample Test:
1152
-
1153
- ```ruby
1154
- context 'when a gitaly node is experiencing high latency' do
1155
- it 'can create a project' do
1156
- Toxiproxy[:gitaly1].toxic(:latency, latency: 30000).apply do
1157
- expect(create_a_project).to be true
1158
- end
1159
- end
1160
- end
1161
- ```
1162
-
1163
- Example:
1164
-
1165
- ```shell
1166
- $ gitlab-qa Test::Instance::Chaos
1167
- ```
1168
-
1169
1142
  ### `Test::Integration::Import`
1170
1143
 
1171
1144
  This scenario will run specs tagged with `:import` tags.
data/gitlab-qa.gemspec CHANGED
@@ -36,7 +36,7 @@ Gem::Specification.new do |spec|
36
36
  spec.add_development_dependency 'rake', '~> 13.0'
37
37
  spec.add_development_dependency 'rspec', '~> 3.13'
38
38
  spec.add_development_dependency 'simplecov', '~> 0.22'
39
- spec.add_development_dependency 'simplecov-cobertura', '~> 2.1'
39
+ spec.add_development_dependency 'simplecov-cobertura', '~> 3.0'
40
40
  spec.add_development_dependency 'solargraph', '~> 0.41'
41
41
  spec.add_development_dependency 'timecop', '~> 0.9.5'
42
42
  spec.add_development_dependency 'webmock', '3.7.0'
@@ -4,15 +4,16 @@ require 'securerandom'
4
4
  require 'fileutils'
5
5
  require 'yaml'
6
6
 
7
- # This component sets up the Minio (https://hub.docker.com/r/minio/minio)
8
- # image with the proper configuration for GitLab users to use object storage.
7
+ # This component sets up Silo (https://github.com/pgsty/silo), a community-maintained
8
+ # MinIO fork, with the proper configuration for GitLab users to use object storage.
9
+ # The public minio/minio Docker images are no longer published.
9
10
  module Gitlab
10
11
  module QA
11
12
  module Component
12
- class Minio < Base
13
- DOCKER_IMAGE = 'minio/minio'
13
+ class Silo < Base
14
+ DOCKER_IMAGE = 'pgsty/silo'
14
15
  DOCKER_IMAGE_TAG = 'latest'
15
- # These are secrets used in a local Minio container, they're not used for any online S3 server.
16
+ # These are secrets used in a local Silo container, they're not used for any online S3 server.
16
17
  AWS_ACCESS_KEY = 'AKIAIOSFODNN7EXAMPLE'
17
18
  AWS_SECRET_KEY = 'wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY'
18
19
  DATA_DIR = '/data'
@@ -47,11 +48,11 @@ module Gitlab
47
48
  def host_data_dir
48
49
  base_dir = ENV['CI_PROJECT_DIR'] || '/tmp'
49
50
 
50
- File.join(base_dir, 'minio')
51
+ File.join(base_dir, 'silo')
51
52
  end
52
53
 
53
54
  def name
54
- @name ||= "minio-#{SecureRandom.hex(4)}"
55
+ @name ||= "silo-#{SecureRandom.hex(4)}"
55
56
  end
56
57
 
57
58
  def port
@@ -64,15 +65,13 @@ module Gitlab
64
65
  FileUtils.mkdir_p(host_data_dir)
65
66
 
66
67
  @buckets.each do |bucket|
67
- Runtime::Logger.info("Creating Minio bucket: #{bucket}")
68
+ Runtime::Logger.info("Creating Silo bucket: #{bucket}")
68
69
  FileUtils.mkdir_p(File.join(host_data_dir, bucket))
69
70
  end
70
71
  end
71
72
 
72
73
  def start # rubocop:disable Metrics/AbcSize
73
- # --compat needed until https://gitlab.com/gitlab-org/gitlab-workhorse/issues/210
74
- # is resolved
75
- docker.run(image: image, tag: tag, args: ["server", "--compat", DATA_DIR]) do |command|
74
+ docker.run(image: image, tag: tag, args: ["server", DATA_DIR]) do |command|
76
75
  command << '-d '
77
76
  command << "--name #{name}"
78
77
  command << "--net #{network}"
@@ -16,18 +16,18 @@ module Gitlab
16
16
  config << <<~OMNIBUS
17
17
  gitlab_rails['object_store']['enabled'] = true
18
18
  gitlab_rails['object_store']['proxy_download'] = true
19
- gitlab_rails['object_store']['connection'] = #{minio.to_config}
19
+ gitlab_rails['object_store']['connection'] = #{silo.to_config}
20
20
  OMNIBUS
21
21
  end
22
22
 
23
23
  def prepare
24
- minio.network = Runtime::Env.docker_network
24
+ silo.network = Runtime::Env.docker_network
25
25
 
26
26
  TYPES.each do |bucket_name|
27
- minio.add_bucket("#{bucket_name}-bucket")
27
+ silo.add_bucket("#{bucket_name}-bucket")
28
28
  end
29
29
 
30
- minio
30
+ silo
31
31
  end
32
32
 
33
33
  def exec_commands
@@ -36,8 +36,8 @@ module Gitlab
36
36
 
37
37
  private
38
38
 
39
- def minio
40
- @minio ||= Component::Minio.new
39
+ def silo
40
+ @silo ||= Component::Silo.new
41
41
  end
42
42
  end
43
43
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Gitlab
4
4
  module QA
5
- VERSION = '15.9.0'
5
+ VERSION = '15.10.0'
6
6
  end
7
7
  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: 15.9.0
4
+ version: 15.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - GitLab Quality
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-09-23 00:00:00.000000000 Z
11
+ date: 2026-10-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: climate_control
@@ -142,14 +142,14 @@ dependencies:
142
142
  requirements:
143
143
  - - "~>"
144
144
  - !ruby/object:Gem::Version
145
- version: '2.1'
145
+ version: '3.0'
146
146
  type: :development
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
150
  - - "~>"
151
151
  - !ruby/object:Gem::Version
152
- version: '2.1'
152
+ version: '3.0'
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: solargraph
155
155
  requirement: !ruby/object:Gem::Requirement
@@ -402,7 +402,6 @@ files:
402
402
  - lib/gitlab/qa/component/ai_gateway.rb
403
403
  - lib/gitlab/qa/component/alpine.rb
404
404
  - lib/gitlab/qa/component/base.rb
405
- - lib/gitlab/qa/component/chaos.rb
406
405
  - lib/gitlab/qa/component/duo_workflow_service.rb
407
406
  - lib/gitlab/qa/component/elasticsearch.rb
408
407
  - lib/gitlab/qa/component/gitaly.rb
@@ -412,7 +411,6 @@ files:
412
411
  - lib/gitlab/qa/component/ldap.rb
413
412
  - lib/gitlab/qa/component/license_ops.rb
414
413
  - lib/gitlab/qa/component/mail_hog.rb
415
- - lib/gitlab/qa/component/minio.rb
416
414
  - lib/gitlab/qa/component/mock_server.rb
417
415
  - lib/gitlab/qa/component/opensearch.rb
418
416
  - lib/gitlab/qa/component/pipeline_ops.rb
@@ -425,6 +423,7 @@ files:
425
423
  - lib/gitlab/qa/component/runner_ops.rb
426
424
  - lib/gitlab/qa/component/saml.rb
427
425
  - lib/gitlab/qa/component/selenoid.rb
426
+ - lib/gitlab/qa/component/silo.rb
428
427
  - lib/gitlab/qa/component/specs.rb
429
428
  - lib/gitlab/qa/component/staging.rb
430
429
  - lib/gitlab/qa/component/staging_ref.rb
@@ -468,7 +467,6 @@ files:
468
467
  - lib/gitlab/qa/scenario/test/integration/ai_gateway_no_add_on.rb
469
468
  - lib/gitlab/qa/scenario/test/integration/ai_gateway_no_license.rb
470
469
  - lib/gitlab/qa/scenario/test/integration/ai_gateway_no_seat_assigned.rb
471
- - lib/gitlab/qa/scenario/test/integration/chaos.rb
472
470
  - lib/gitlab/qa/scenario/test/integration/client_ssl.rb
473
471
  - lib/gitlab/qa/scenario/test/integration/continuous_vulnerability_scanning.rb
474
472
  - lib/gitlab/qa/scenario/test/integration/duo_agent_platform.rb
@@ -1,76 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'json'
4
-
5
- module Gitlab
6
- module QA
7
- module Component
8
- class Chaos < Base
9
- DOCKER_IMAGE = 'ghcr.io/shopify/toxiproxy'
10
- DOCKER_IMAGE_TAG = '2.5.0'
11
-
12
- def initialize
13
- super
14
- @network = Runtime::Env.docker_network
15
- end
16
-
17
- def name
18
- @name ||= "chaos"
19
- end
20
-
21
- def start
22
- prepare
23
- docker.run(image: image, tag: tag) do |command|
24
- command << '-d '
25
- command << "--name #{name}"
26
- command << "--network #{@network}"
27
- command << "--publish 8474:8474"
28
- end
29
-
30
- QA::Support::Shellout.shell <<~CMD
31
- docker run --network #{@network} --rm curlimages/curl:7.85.0 \
32
- -i -s \
33
- -X POST http://#{name}:8474/populate \
34
- -H 'Content-Type: application/json' \
35
- -d '#{proxies.to_json}'
36
- CMD
37
- end
38
-
39
- def proxies
40
- [
41
- {
42
- name: "postgres",
43
- listen: "[::]:5432",
44
- upstream: "postgres.test:5432",
45
- enabled: true
46
- },
47
- {
48
- name: "praefect",
49
- listen: "[::]:2305",
50
- upstream: "praefect.test:2305",
51
- enabled: true
52
- },
53
- {
54
- name: "gitaly1",
55
- listen: "[::]:8076",
56
- upstream: "gitaly1.test:8076",
57
- enabled: true
58
- },
59
- {
60
- name: "gitaly2",
61
- listen: "[::]:8077",
62
- upstream: "gitaly2.test:8077",
63
- enabled: true
64
- },
65
- {
66
- name: "gitaly3",
67
- listen: "[::]:8078",
68
- upstream: "gitaly3.test:8078",
69
- enabled: true
70
- }
71
- ]
72
- end
73
- end
74
- end
75
- end
76
- end
@@ -1,39 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Gitlab
4
- module QA
5
- module Scenario
6
- module Test
7
- module Integration
8
- class Chaos < Praefect
9
- def initialize
10
- super
11
-
12
- @praefect_addr = "chaos.test"
13
- @database_addr = "chaos.test"
14
- @primary_node_addr = "chaos.test"
15
- @primary_node_port = 8076
16
- @secondary_node_addr = "chaos.test"
17
- @secondary_node_port = 8077
18
- @tertiary_node_addr = "chaos.test"
19
- @tertiary_node_port = 8078
20
- end
21
-
22
- def perform(release, *rspec_args)
23
- @chaos_node = Component::Chaos.new.tap(&:start)
24
-
25
- run_gitaly_cluster(release, rspec_args)
26
- ensure
27
- @chaos_node&.teardown
28
- @praefect_node&.teardown
29
- @sql_node&.teardown
30
- @gitaly_primary_node&.teardown
31
- @gitaly_secondary_node&.teardown
32
- @gitaly_tertiary_node&.teardown
33
- end
34
- end
35
- end
36
- end
37
- end
38
- end
39
- end