gitlab-qa 7.33.0 → 7.34.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e445e804d4da01a171e7ff5287ca8b39d8cdc9bbfa25a0ba05e0a8c60356fc19
4
- data.tar.gz: 75193391112311339c90b9d16bbf74575b18bffb69bb07126a670aecdef6743b
3
+ metadata.gz: 917c47b2fbead3c77db3cd6c441995a8324ed73735262542dcd94de854022a35
4
+ data.tar.gz: 7785db11c9eb0f1f7ff2ecf32b16b8fd95ad9bab9391711f2d0af05a7e903153
5
5
  SHA512:
6
- metadata.gz: 8d1c61664ca82330fc8a05c563fda8ec7037dee724b0dd6c140870f033b9f4e17281aaba0aa7eb4607ca9c7d67874d66a1f1f98520d47660a42417a4dc9df74b
7
- data.tar.gz: '0369df333021790180d99307aed50ebc146613ed70ad26ecf4b59b2312c18cdddbe01f7221399221df014c30de87ce050a5a21bc7652d875aad34421390aac56'
6
+ metadata.gz: c509e252f4bd1e7d405d517920e306e2cdf5233cd73a5fbf25a878cbb863a7c21e5fedb007c8ef461f7e34e1899b27ff989d92182c427575a125f4c99a39de9d
7
+ data.tar.gz: 9011ddab65c7c0218ed49a5cbd2cdaa26f2b2ce013eb005d9ba63ee067ce18306bf8475861156ca52d7e2272cc9c94588ac86016e90e7901ecdac94d4e2f6cbf
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- gitlab-qa (7.33.0)
4
+ gitlab-qa (7.34.0)
5
5
  activesupport (~> 6.1)
6
6
  gitlab (~> 4.18.0)
7
7
  http (~> 5.0)
@@ -20,28 +20,14 @@ module Gitlab
20
20
  end
21
21
 
22
22
  def perform(release, *rspec_args)
23
- gitaly_primary_node = gitaly(@primary_node_name, release)
24
- gitaly_secondary_node = gitaly(@secondary_node_name, release)
25
- gitaly_tertiary_node = gitaly(@tertiary_node_name, release)
26
-
27
- sql_node = Component::PostgreSQL.new.tap do |sql|
28
- sql.name = @database
29
- sql.network = @network
30
- sql.instance(skip_teardown: true) do
31
- sql.run_psql '-d template1 -c "CREATE DATABASE praefect_production OWNER postgres"'
32
- end
33
- end
34
-
35
- praefect_node = Component::Gitlab.new.tap do |praefect|
36
- praefect.release = QA::Release.new(release)
37
- praefect.name = @praefect_node_name
38
- praefect.network = @network
39
- praefect.skip_availability_check = true
40
- praefect.seed_admin_token = false
41
-
42
- praefect.omnibus_configuration << praefect_omnibus_configuration
43
-
44
- praefect.instance(skip_teardown: true)
23
+ # The postgres container starts in seconds so not essential to parallelize it
24
+ # This also ensure that the docker network is created here, avoiding any potential race conditions later
25
+ # if the gitaly-cluster and GitLab containers attempt to create a network in parallel
26
+ @sql_node = postgres
27
+
28
+ gitaly_cluster = Thread.new do
29
+ Thread.current.abort_on_exception = true
30
+ start_gitaly_cluster(release)
45
31
  end
46
32
 
47
33
  Component::Gitlab.perform do |gitlab|
@@ -51,6 +37,8 @@ module Gitlab
51
37
 
52
38
  gitlab.omnibus_configuration << gitlab_omnibus_configuration
53
39
  gitlab.instance do
40
+ # Wait for gitaly cluster to finish booting, before attempting to run specs
41
+ gitaly_cluster.join
54
42
  Runtime::Logger.info('Running Gitaly Cluster specs!')
55
43
 
56
44
  if @tag
@@ -68,15 +56,25 @@ module Gitlab
68
56
  end
69
57
  end
70
58
  ensure
71
- praefect_node&.teardown
72
- sql_node&.teardown
73
- gitaly_primary_node&.teardown
74
- gitaly_secondary_node&.teardown
75
- gitaly_tertiary_node&.teardown
59
+ @praefect_node&.teardown
60
+ @sql_node&.teardown
61
+ @gitaly_primary_node&.teardown
62
+ @gitaly_secondary_node&.teardown
63
+ @gitaly_tertiary_node&.teardown
76
64
  end
77
65
 
78
66
  private
79
67
 
68
+ def start_gitaly_cluster(release)
69
+ Runtime::Logger.info("Starting Gitaly Cluster")
70
+ @gitaly_primary_node = gitaly(@primary_node_name, release)
71
+ @gitaly_secondary_node = gitaly(@secondary_node_name, release)
72
+ @gitaly_tertiary_node = gitaly(@tertiary_node_name, release)
73
+
74
+ @praefect_node = praefect(@praefect_node_name, release)
75
+ Runtime::Logger.info("Gitaly Cluster Ready")
76
+ end
77
+
80
78
  def disable_other_services
81
79
  <<~OMNIBUS
82
80
  postgresql['enable'] = false;
@@ -191,6 +189,30 @@ module Gitlab
191
189
  OMNIBUS
192
190
  end
193
191
 
192
+ def praefect(name, release)
193
+ Component::Gitlab.new.tap do |praefect|
194
+ praefect.release = QA::Release.new(release)
195
+ praefect.name = name
196
+ praefect.network = @network
197
+ praefect.skip_availability_check = true
198
+ praefect.seed_admin_token = false
199
+
200
+ praefect.omnibus_configuration << praefect_omnibus_configuration
201
+
202
+ praefect.instance(skip_teardown: true)
203
+ end
204
+ end
205
+
206
+ def postgres
207
+ Component::PostgreSQL.new.tap do |sql|
208
+ sql.name = @database
209
+ sql.network = @network
210
+ sql.instance(skip_teardown: true) do
211
+ sql.run_psql '-d template1 -c "CREATE DATABASE praefect_production OWNER postgres"'
212
+ end
213
+ end
214
+ end
215
+
194
216
  def gitaly(name, release)
195
217
  Component::Gitlab.new.tap do |gitaly|
196
218
  gitaly.release = QA::Release.new(release)
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Gitlab
4
4
  module QA
5
- VERSION = '7.33.0'
5
+ VERSION = '7.34.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: 7.33.0
4
+ version: 7.34.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: 2022-06-10 00:00:00.000000000 Z
11
+ date: 2022-06-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: climate_control