diff options
author | Stan Hu <stanhu@gmail.com> | 2019-02-03 05:52:55 -0800 |
---|---|---|
committer | Stan Hu <stanhu@gmail.com> | 2019-02-03 06:12:05 -0800 |
commit | 4c1231accab556da202a6a7b3e54b3ca0734cefb (patch) | |
tree | 64f1ec71aff0a5d18abd996e6a9664c076162236 | |
parent | 0cc5e956fcb9393829e537a20be8da89a275ec1d (diff) | |
download | gitlab-ce-4c1231accab556da202a6a7b3e54b3ca0734cefb.tar.gz |
Fix SSH Detect Host Keys not working
Due to a change in
https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/24245, the Detect
Host Key feature in the SSH mirroring stopped working.
`SshHostKey#primary_key` was being used instead of the hard-coded
`:id`. However, `SshHostKey#find_by` was expecting the symbolized `:id`
rather than the string `id`, so it could never find the host key it was
supposed to update.
Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/56855
-rw-r--r-- | app/models/ssh_host_key.rb | 2 | ||||
-rw-r--r-- | changelogs/unreleased/sh-fix-detect-host-keys.yml | 5 | ||||
-rw-r--r-- | spec/models/ssh_host_key_spec.rb | 6 |
3 files changed, 12 insertions, 1 deletions
diff --git a/app/models/ssh_host_key.rb b/app/models/ssh_host_key.rb index 99a0c54a26a..f318d32c71c 100644 --- a/app/models/ssh_host_key.rb +++ b/app/models/ssh_host_key.rb @@ -54,7 +54,7 @@ class SshHostKey # Needed for reactive caching def self.primary_key - 'id' + :id end def id diff --git a/changelogs/unreleased/sh-fix-detect-host-keys.yml b/changelogs/unreleased/sh-fix-detect-host-keys.yml new file mode 100644 index 00000000000..993d7c35b18 --- /dev/null +++ b/changelogs/unreleased/sh-fix-detect-host-keys.yml @@ -0,0 +1,5 @@ +--- +title: Fix Detect Host Keys not working +merge_request: 24884 +author: +type: fixed diff --git a/spec/models/ssh_host_key_spec.rb b/spec/models/ssh_host_key_spec.rb index 75db43b3d56..23a94334172 100644 --- a/spec/models/ssh_host_key_spec.rb +++ b/spec/models/ssh_host_key_spec.rb @@ -50,6 +50,12 @@ describe SshHostKey do subject(:ssh_host_key) { described_class.new(project: project, url: 'ssh://example.com:2222', compare_host_keys: compare_host_keys) } + describe '.primary_key' do + it 'returns a symbol' do + expect(described_class.primary_key).to eq(:id) + end + end + describe '#fingerprints', :use_clean_rails_memory_store_caching do it 'returns an array of indexed fingerprints when the cache is filled' do stub_reactive_cache(ssh_host_key, known_hosts: known_hosts) |