Sha256: 70e51aa59435aace6b923a645afe3940ce390a0ac4c1e8c01768aa22cfc9f2cd

Contents?: true

Size: 1.83 KB

Versions: 59

Compression:

Stored size: 1.83 KB

Contents

# frozen_string_literal: true

module Gitlab
  module QA
    module Runtime
      module OmnibusConfigurations
        class DecompositionMultipleDb < Default
          DATABASE_EXISTENCE_CHECK_COMMAND = <<~CMD.chomp
            gitlab-psql -d gitlabhq_production_ci -c 'select 1' 2>1 > /dev/null
          CMD

          SCHEMA_EXISTENCE_CHECK_COMMAND = <<~CMD.chomp
            gitlab-psql -d gitlabhq_production_ci -c "select schema_name from information_schema.schemata where schema_name = 'gitlab_partitions_dynamic'" | grep -q gitlab_partitions_dynamic
          CMD

          def configuration
            # HACK: commenting commands out as these commands should be run *after* the first
            # reconfiguration (see first command in #exec_commands)
            <<~OMNIBUS
              #gitlab_rails['databases']['main']['enable'] = true
              #gitlab_rails['databases']['ci']['enable'] = true
              #gitlab_rails['databases']['ci']['db_database'] = 'gitlabhq_production_ci'
            OMNIBUS
          end

          def exec_commands
            [
              "sed -i 's/#gitlab_rails/gitlab_rails/g' /etc/gitlab/gitlab.rb",
              "gitlab-ctl reconfigure",
              # Create database only if it does not exist.
              "#{DATABASE_EXISTENCE_CHECK_COMMAND} || gitlab-psql -c 'create database gitlabhq_production_ci owner gitlab'",
              "gitlab-psql -d gitlabhq_production_ci -c 'create extension if not exists btree_gist'",
              "gitlab-psql -d gitlabhq_production_ci -c 'create extension if not exists pg_trgm'",
              # Load schema only if it does not exist.
              "#{SCHEMA_EXISTENCE_CHECK_COMMAND} || DISABLE_DATABASE_ENVIRONMENT_CHECK=1 gitlab-rake db:schema:load:ci",
              "gitlab-ctl restart"
            ].freeze
          end
        end
      end
    end
  end
end

Version data entries

59 entries across 59 versions & 1 rubygems

Version Path
gitlab-qa-15.3.0 lib/gitlab/qa/runtime/omnibus_configurations/decomposition_multiple_db.rb
gitlab-qa-15.2.0 lib/gitlab/qa/runtime/omnibus_configurations/decomposition_multiple_db.rb
gitlab-qa-15.1.0 lib/gitlab/qa/runtime/omnibus_configurations/decomposition_multiple_db.rb
gitlab-qa-15.0.0 lib/gitlab/qa/runtime/omnibus_configurations/decomposition_multiple_db.rb
gitlab-qa-14.21.0 lib/gitlab/qa/runtime/omnibus_configurations/decomposition_multiple_db.rb
gitlab-qa-14.20.0 lib/gitlab/qa/runtime/omnibus_configurations/decomposition_multiple_db.rb
gitlab-qa-14.19.2 lib/gitlab/qa/runtime/omnibus_configurations/decomposition_multiple_db.rb
gitlab-qa-14.19.1 lib/gitlab/qa/runtime/omnibus_configurations/decomposition_multiple_db.rb
gitlab-qa-14.19.0 lib/gitlab/qa/runtime/omnibus_configurations/decomposition_multiple_db.rb
gitlab-qa-14.18.0 lib/gitlab/qa/runtime/omnibus_configurations/decomposition_multiple_db.rb
gitlab-qa-14.17.0 lib/gitlab/qa/runtime/omnibus_configurations/decomposition_multiple_db.rb
gitlab-qa-14.16.0 lib/gitlab/qa/runtime/omnibus_configurations/decomposition_multiple_db.rb
gitlab-qa-14.15.0 lib/gitlab/qa/runtime/omnibus_configurations/decomposition_multiple_db.rb
gitlab-qa-14.14.0 lib/gitlab/qa/runtime/omnibus_configurations/decomposition_multiple_db.rb
gitlab-qa-14.13.0 lib/gitlab/qa/runtime/omnibus_configurations/decomposition_multiple_db.rb
gitlab-qa-14.12.0 lib/gitlab/qa/runtime/omnibus_configurations/decomposition_multiple_db.rb
gitlab-qa-14.11.0 lib/gitlab/qa/runtime/omnibus_configurations/decomposition_multiple_db.rb
gitlab-qa-14.9.0 lib/gitlab/qa/runtime/omnibus_configurations/decomposition_multiple_db.rb
gitlab-qa-14.8.1 lib/gitlab/qa/runtime/omnibus_configurations/decomposition_multiple_db.rb
gitlab-qa-14.8.0 lib/gitlab/qa/runtime/omnibus_configurations/decomposition_multiple_db.rb