Skip to content
Snippets Groups Projects
Commit 3b76d298 authored by Stan Hu's avatar Stan Hu
Browse files

Fix exception handling in Gitaly autodetection

In SELinux, the file cannot be written, and `Errno::EACCES`, not
`Errno::ACCESS` is thrown.

Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/65328
parent 11f82c89
No related branches found
No related tags found
No related merge requests found
---
title: Fix exception handling in Gitaly autodetection
merge_request: 31285
author:
type: fixed
Loading
Loading
@@ -413,7 +413,7 @@ module Gitlab
metadata_file = File.read(storage_metadata_file_path(storage))
metadata_hash = JSON.parse(metadata_file)
metadata_hash['gitaly_filesystem_id']
rescue Errno::ENOENT, Errno::ACCESS, JSON::ParserError
rescue Errno::ENOENT, Errno::EACCES, JSON::ParserError
nil
end
 
Loading
Loading
Loading
Loading
@@ -17,6 +17,16 @@ describe Gitlab::GitalyClient do
})
end
 
describe '.filesystem_id_from_disk' do
it 'catches errors' do
[Errno::ENOENT, Errno::EACCES, JSON::ParserError].each do |error|
allow(File).to receive(:read).with(described_class.storage_metadata_file_path('default')).and_raise(error)
expect(described_class.filesystem_id_from_disk('default')).to be_nil
end
end
end
describe '.stub_class' do
it 'returns the gRPC health check stub' do
expect(described_class.stub_class(:health_check)).to eq(::Grpc::Health::V1::Health::Stub)
Loading
Loading
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