Skip to content

Commit

Permalink
Merge pull request opencontainers#202 from LK4D4/post_start
Browse files Browse the repository at this point in the history
Add post-start hooks
  • Loading branch information
Mrunal Patel committed Sep 30, 2015
2 parents 2078b31 + 8c7b01b commit 023c751
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 1 deletion.
15 changes: 14 additions & 1 deletion runtime-config.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,10 @@
## Hooks

Lifecycle hooks allow custom events for different points in a container's runtime.
Presently there are `Prestart` and `Poststop`.
Presently there are `Prestart`, `Poststart` and `Poststop`.

* [`Prestart`](#pre-start) is a list of hooks to be run before the container process is executed
* [`Poststart`](#post-start) is a list of hooks to be run immediately after the container process is started
* [`Poststop`](#post-stop)is a list of hooks to be run after the container process exits

Hooks allow one to run code before/after various lifecycle events of the container.
Expand All @@ -22,6 +23,13 @@ In Linux, for e.g., the network namespace could be configured in this hook.

If a hook returns a non-zero exit code, then an error including the exit code and the stderr is returned to the caller and the container is torn down.

### Post-start

The post-start hooks are called after the user process is started.
For example this hook can notify user that real process is spawned.

If a hook returns a non-zero exit code, then an error is logged and the remaining hooks are executed.

### Post-stop

The post-stop hooks are called after the container process is stopped.
Expand All @@ -42,6 +50,11 @@ If a hook returns a non-zero exit code, then an error is logged and the remainin
"path": "/usr/bin/setup-network"
}
],
"poststart": [
{
"path": "/usr/bin/notify-start",
},
],
"poststop": [
{
"path": "/usr/sbin/cleanup.sh",
Expand Down
2 changes: 2 additions & 0 deletions runtime_config.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ type Hooks struct {
// Prestart is a list of hooks to be run before the container process is executed.
// On Linux, they are run after the container namespaces are created.
Prestart []Hook `json:"prestart"`
// Poststart is a list of hooks to be run after the container process is started.
Poststart []Hook `json:"poststart"`
// Poststop is a list of hooks to be run after the container process exits.
Poststop []Hook `json:"poststop"`
}
Expand Down

0 comments on commit 023c751

Please sign in to comment.