Skip to content
Snippets Groups Projects
Commit 08f97bf4 authored by Balasankar 'Balu' C's avatar Balasankar 'Balu' C
Browse files

Merge branch 'fix/gitlab-kas-redis-default-port' into 'master'

Correct GitLab KAS default redis port configuration

See merge request gitlab-org/omnibus-gitlab!5825
parents 91ebb9ff e4741d6c
No related branches found
No related tags found
2 merge requests!65heptapod#658: intermediate release to test the shift,!64GitLab 14.8
......@@ -29,6 +29,7 @@
redis_sentinels = node['gitlab']['gitlab-rails']['redis_sentinels']
redis_sentinels_master_name = node['redis']['master_name']
gitlab_kas_redis_password_file = File.join(working_dir, 'redis_password_file')
redis_default_port = URI::Redis::DEFAULT_PORT
redis_network = redis_helper.redis_url.scheme == 'unix' ? 'unix' : 'tcp'
redis_ssl = node['gitlab']['gitlab-rails']['redis_ssl']
redis_address = if redis_network == 'tcp'
......@@ -32,7 +33,7 @@
redis_network = redis_helper.redis_url.scheme == 'unix' ? 'unix' : 'tcp'
redis_ssl = node['gitlab']['gitlab-rails']['redis_ssl']
redis_address = if redis_network == 'tcp'
"#{redis_host}:#{redis_port}"
"#{redis_host}:#{redis_port || redis_default_port}"
else
node['gitlab']['gitlab-rails']['redis_socket']
end
......@@ -92,6 +93,7 @@
redis_network: redis_network,
redis_address: redis_address,
redis_ssl: redis_ssl,
redis_default_port: redis_default_port,
redis_password_file: redis_password ? gitlab_kas_redis_password_file : nil,
redis_sentinels_master_name: redis_sentinels_master_name,
redis_sentinels: redis_sentinels
......
......@@ -35,7 +35,7 @@
master_name: <%= @redis_sentinels_master_name %>
addresses:
<%- @redis_sentinels.each do |sentinel| %>
- '<%= sentinel['host'] %>:<%= sentinel['port'] %>'
- '<%= sentinel['host'] %>:<%= sentinel['port'] || @redis_default_port %>'
<%- end %>
<%- end %>
api:
......
......@@ -280,7 +280,36 @@
end
end
context 'without sentinel' do
context 'without sentinel host only' do
before do
stub_gitlab_rb(
external_url: 'https://gitlab.example.com',
gitlab_kas: {
enable: true
},
gitlab_rails: {
redis_host: 'the-host'
}
)
end
it 'renders a single server configuration in to the kas config' do
expect(chef_run).to render_file('/var/opt/gitlab/gitlab-kas/gitlab-kas-config.yml').with_content { |content|
kas_redis_cfg = YAML.safe_load(content)['redis']
expect(kas_redis_cfg).to(
include(
'network' => 'tcp',
'server' => {
'address' => 'the-host:6379'
}
)
)
expect(kas_redis_cfg).not_to(include('sentinel'))
}
end
end
context 'without sentinel host and port' do
before do
stub_gitlab_rb(
external_url: 'https://gitlab.example.com',
......@@ -353,7 +382,8 @@
gitlab_rails: {
redis_sentinels: [
{ host: 'a', port: 1 },
{ host: 'b', port: 2 }
{ host: 'b', port: 2 },
{ host: 'c' }
]
},
redis: {
......@@ -372,7 +402,8 @@
'master_name' => 'example-redis',
'addresses' => [
'a:1',
'b:2'
'b:2',
'c:6379'
]
}
)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment