A plugin for Synse Server used to communicate with Intel AMT enabled machines.
You can install the AMT plugin via a release binary or via Docker image
docker pull vaporio/amt-plugin
If you wish to use a development build, fork and clone the repo and build the plugin from source.
The AMT plugin requires device configurations for the AMT-enabled servers that it will communicate with in order for it to run. As such, running the plugin without additional configuration will cause it to fail.
A simple example of what device configurations may look like can be found in the config/device directory. Once you have your plugin configurations defined, you can update the compose file to mount them into the plugin container and run it with:
docker-compose up -d
Plugin and device configuration are described in detail in the SDK Documentation.
There is an additional config scheme specific to this plugin for the contents of a configured
device's data
field. Device data
may be specified in two places (the prototype config and
the instance config sections). The data scheme describes the resulting unified config from
both sources.
An example:
devices:
- type: boot_target
instances:
- info: Server Boot Target
data:
ip: "127.0.0.1"
password: "guest"
Field | Required | Type | Description |
---|---|---|---|
ip |
yes | string | The hostname/ip of the AMT-enabled server to connect to. |
password |
yes | string | The AMT password for the server. |
Outputs are referenced by name. A single device may have more than one instance
of an output type. A value of -
in the table below indicates that there is no value
set for that field. The built-in section describes outputs this plugin uses which
are built-in to the SDK.
Built-in
Name | Description | Unit | Type | Precision |
---|---|---|---|---|
state | The power state of an AMT device. | - | state |
- |
Device Handlers are referenced by name.
Name | Description | Outputs | Read | Write | Bulk Read | Listen |
---|---|---|---|---|---|---|
boot_target | A handler for setting server boot target. | - |
✗ | ✓ | ✗ | ✗ |
power | A handler for managing server power state. | state |
✓ | ✓ | ✗ | ✗ |
This plugin supports the following values when writing to a device via a handler.
Handler | Write Action | Write Data | Description |
---|---|---|---|
boot_target | target |
pxe , hd , cd |
The boot target to set. |
power | state |
on , off , cycle |
The minimum bound for readings to be generated within. |
Below is a table describing the compatibility of plugin versions with Synse platform versions.
Synse v2 | Synse v3 | |
---|---|---|
plugin v1.x | ✓ | ✗ |
plugin v2.x | ✗ | ✓ |
The plugin can be run in debug mode for additional logging. This is done by:
-
Setting the
debug
option totrue
in the plugin configuration YAML (config.yml)debug: true
-
Passing the
--debug
flag when running the binary/imagedocker run vaporio/amt-plugin --debug
-
Running the image with the
PLUGIN_DEBUG
environment variable set totrue
docker run -e PLUGIN_DEBUG=true vaporio/amt-plugin
If you experience a bug, would like to ask a question, or request a feature, open a new issue and provide as much context as possible. All contributions, questions, and feedback are welcomed and appreciated.
The Synse AMT Plugin is licensed under GPLv3. See LICENSE for more info.