diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 74c563f4f9d367af9b35bab07167b27db801f5fe..ce46c89befb9f66af9d0ed229a8242e43990646d 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -181,13 +181,12 @@ stages:
   stage: test
   script:
     - JOB_NAME=( $CI_JOB_NAME )
-    - export CI_NODE_INDEX=${JOB_NAME[-2]}
-    - export CI_NODE_TOTAL=${JOB_NAME[-1]}
-    - export KNAPSACK_REPORT_PATH=knapsack/${CI_PROJECT_NAME}/${JOB_NAME[0]}_node_${CI_NODE_INDEX}_${CI_NODE_TOTAL}_report.json
+    - TEST_TOOL=${JOB_NAME[0]}
+    - export KNAPSACK_REPORT_PATH=knapsack/${CI_PROJECT_NAME}/${TEST_TOOL}_node_${CI_NODE_INDEX}_${CI_NODE_TOTAL}_report.json
     - export KNAPSACK_GENERATE_REPORT=true
     - export SUITE_FLAKY_RSPEC_REPORT_PATH=${FLAKY_RSPEC_SUITE_REPORT_PATH}
-    - export FLAKY_RSPEC_REPORT_PATH=rspec_flaky/all_${JOB_NAME[0]}_${CI_NODE_INDEX}_${CI_NODE_TOTAL}_report.json
-    - export NEW_FLAKY_RSPEC_REPORT_PATH=rspec_flaky/new_${JOB_NAME[0]}_${CI_NODE_INDEX}_${CI_NODE_TOTAL}_report.json
+    - export FLAKY_RSPEC_REPORT_PATH=rspec_flaky/all_${TEST_TOOL}_${CI_NODE_INDEX}_${CI_NODE_TOTAL}_report.json
+    - export NEW_FLAKY_RSPEC_REPORT_PATH=rspec_flaky/new_${TEST_TOOL}_${CI_NODE_INDEX}_${CI_NODE_TOTAL}_report.json
     - export FLAKY_RSPEC_GENERATE_REPORT=true
     - export CACHE_CLASSES=true
     - cp ${KNAPSACK_RSPEC_SUITE_REPORT_PATH} ${KNAPSACK_REPORT_PATH}
@@ -226,10 +225,10 @@ stages:
   <<: *rspec-metadata
   stage: test
   script:
-    - export KNAPSACK_TEST_FILE_PATTERN="ee/spec/**{,/*/**}/*_spec.rb" KNAPSACK_GENERATE_REPORT=true CACHE_CLASSES=true
     - JOB_NAME=( $CI_JOB_NAME )
-    - export CI_NODE_INDEX=${JOB_NAME[-2]} CI_NODE_TOTAL=${JOB_NAME[-1]}
-    - export KNAPSACK_REPORT_PATH=knapsack/${CI_PROJECT_NAME}/${JOB_NAME[0]}_node_${CI_NODE_INDEX}_${CI_NODE_TOTAL}_report.json
+    - TEST_TOOL=${JOB_NAME[0]}
+    - export KNAPSACK_TEST_FILE_PATTERN="ee/spec/**{,/*/**}/*_spec.rb" KNAPSACK_GENERATE_REPORT=true CACHE_CLASSES=true
+    - export KNAPSACK_REPORT_PATH=knapsack/${CI_PROJECT_NAME}/${TEST_TOOL}_node_${CI_NODE_INDEX}_${CI_NODE_TOTAL}_report.json
     - cp ${EE_KNAPSACK_RSPEC_SUITE_REPORT_PATH} ${KNAPSACK_REPORT_PATH}
     - scripts/gitaly-test-spawn
     - knapsack rspec "-Ispec --color --format documentation --format RspecJunitFormatter --out junit_rspec.xml --tag ~geo"
@@ -598,157 +597,45 @@ danger-review:
     - yarn install --frozen-lockfile --cache-folder .yarn-cache
     - danger --fail-on-errors=true
 
-# EE jobs
-rspec-pg-ee 0 4: *rspec-ee-pg
-rspec-pg-ee 1 4: *rspec-ee-pg
-rspec-pg-ee 2 4: *rspec-ee-pg
-rspec-pg-ee 3 4: *rspec-ee-pg
-
-rspec-mysql-ee 0 4: *rspec-ee-mysql
-rspec-mysql-ee 1 4: *rspec-ee-mysql
-rspec-mysql-ee 2 4: *rspec-ee-mysql
-rspec-mysql-ee 3 4: *rspec-ee-mysql
-
-rspec-pg geo 0 1: *rspec-metadata-pg-geo-9-6
-rspec-pg-10 geo 0 1: *rspec-metadata-pg-geo-10-2
-
-rspec-pg-ee-rails4 0 4: *rspec-ee-pg-rails4
-rspec-pg-ee-rails4 1 4: *rspec-ee-pg-rails4
-rspec-pg-ee-rails4 2 4: *rspec-ee-pg-rails4
-rspec-pg-ee-rails4 3 4: *rspec-ee-pg-rails4
-
-rspec-mysql-ee-rails4 0 4: *rspec-ee-mysql-rails4
-rspec-mysql-ee-rails4 1 4: *rspec-ee-mysql-rails4
-rspec-mysql-ee-rails4 2 4: *rspec-ee-mysql-rails4
-rspec-mysql-ee-rails4 3 4: *rspec-ee-mysql-rails4
-
-rspec-pg-geo-rails4 0 1: *rspec-metadata-pg-geo-9-6-rails4
-rspec-pg-10-geo-rails4 0 1: *rspec-metadata-pg-geo-10-2-rails4
-## EE jobs
-
-rspec-pg 0 30: *rspec-metadata-pg
-rspec-pg 1 30: *rspec-metadata-pg
-rspec-pg 2 30: *rspec-metadata-pg
-rspec-pg 3 30: *rspec-metadata-pg
-rspec-pg 4 30: *rspec-metadata-pg
-rspec-pg 5 30: *rspec-metadata-pg
-rspec-pg 6 30: *rspec-metadata-pg
-rspec-pg 7 30: *rspec-metadata-pg
-rspec-pg 8 30: *rspec-metadata-pg
-rspec-pg 9 30: *rspec-metadata-pg
-rspec-pg 10 30: *rspec-metadata-pg
-rspec-pg 11 30: *rspec-metadata-pg
-rspec-pg 12 30: *rspec-metadata-pg
-rspec-pg 13 30: *rspec-metadata-pg
-rspec-pg 14 30: *rspec-metadata-pg
-rspec-pg 15 30: *rspec-metadata-pg
-rspec-pg 16 30: *rspec-metadata-pg
-rspec-pg 17 30: *rspec-metadata-pg
-rspec-pg 18 30: *rspec-metadata-pg
-rspec-pg 19 30: *rspec-metadata-pg
-rspec-pg 20 30: *rspec-metadata-pg
-rspec-pg 21 30: *rspec-metadata-pg
-rspec-pg 22 30: *rspec-metadata-pg
-rspec-pg 23 30: *rspec-metadata-pg
-rspec-pg 24 30: *rspec-metadata-pg
-rspec-pg 25 30: *rspec-metadata-pg
-rspec-pg 26 30: *rspec-metadata-pg
-rspec-pg 27 30: *rspec-metadata-pg
-rspec-pg 28 30: *rspec-metadata-pg
-rspec-pg 29 30: *rspec-metadata-pg
-
-rspec-mysql 0 30: *rspec-metadata-mysql
-rspec-mysql 1 30: *rspec-metadata-mysql
-rspec-mysql 2 30: *rspec-metadata-mysql
-rspec-mysql 3 30: *rspec-metadata-mysql
-rspec-mysql 4 30: *rspec-metadata-mysql
-rspec-mysql 5 30: *rspec-metadata-mysql
-rspec-mysql 6 30: *rspec-metadata-mysql
-rspec-mysql 7 30: *rspec-metadata-mysql
-rspec-mysql 8 30: *rspec-metadata-mysql
-rspec-mysql 9 30: *rspec-metadata-mysql
-rspec-mysql 10 30: *rspec-metadata-mysql
-rspec-mysql 11 30: *rspec-metadata-mysql
-rspec-mysql 12 30: *rspec-metadata-mysql
-rspec-mysql 13 30: *rspec-metadata-mysql
-rspec-mysql 14 30: *rspec-metadata-mysql
-rspec-mysql 15 30: *rspec-metadata-mysql
-rspec-mysql 16 30: *rspec-metadata-mysql
-rspec-mysql 17 30: *rspec-metadata-mysql
-rspec-mysql 18 30: *rspec-metadata-mysql
-rspec-mysql 19 30: *rspec-metadata-mysql
-rspec-mysql 20 30: *rspec-metadata-mysql
-rspec-mysql 21 30: *rspec-metadata-mysql
-rspec-mysql 22 30: *rspec-metadata-mysql
-rspec-mysql 23 30: *rspec-metadata-mysql
-rspec-mysql 24 30: *rspec-metadata-mysql
-rspec-mysql 25 30: *rspec-metadata-mysql
-rspec-mysql 26 30: *rspec-metadata-mysql
-rspec-mysql 27 30: *rspec-metadata-mysql
-rspec-mysql 28 30: *rspec-metadata-mysql
-rspec-mysql 29 30: *rspec-metadata-mysql
-
-rspec-pg-rails4 0 30: *rspec-metadata-pg-rails4
-rspec-pg-rails4 1 30: *rspec-metadata-pg-rails4
-rspec-pg-rails4 2 30: *rspec-metadata-pg-rails4
-rspec-pg-rails4 3 30: *rspec-metadata-pg-rails4
-rspec-pg-rails4 4 30: *rspec-metadata-pg-rails4
-rspec-pg-rails4 5 30: *rspec-metadata-pg-rails4
-rspec-pg-rails4 6 30: *rspec-metadata-pg-rails4
-rspec-pg-rails4 7 30: *rspec-metadata-pg-rails4
-rspec-pg-rails4 8 30: *rspec-metadata-pg-rails4
-rspec-pg-rails4 9 30: *rspec-metadata-pg-rails4
-rspec-pg-rails4 10 30: *rspec-metadata-pg-rails4
-rspec-pg-rails4 11 30: *rspec-metadata-pg-rails4
-rspec-pg-rails4 12 30: *rspec-metadata-pg-rails4
-rspec-pg-rails4 13 30: *rspec-metadata-pg-rails4
-rspec-pg-rails4 14 30: *rspec-metadata-pg-rails4
-rspec-pg-rails4 15 30: *rspec-metadata-pg-rails4
-rspec-pg-rails4 16 30: *rspec-metadata-pg-rails4
-rspec-pg-rails4 17 30: *rspec-metadata-pg-rails4
-rspec-pg-rails4 18 30: *rspec-metadata-pg-rails4
-rspec-pg-rails4 19 30: *rspec-metadata-pg-rails4
-rspec-pg-rails4 20 30: *rspec-metadata-pg-rails4
-rspec-pg-rails4 21 30: *rspec-metadata-pg-rails4
-rspec-pg-rails4 22 30: *rspec-metadata-pg-rails4
-rspec-pg-rails4 23 30: *rspec-metadata-pg-rails4
-rspec-pg-rails4 24 30: *rspec-metadata-pg-rails4
-rspec-pg-rails4 25 30: *rspec-metadata-pg-rails4
-rspec-pg-rails4 26 30: *rspec-metadata-pg-rails4
-rspec-pg-rails4 27 30: *rspec-metadata-pg-rails4
-rspec-pg-rails4 28 30: *rspec-metadata-pg-rails4
-rspec-pg-rails4 29 30: *rspec-metadata-pg-rails4
-
-rspec-mysql-rails4 0 30: *rspec-metadata-mysql-rails4
-rspec-mysql-rails4 1 30: *rspec-metadata-mysql-rails4
-rspec-mysql-rails4 2 30: *rspec-metadata-mysql-rails4
-rspec-mysql-rails4 3 30: *rspec-metadata-mysql-rails4
-rspec-mysql-rails4 4 30: *rspec-metadata-mysql-rails4
-rspec-mysql-rails4 5 30: *rspec-metadata-mysql-rails4
-rspec-mysql-rails4 6 30: *rspec-metadata-mysql-rails4
-rspec-mysql-rails4 7 30: *rspec-metadata-mysql-rails4
-rspec-mysql-rails4 8 30: *rspec-metadata-mysql-rails4
-rspec-mysql-rails4 9 30: *rspec-metadata-mysql-rails4
-rspec-mysql-rails4 10 30: *rspec-metadata-mysql-rails4
-rspec-mysql-rails4 11 30: *rspec-metadata-mysql-rails4
-rspec-mysql-rails4 12 30: *rspec-metadata-mysql-rails4
-rspec-mysql-rails4 13 30: *rspec-metadata-mysql-rails4
-rspec-mysql-rails4 14 30: *rspec-metadata-mysql-rails4
-rspec-mysql-rails4 15 30: *rspec-metadata-mysql-rails4
-rspec-mysql-rails4 16 30: *rspec-metadata-mysql-rails4
-rspec-mysql-rails4 17 30: *rspec-metadata-mysql-rails4
-rspec-mysql-rails4 18 30: *rspec-metadata-mysql-rails4
-rspec-mysql-rails4 19 30: *rspec-metadata-mysql-rails4
-rspec-mysql-rails4 20 30: *rspec-metadata-mysql-rails4
-rspec-mysql-rails4 21 30: *rspec-metadata-mysql-rails4
-rspec-mysql-rails4 22 30: *rspec-metadata-mysql-rails4
-rspec-mysql-rails4 23 30: *rspec-metadata-mysql-rails4
-rspec-mysql-rails4 24 30: *rspec-metadata-mysql-rails4
-rspec-mysql-rails4 25 30: *rspec-metadata-mysql-rails4
-rspec-mysql-rails4 26 30: *rspec-metadata-mysql-rails4
-rspec-mysql-rails4 27 30: *rspec-metadata-mysql-rails4
-rspec-mysql-rails4 28 30: *rspec-metadata-mysql-rails4
-rspec-mysql-rails4 29 30: *rspec-metadata-mysql-rails4
+rspec-pg:
+  <<: *rspec-metadata-pg
+  parallel: 30
+
+rspec-mysql:
+  <<: *rspec-metadata-mysql
+  parallel: 30
+
+rspec-pg-rails4:
+  <<: *rspec-metadata-pg-rails4
+  parallel: 30
+
+rspec-mysql-rails4:
+  <<: *rspec-metadata-mysql-rails4
+  parallel: 30
+
+# EE jobs START
+rspec-pg-ee:
+  <<: *rspec-ee-pg
+  parallel: 4
+
+rspec-mysql-ee:
+  <<: *rspec-ee-mysql
+  parallel: 4
+
+rspec-pg geo: *rspec-metadata-pg-geo-9-6
+rspec-pg-10 geo: *rspec-metadata-pg-geo-10-2
+
+rspec-pg-ee-rails4:
+  <<: *rspec-ee-pg-rails4
+  parallel: 4
+
+rspec-mysql-ee-rails4:
+  <<: *rspec-ee-mysql-rails4
+  parallel: 4
+
+rspec-pg-geo-rails4: *rspec-metadata-pg-geo-9-6-rails4
+rspec-pg-10-geo-rails4: *rspec-metadata-pg-geo-10-2-rails4
+# EE jobs END
 
 static-analysis:
   <<: *dedicated-no-docs-no-db-pull-cache-job
diff --git a/Gemfile b/Gemfile
index 197a3b77633e55ad703a09b887206dbf3dd635ee..f9fc2cf8e778bb0560ed30538a9d238f20a05ac8 100644
--- a/Gemfile
+++ b/Gemfile
@@ -376,7 +376,7 @@ group :development, :test do
   gem 'benchmark-ips', '~> 2.3.0', require: false
 
   gem 'license_finder', '~> 5.4', require: false
-  gem 'knapsack', '~> 1.16'
+  gem 'knapsack', '~> 1.17'
 
   gem 'activerecord_sane_schema_dumper', gem_versions['activerecord_sane_schema_dumper']
 
diff --git a/Gemfile.lock b/Gemfile.lock
index 137b773b8711ba96cd58a114d247e3ba33c7073d..75d5cf30f94044aafa44f731434c5edb5431ddf1 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -443,7 +443,7 @@ GEM
       kaminari-core (= 1.0.1)
     kaminari-core (1.0.1)
     kgio (2.10.0)
-    knapsack (1.16.0)
+    knapsack (1.17.0)
       rake
     kubeclient (3.1.0)
       http (~> 2.2.2)
@@ -1075,7 +1075,7 @@ DEPENDENCIES
   json-schema (~> 2.8.0)
   jwt (~> 1.5.6)
   kaminari (~> 1.0)
-  knapsack (~> 1.16)
+  knapsack (~> 1.17)
   kubeclient (~> 3.1.0)
   letter_opener_web (~> 1.3.0)
   license_finder (~> 5.4)
diff --git a/Gemfile.rails4.lock b/Gemfile.rails4.lock
index 1032e13f7dd7c94f16d35ba87821ffca23d131f1..d81daa36e738b35da4beb02bb6bdb5230027d2e6 100644
--- a/Gemfile.rails4.lock
+++ b/Gemfile.rails4.lock
@@ -440,7 +440,7 @@ GEM
       kaminari-core (= 1.0.1)
     kaminari-core (1.0.1)
     kgio (2.10.0)
-    knapsack (1.16.0)
+    knapsack (1.17.0)
       rake
     kubeclient (3.1.0)
       http (~> 2.2.2)
@@ -1066,7 +1066,7 @@ DEPENDENCIES
   json-schema (~> 2.8.0)
   jwt (~> 1.5.6)
   kaminari (~> 1.0)
-  knapsack (~> 1.16)
+  knapsack (~> 1.17)
   kubeclient (~> 3.1.0)
   letter_opener_web (~> 1.3.0)
   license_finder (~> 5.4)