Get desktop application:
View/edit binary Protocol Buffers messages
DevicePlugin is the API exposed by device plugins
Fingerprint allows the device plugin to return a set of detected devices and provide a mechanism to update the state of the device.
FingerprintRequest is used to request for devices to be fingerprinted.
(message has no fields)
FingerprintResponse returns a set of detected devices.
device_group is a group of devices that share a vendor, device_type, and device_name. This is returned as a set so that a single plugin could potentially detect several device types and models.
Reserve is called by the client before starting an allocation that requires access to the plugin’s devices. The plugin can use this to run any setup steps and provides the mounting details to the Nomad client
ReserveRequest is used to ask the device driver for information on how to allocate the requested devices.
device_ids are the requested devices.
ReserveResponse informs Nomad how to expose the requested devices to the task.
container_res contains information on how to mount the device into a task isolated using container technologies (where the host is shared)
Stats returns a stream of device statistics.
StatsRequest is used to parameterize the retrieval of statistics.
collection_interval is the duration in which to collect statistics.
StatsResponse returns the statistics for each device group.
groups contains statistics for each device group.
ContainerReservation returns how to mount the device into a container that shares the host OS.
Used in:
List of environment variable to be set
Mounts for the task.
Devices for the task.
DetectedDevice is a single detected device.
Used in:
ID is the ID of the device. This ID is used during allocation and must be stable across restarts of the device driver. buf:lint:ignore FIELD_LOWER_SNAKE_CASE
Health of the device.
health_description allows the device plugin to optionally annotate the health field with a human readable reason.
hw_locality is optionally set to expose hardware locality information for more optimal placement decisions.
DeviceGroup is a group of devices that share a vendor, device type and name.
Used in:
vendor is the name of the vendor of the device
device_type is the type of the device (gpu, fpga, etc).
device_name is the name of the device.
devices is the set of devices detected by the plugin.
attributes allows adding attributes to be used for constraints or affinities.
DeviceGroupStats contains statistics for each device of a particular device group, identified by the vendor, type and name of the device.
Used in:
instance_stats is a mapping of each device ID to its statistics.
DeviceLocality is used to expose HW locality information about a device.
Used in:
pci_bus_id is the PCI bus ID for the device. If reported, it allows Nomad to make NUMA aware optimizations.
DeviceSpec specifies a host device to mount into a task.
Used in:
Path of the device within the task.
Path of the device on the host.
Cgroups permissions of the device, candidates are one or more of * r - allows task to read from the specified device. * w - allows task to write to the specified device. * m - allows task to create device files that do not yet exist
DeviceStats is the statistics for an individual device
Used in:
summary exposes a single summary metric that should be the most informative to users.
stats contains the verbose statistics for the device.
timestamp is the time the statistics were collected.
Mount specifies a host volume to mount into a task. where device library or tools are installed on host and task
Used in:
Path of the mount within the task.
Path of the mount on the host.
If set, the mount is read-only.