Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
小 白蛋
Nomad
Commits
5304c612
Unverified
Commit
5304c612
authored
6 years ago
by
Nick Ethier
Browse files
Options
Download
Email Patches
Plain Diff
drivers/docker: handle shutdown of upgraded tasks correctly
parent
e2bc4f3f
Branches unavailable
v1.4.3
v1.4.2
v1.4.1
v1.4.0
v1.4.0-rc.1
v1.4.0-beta.1
v1.3.8
v1.3.7
v1.3.6
v1.3.5
v1.3.4
v1.3.3
v1.3.2
v1.3.1
v1.3.0
v1.3.0-rc.1
v1.3.0-beta.1
v1.2.15
v1.2.14
v1.2.13
v1.2.12
v1.2.11
v1.2.10
v1.2.9
v1.2.8
v1.2.7
v1.2.6
v1.2.5
v1.2.4
v1.2.3
v1.2.2
v1.2.1
v1.2.0
v1.2.0-rc1
v1.2.0-beta1
v1.1.18
v1.1.17
v1.1.16
v1.1.15
v1.1.14
v1.1.13
v1.1.12
v1.1.11
v1.1.10
v1.1.9
v1.1.8
v1.1.7
v1.1.6
v1.1.5
v1.1.4
v1.1.3
v1.1.2
v1.1.1
v1.1.0
v1.1.0-rc1
v1.1.0-beta1
v1.0.18
v1.0.17
v1.0.16
v1.0.15
v1.0.14
v1.0.13
v1.0.12
v1.0.11
v1.0.10
v1.0.9
v1.0.8
v1.0.7
v1.0.6
v1.0.5
v1.0.4
v1.0.3
v1.0.2
v1.0.1
v1.0.0
v1.0.0-rc1
v1.0.0-beta3
v1.0.0-beta2
v0.12.12
v0.12.11
v0.12.10
v0.12.9
v0.12.8
v0.12.7
v0.12.6
v0.12.5
v0.12.4
v0.12.4-rc1
v0.12.3
v0.12.2
v0.12.1
v0.12.0
v0.12.0-rc1
v0.12.0-beta2
v0.12.0-beta1
v0.11.8
v0.11.7
v0.11.6
v0.11.5
v0.11.4
v0.11.3
v0.11.2
v0.11.1
v0.11.0
v0.11.0-rc1
v0.11.0-beta2
v0.11.0-beta1
v0.10.9
v0.10.8
v0.10.7
v0.10.6
v0.10.5
v0.10.4
v0.10.4-rc1
v0.10.3
v0.10.2
v0.10.2-rc1
v0.10.1
v0.10.0
v0.10.0-rc1
v0.10.0-connect1
v0.10.0-beta1
v0.9.7
v0.9.6
v0.9.5
v0.9.4
v0.9.4-rc1
v0.9.3
v0.9.2
v0.9.2-rc1
v0.9.1
v0.9.1-rc1
v0.9.0
v0.9.0-rc2
v0.9.0-rc1
v0.9.0-beta3
v0.9.0-beta2
v0.9.0-beta1
nightly
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
drivers/docker/driver_pre09.go
+1
-1
drivers/docker/driver_pre09.go
drivers/shared/executor/legacy_executor_wrapper.go
+16
-2
drivers/shared/executor/legacy_executor_wrapper.go
with
17 additions
and
3 deletions
+17
-3
drivers/docker/driver_pre09.go
+
1
-
1
View file @
5304c612
...
...
@@ -69,7 +69,7 @@ type executorDockerLoggerShim struct {
func
(
e
*
executorDockerLoggerShim
)
Start
(
*
docklog
.
StartOpts
)
error
{
return
nil
}
func
(
e
*
executorDockerLoggerShim
)
Stop
()
error
{
if
err
:=
e
.
exec
.
Shutdown
(
""
,
0
);
err
!=
nil
{
if
err
:=
e
.
exec
.
Shutdown
(
"
docker
"
,
0
);
err
!=
nil
{
return
err
}
...
...
This diff is collapsed.
Click to expand it.
drivers/shared/executor/legacy_executor_wrapper.go
+
16
-
2
View file @
5304c612
...
...
@@ -15,6 +15,12 @@ import (
"golang.org/x/net/context"
)
const
(
// pre09DockerSignal is used in executor.Shutdown to know if it should
// call the ShutDown RPC on the pre09 executor
pre09DockerSignal
=
"docker"
)
// Registering these types since we have to serialize and de-serialize the Task
// structs over the wire between drivers and the executor.
func
init
()
{
...
...
@@ -49,8 +55,16 @@ func (l *legacyExecutorWrapper) Wait(ctx context.Context) (*ProcessState, error)
}
func
(
l
*
legacyExecutorWrapper
)
Shutdown
(
signal
string
,
gracePeriod
time
.
Duration
)
error
{
if
err
:=
l
.
client
.
ShutDown
();
err
!=
nil
{
return
err
// The legacy docker driver only used the executor to start a syslog server
// for logging. Thus calling ShutDown for docker will always return an error
// because it never started a process through the executor. If signal is set
// to 'docker' then we'll skip the ShutDown RPC and just call Exit.
//
// This is painful to look at but will only be around a few releases
if
signal
!=
pre09DockerSignal
{
if
err
:=
l
.
client
.
ShutDown
();
err
!=
nil
{
return
err
}
}
if
err
:=
l
.
client
.
Exit
();
err
!=
nil
{
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
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
Menu
Projects
Groups
Snippets
Help