Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Boxiang Sun
gitlab-ce
Commits
23936ff2
Commit
23936ff2
authored
Mar 28, 2018
by
Jacob Vosmaer
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Make all workhorse gitaly calls opt-out, take 2
parent
06afa5a3
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
18 additions
and
10 deletions
+18
-10
.flayignore
.flayignore
+1
-0
changelogs/unreleased/workhorse-gitaly-mandatory.yml
changelogs/unreleased/workhorse-gitaly-mandatory.yml
+5
-0
lib/gitlab/workhorse.rb
lib/gitlab/workhorse.rb
+4
-4
spec/lib/gitlab/workhorse_spec.rb
spec/lib/gitlab/workhorse_spec.rb
+4
-4
spec/support/gitaly.rb
spec/support/gitaly.rb
+4
-2
No files found.
.flayignore
View file @
23936ff2
...
@@ -8,3 +8,4 @@ lib/gitlab/redis/*.rb
...
@@ -8,3 +8,4 @@ lib/gitlab/redis/*.rb
lib/gitlab/gitaly_client/operation_service.rb
lib/gitlab/gitaly_client/operation_service.rb
lib/gitlab/background_migration/*
lib/gitlab/background_migration/*
app/models/project_services/kubernetes_service.rb
app/models/project_services/kubernetes_service.rb
lib/gitlab/workhorse.rb
changelogs/unreleased/workhorse-gitaly-mandatory.yml
0 → 100644
View file @
23936ff2
---
title
:
Make all workhorse gitaly calls opt-out, take
2
merge_request
:
18043
author
:
type
:
other
lib/gitlab/workhorse.rb
View file @
23936ff2
...
@@ -42,7 +42,7 @@ module Gitlab
...
@@ -42,7 +42,7 @@ module Gitlab
end
end
def
send_git_blob
(
repository
,
blob
)
def
send_git_blob
(
repository
,
blob
)
params
=
if
Gitlab
::
GitalyClient
.
feature_enabled?
(
:workhorse_raw_show
)
params
=
if
Gitlab
::
GitalyClient
.
feature_enabled?
(
:workhorse_raw_show
,
status:
Gitlab
::
GitalyClient
::
MigrationStatus
::
OPT_OUT
)
{
{
'GitalyServer'
=>
gitaly_server_hash
(
repository
),
'GitalyServer'
=>
gitaly_server_hash
(
repository
),
'GetBlobRequest'
=>
{
'GetBlobRequest'
=>
{
...
@@ -70,7 +70,7 @@ module Gitlab
...
@@ -70,7 +70,7 @@ module Gitlab
params
=
repository
.
archive_metadata
(
ref
,
Gitlab
.
config
.
gitlab
.
repository_downloads_path
,
format
)
params
=
repository
.
archive_metadata
(
ref
,
Gitlab
.
config
.
gitlab
.
repository_downloads_path
,
format
)
raise
"Repository or ref not found"
if
params
.
empty?
raise
"Repository or ref not found"
if
params
.
empty?
if
Gitlab
::
GitalyClient
.
feature_enabled?
(
:workhorse_archive
)
if
Gitlab
::
GitalyClient
.
feature_enabled?
(
:workhorse_archive
,
status:
Gitlab
::
GitalyClient
::
MigrationStatus
::
OPT_OUT
)
params
.
merge!
(
params
.
merge!
(
'GitalyServer'
=>
gitaly_server_hash
(
repository
),
'GitalyServer'
=>
gitaly_server_hash
(
repository
),
'GitalyRepository'
=>
repository
.
gitaly_repository
.
to_h
'GitalyRepository'
=>
repository
.
gitaly_repository
.
to_h
...
@@ -87,7 +87,7 @@ module Gitlab
...
@@ -87,7 +87,7 @@ module Gitlab
end
end
def
send_git_diff
(
repository
,
diff_refs
)
def
send_git_diff
(
repository
,
diff_refs
)
params
=
if
Gitlab
::
GitalyClient
.
feature_enabled?
(
:workhorse_send_git_diff
)
params
=
if
Gitlab
::
GitalyClient
.
feature_enabled?
(
:workhorse_send_git_diff
,
status:
Gitlab
::
GitalyClient
::
MigrationStatus
::
OPT_OUT
)
{
{
'GitalyServer'
=>
gitaly_server_hash
(
repository
),
'GitalyServer'
=>
gitaly_server_hash
(
repository
),
'RawDiffRequest'
=>
Gitaly
::
RawDiffRequest
.
new
(
'RawDiffRequest'
=>
Gitaly
::
RawDiffRequest
.
new
(
...
@@ -105,7 +105,7 @@ module Gitlab
...
@@ -105,7 +105,7 @@ module Gitlab
end
end
def
send_git_patch
(
repository
,
diff_refs
)
def
send_git_patch
(
repository
,
diff_refs
)
params
=
if
Gitlab
::
GitalyClient
.
feature_enabled?
(
:workhorse_send_git_patch
)
params
=
if
Gitlab
::
GitalyClient
.
feature_enabled?
(
:workhorse_send_git_patch
,
status:
Gitlab
::
GitalyClient
::
MigrationStatus
::
OPT_OUT
)
{
{
'GitalyServer'
=>
gitaly_server_hash
(
repository
),
'GitalyServer'
=>
gitaly_server_hash
(
repository
),
'RawPatchRequest'
=>
Gitaly
::
RawPatchRequest
.
new
(
'RawPatchRequest'
=>
Gitaly
::
RawPatchRequest
.
new
(
...
...
spec/lib/gitlab/workhorse_spec.rb
View file @
23936ff2
...
@@ -55,7 +55,7 @@ describe Gitlab::Workhorse do
...
@@ -55,7 +55,7 @@ describe Gitlab::Workhorse do
end
end
end
end
context
'when Gitaly workhorse_archive feature is disabled'
,
:
skip_gitaly_mock
do
context
'when Gitaly workhorse_archive feature is disabled'
,
:
disable_gitaly
do
it
'sets the header correctly'
do
it
'sets the header correctly'
do
key
,
command
,
params
=
decode_workhorse_header
(
subject
)
key
,
command
,
params
=
decode_workhorse_header
(
subject
)
...
@@ -100,7 +100,7 @@ describe Gitlab::Workhorse do
...
@@ -100,7 +100,7 @@ describe Gitlab::Workhorse do
end
end
end
end
context
'when Gitaly workhorse_send_git_patch feature is disabled'
,
:
skip_gitaly_mock
do
context
'when Gitaly workhorse_send_git_patch feature is disabled'
,
:
disable_gitaly
do
it
'sets the header correctly'
do
it
'sets the header correctly'
do
key
,
command
,
params
=
decode_workhorse_header
(
subject
)
key
,
command
,
params
=
decode_workhorse_header
(
subject
)
...
@@ -173,7 +173,7 @@ describe Gitlab::Workhorse do
...
@@ -173,7 +173,7 @@ describe Gitlab::Workhorse do
end
end
end
end
context
'when Gitaly workhorse_send_git_diff feature is disabled'
,
:
skip_gitaly_mock
do
context
'when Gitaly workhorse_send_git_diff feature is disabled'
,
:
disable_gitaly
do
it
'sets the header correctly'
do
it
'sets the header correctly'
do
key
,
command
,
params
=
decode_workhorse_header
(
subject
)
key
,
command
,
params
=
decode_workhorse_header
(
subject
)
...
@@ -452,7 +452,7 @@ describe Gitlab::Workhorse do
...
@@ -452,7 +452,7 @@ describe Gitlab::Workhorse do
end
end
end
end
context
'when Gitaly workhorse_raw_show feature is disabled'
,
:
skip_gitaly_mock
do
context
'when Gitaly workhorse_raw_show feature is disabled'
,
:
disable_gitaly
do
it
'sets the header correctly'
do
it
'sets the header correctly'
do
key
,
command
,
params
=
decode_workhorse_header
(
subject
)
key
,
command
,
params
=
decode_workhorse_header
(
subject
)
...
...
spec/support/gitaly.rb
View file @
23936ff2
RSpec
.
configure
do
|
config
|
RSpec
.
configure
do
|
config
|
config
.
before
(
:each
)
do
|
example
|
config
.
before
(
:each
)
do
|
example
|
if
example
.
metadata
[
:disable_gitaly
]
if
example
.
metadata
[
:disable_gitaly
]
allow
(
Gitlab
::
GitalyClient
).
to
receive
(
:feature_enabled?
).
and_return
(
false
)
# Use 'and_wrap_original' to make sure the arguments are valid
allow
(
Gitlab
::
GitalyClient
).
to
receive
(
:feature_enabled?
).
and_wrap_original
{
|
m
,
*
args
|
m
.
call
(
*
args
)
&&
false
}
else
else
next
if
example
.
metadata
[
:skip_gitaly_mock
]
next
if
example
.
metadata
[
:skip_gitaly_mock
]
allow
(
Gitlab
::
GitalyClient
).
to
receive
(
:feature_enabled?
).
and_return
(
true
)
# Use 'and_wrap_original' to make sure the arguments are valid
allow
(
Gitlab
::
GitalyClient
).
to
receive
(
:feature_enabled?
).
and_wrap_original
{
|
m
,
*
args
|
m
.
call
(
*
args
)
||
true
}
end
end
end
end
end
end
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment