diff --git a/files/gitlab-ctl-commands/lib/registry/migrate.rb b/files/gitlab-ctl-commands/lib/registry/migrate.rb index 6189151ecf9287b8bf6c6b611d5d2a64d625351f_ZmlsZXMvZ2l0bGFiLWN0bC1jb21tYW5kcy9saWIvcmVnaXN0cnkvbWlncmF0ZS5yYg==..fcd524b5ec939d8b4f29edbee1fba0bdbb4e16c9_ZmlsZXMvZ2l0bGFiLWN0bC1jb21tYW5kcy9saWIvcmVnaXN0cnkvbWlncmF0ZS5yYg== 100644 --- a/files/gitlab-ctl-commands/lib/registry/migrate.rb +++ b/files/gitlab-ctl-commands/lib/registry/migrate.rb @@ -196,11 +196,11 @@ end def self.needs_stop!(options) - case options[:subcommand] - when 'up', 'down' - options[:needs_stop] = true unless options.has_key? :dry_run - else - options[:needs_stop] = false - end + options[:needs_stop] = + if options[:subcommand] == 'down' && !options.key?(:dry_run) + true + else + false + end end end diff --git a/spec/chef/gitlab-ctl-commands/lib/registry/migrate_spec.rb b/spec/chef/gitlab-ctl-commands/lib/registry/migrate_spec.rb index 6189151ecf9287b8bf6c6b611d5d2a64d625351f_c3BlYy9jaGVmL2dpdGxhYi1jdGwtY29tbWFuZHMvbGliL3JlZ2lzdHJ5L21pZ3JhdGVfc3BlYy5yYg==..fcd524b5ec939d8b4f29edbee1fba0bdbb4e16c9_c3BlYy9jaGVmL2dpdGxhYi1jdGwtY29tbWFuZHMvbGliL3JlZ2lzdHJ5L21pZ3JhdGVfc3BlYy5yYg== 100644 --- a/spec/chef/gitlab-ctl-commands/lib/registry/migrate_spec.rb +++ b/spec/chef/gitlab-ctl-commands/lib/registry/migrate_spec.rb @@ -44,7 +44,7 @@ shared_examples 'parses dry_run option' do it 'parses dry-run correctly' do - expected_options = { subcommand: command, dry_run: '-d' } + expected_options = { subcommand: command, dry_run: '-d', needs_stop: false } expect(Migrate.parse_options!(%W(migrate #{command} -d), {})).to eq(expected_options) end @@ -59,7 +59,7 @@ it_behaves_like 'parses dry_run option' it 'parses subcommand correctly' do - expected_options = { subcommand: 'up', limit: '5', skip_post_deploy: '-s', needs_stop: true } + expected_options = { subcommand: 'up', limit: '5', skip_post_deploy: '-s', needs_stop: false } expect(Migrate.parse_options!(%W(migrate #{command} -s -l 5), {})).to eq(expected_options) end