Skip to content

Commit

Permalink
docs: remove LXC and ECS task drivers and remote driver details.
Browse files Browse the repository at this point in the history
  • Loading branch information
jrasell committed Oct 2, 2024
1 parent 651d8d6 commit e251861
Show file tree
Hide file tree
Showing 11 changed files with 5 additions and 516 deletions.
31 changes: 2 additions & 29 deletions website/content/docs/concepts/plugins/task-drivers.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,7 @@ description: Learn how to author a Nomad task driver plugin.
# Task Drivers

Task drivers in Nomad are the runtime components that execute workloads. For
a real world example of a Nomad task driver plugin implementation, see the [LXC
driver source][lxcdriver].
a real world example of a Nomad task driver plugin implementation, see the [exec2 driver][].

## Authoring Task Driver Plugins

Expand Down Expand Up @@ -104,30 +103,6 @@ The network isolation modes are:
- `NetIsolationModeNone`: There is no network to isolate. This is used for
task that the client manages remotely.

#### Remote Task Drivers

[Remote Task Drivers][rtd] should set `RemoteTasks` to `true`. Remote Task
Drivers are task driver plugins that execute tasks on a different system than
the Nomad client. This means the tasks lifecycle is distinct from the Nomad
client's.

For task driver plugin authors there are 2 important new behaviors when
`RemoteTasks` is `true`:

1. The `TaskHandle` returned by `StartTask` will be propagated to replacement
allocations if the Nomad client is drained or down. Nomad will call
`RecoverTask` instead of `StartTask` for remote tasks in replacement
allocations when a `TaskHandle` has been propagated from the previous
allocation.
2. If the Nomad client managing a remote task is drained or if the allocation
was `lost`, the remote task is sent a special `DETACH` kill signal. This
indicates the plugin should stop managing the remote task, but _not_ stop
it.

These behaviors are meant to keep remote tasks running even when the Nomad
client managing them is shutdown. Remote tasks are stopped when the job is
explicitly stopped like traditional tasks.

### `Fingerprint(context.Context) (<-chan *Fingerprint, error)`

This function is called by the client when the plugin is started. It allows the
Expand Down Expand Up @@ -265,15 +240,13 @@ The `ExecTask` function is used by the Nomad client to execute commands inside
the task execution context. For example, the Docker driver executes commands
inside the running container. `ExecTask` is called for Consul script checks.

[lxcdriver]: https://github.com/hashicorp/nomad-driver-lxc
[exec2 driver]: https://github.com/hashicorp/nomad-driver-exec2
[driverplugin]: https://github.com/hashicorp/nomad/blob/v0.9.0/plugins/drivers/driver.go#L39-L57
[skeletonproject]: https://github.com/hashicorp/nomad-skeleton-driver-plugin
[baseplugin]: /nomad/docs/concepts/plugins/base
[taskconfig]: https://godoc.org/github.com/hashicorp/nomad/plugins/drivers#TaskConfig
[taskhandle]: https://godoc.org/github.com/hashicorp/nomad/plugins/drivers#TaskHandle
[fifopackage]: https://godoc.org/github.com/hashicorp/nomad/client/lib/fifo
[rtd]: /nomad/plugins/drivers/remote
[landlock]: https://docs.kernel.org/userspace-api/landlock.html
[unveil]: https://man.openbsd.org/unveil
[users]: /nomad/docs/configuration/client#users-block

2 changes: 1 addition & 1 deletion website/content/docs/drivers/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ own drivers without having to recompile Nomad. You can view the [plugin block][p
documentation for examples on how to use the `plugin` block in Nomad's client configuration.
See [docker][docker_plugin] for a more detailed and specific example.
Keep in mind that even though all built-in drivers are plugins, Nomad
remains a single binary and maintains backwards compatibility except with the `lxc` driver.
remains a single binary and maintains backwards compatibility.

The list of supported task drivers is provided on the left of this page. Each
task driver documents the configuration available in a [job
Expand Down
1 change: 0 additions & 1 deletion website/content/docs/ecosystem.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ description: Comparison between Nomad and Kubernetes
- [Singularity](/nomad/plugins/drivers/community/singularity)
- [Firecracker](/nomad/plugins/drivers/community/firecracker-task-driver)
- [Podman](/nomad/plugins/drivers/podman)
- [LXC](/nomad/plugins/drivers/community/lxc)

## Application Definition & Image Build

Expand Down
6 changes: 1 addition & 5 deletions website/content/plugins/devices/nvidia.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -139,9 +139,7 @@ The Nvidia integration only works with drivers who natively integrate with
Nvidia's [container runtime
library](https://github.com/NVIDIA/libnvidia-container).

Nomad has tested support with the [`docker` driver][docker-driver]. Support for
[`lxc`][lxc-driver] should be possible by installing the [Nvidia hook][nvidia_hook]
but is not tested or documented by Nomad.
Nomad has tested support with the [`docker` driver][docker-driver].

## Source Code & Compiled Binaries

Expand Down Expand Up @@ -279,10 +277,8 @@ Wed Jan 23 18:25:32 2019
[docker-driver]: /nomad/docs/drivers/docker 'Nomad docker Driver'
[exec-driver]: /nomad/docs/drivers/exec 'Nomad exec Driver'
[java-driver]: /nomad/docs/drivers/java 'Nomad java Driver'
[lxc-driver]: /nomad/plugins/drivers/community/lxc 'Nomad lxc Driver'
[`plugin`]: /nomad/docs/configuration/plugin
[`plugin_dir`]: /nomad/docs/configuration#plugin_dir
[nvidia_hook]: https://github.com/lxc/lxc/blob/master/hooks/nvidia
[nvidia_plugin_download]: https://releases.hashicorp.com/nomad-device-nvidia/
[nvidia_container_toolkit]: https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html
[source]: https://github.com/hashicorp/nomad-device-nvidia
2 changes: 0 additions & 2 deletions website/content/plugins/drivers/community/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ Below is a list of community-supported task drivers you can use with Nomad:
- [Firecracker][firecracker-task-driver]
- [Jail task driver][jail-task-driver]
- [Lightrun][lightrun]
- [LXC][lxc]
- [Pledge][pledge]
- [Pot][pot]
- [Rookout][rookout]
Expand All @@ -34,7 +33,6 @@ Below is a list of community-supported task drivers you can use with Nomad:
- [Windows IIS][nomad-iis]

[rookout]: /nomad/plugins/drivers/community/rookout
[lxc]: /nomad/plugins/drivers/community/lxc
[plugin_guide]: /nomad/docs/concepts/plugins
[singularity]: /nomad/plugins/drivers/community/singularity
[jail-task-driver]: /nomad/plugins/drivers/community/jail-task-driver
Expand Down
197 changes: 0 additions & 197 deletions website/content/plugins/drivers/community/lxc.mdx

This file was deleted.

2 changes: 1 addition & 1 deletion website/content/plugins/drivers/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ documentation for examples on how to use the `plugin` block in Nomad's client co
Note that we have introduced new syntax when specifying driver options in the client
configuration (see [docker][docker_plugin] for an example). Keep in mind that even though
all built-in drivers are now plugins, Nomad remains a single binary and maintains
backwards compatibility except with the `lxc` driver.
backwards compatibility.

The list of supported task drivers is provided on the left of this page. Each
task driver documents the configuration available in a [job
Expand Down
Loading

0 comments on commit e251861

Please sign in to comment.