Skip to content
Snippets Groups Projects
Commit 05839b1a authored by Kamil Trzciński's avatar Kamil Trzciński
Browse files

Merge branch 'remove-error-from-executor-prodiver' into 'master'

Update ExecutorProvider interface signature

See merge request gitlab-org/gitlab-runner!1159
parents 19f454ae e465b0aa
No related branches found
No related tags found
No related merge requests found
...@@ -216,21 +216,14 @@ func (mr *RunCommand) acquireRunnerResources(provider common.ExecutorProvider, r ...@@ -216,21 +216,14 @@ func (mr *RunCommand) acquireRunnerResources(provider common.ExecutorProvider, r
return nil, func() {}, fmt.Errorf("failed to update executor: %v", err) return nil, func() {}, fmt.Errorf("failed to update executor: %v", err)
} }
releaseProviderFn := func() {
err := provider.Release(runner, executorData)
if err != nil {
logrus.WithError(err).Error("Failed to release executor")
}
}
if !mr.buildsHelper.acquireBuild(runner) { if !mr.buildsHelper.acquireBuild(runner) {
releaseProviderFn() provider.Release(runner, executorData)
return nil, nil, errors.New("failed to request job, runner limit met") return nil, nil, errors.New("failed to request job, runner limit met")
} }
releaseFn := func() { releaseFn := func() {
mr.buildsHelper.releaseBuild(runner) mr.buildsHelper.releaseBuild(runner)
releaseProviderFn() provider.Release(runner, executorData)
} }
return executorData, releaseFn, nil return executorData, releaseFn, nil
......
...@@ -48,7 +48,7 @@ type ExecutorProvider interface { ...@@ -48,7 +48,7 @@ type ExecutorProvider interface {
CanCreate() bool CanCreate() bool
Create() Executor Create() Executor
Acquire(config *RunnerConfig) (ExecutorData, error) Acquire(config *RunnerConfig) (ExecutorData, error)
Release(config *RunnerConfig, data ExecutorData) error Release(config *RunnerConfig, data ExecutorData)
GetFeatures(features *FeaturesInfo) error GetFeatures(features *FeaturesInfo) error
GetDefaultShell() string GetDefaultShell() string
} }
......
...@@ -93,15 +93,6 @@ func (_m *MockExecutorProvider) GetFeatures(features *FeaturesInfo) error { ...@@ -93,15 +93,6 @@ func (_m *MockExecutorProvider) GetFeatures(features *FeaturesInfo) error {
} }
// Release provides a mock function with given fields: config, data // Release provides a mock function with given fields: config, data
func (_m *MockExecutorProvider) Release(config *RunnerConfig, data ExecutorData) error { func (_m *MockExecutorProvider) Release(config *RunnerConfig, data ExecutorData) {
ret := _m.Called(config, data) _m.Called(config, data)
var r0 error
if rf, ok := ret.Get(0).(func(*RunnerConfig, ExecutorData) error); ok {
r0 = rf(config, data)
} else {
r0 = ret.Error(0)
}
return r0
} }
...@@ -27,9 +27,7 @@ func (e DefaultExecutorProvider) Acquire(config *common.RunnerConfig) (common.Ex ...@@ -27,9 +27,7 @@ func (e DefaultExecutorProvider) Acquire(config *common.RunnerConfig) (common.Ex
return nil, nil return nil, nil
} }
func (e DefaultExecutorProvider) Release(config *common.RunnerConfig, data common.ExecutorData) error { func (e DefaultExecutorProvider) Release(config *common.RunnerConfig, data common.ExecutorData) {}
return nil
}
func (e DefaultExecutorProvider) GetFeatures(features *common.FeaturesInfo) error { func (e DefaultExecutorProvider) GetFeatures(features *common.FeaturesInfo) error {
if e.FeaturesUpdater == nil { if e.FeaturesUpdater == nil {
......
...@@ -379,7 +379,7 @@ func (m *machineProvider) Use(config *common.RunnerConfig, data common.ExecutorD ...@@ -379,7 +379,7 @@ func (m *machineProvider) Use(config *common.RunnerConfig, data common.ExecutorD
return return
} }
func (m *machineProvider) Release(config *common.RunnerConfig, data common.ExecutorData) error { func (m *machineProvider) Release(config *common.RunnerConfig, data common.ExecutorData) {
// Release machine // Release machine
details, ok := data.(*machineDetails) details, ok := data.(*machineDetails)
if ok { if ok {
...@@ -393,12 +393,11 @@ func (m *machineProvider) Release(config *common.RunnerConfig, data common.Execu ...@@ -393,12 +393,11 @@ func (m *machineProvider) Release(config *common.RunnerConfig, data common.Execu
config.Machine.MaxBuilds > 0 && details.UsedCount >= config.Machine.MaxBuilds { config.Machine.MaxBuilds > 0 && details.UsedCount >= config.Machine.MaxBuilds {
err := m.remove(details.Name, "Too many builds") err := m.remove(details.Name, "Too many builds")
if err == nil { if err == nil {
return nil return
} }
} }
details.State = machineStateIdle details.State = machineStateIdle
} }
return nil
} }
func (m *machineProvider) CanCreate() bool { func (m *machineProvider) CanCreate() bool {
......
...@@ -564,8 +564,7 @@ func TestMachineReleaseIfInvalidDataArePassed(t *testing.T) { ...@@ -564,8 +564,7 @@ func TestMachineReleaseIfInvalidDataArePassed(t *testing.T) {
assert.NotNil(t, nd) assert.NotNil(t, nd)
assertTotalMachines(t, p, 1, "it creates one machine") assertTotalMachines(t, p, 1, "it creates one machine")
err = p.Release(nil, nd) p.Release(nil, nd)
assert.NoError(t, err, "it should not fail")
} }
func TestMachineCreationIfFailedToConnect(t *testing.T) { func TestMachineCreationIfFailedToConnect(t *testing.T) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment