Agent commands¶
The opentf-ctl
tool provides a set of commands to manage agents. You can list and
de-register agents.
For more information on agents, see “Agents.”
get agents
¶
This command lists registered agents.
opentf-ctl get agents
AGENT_ID NAME NAMESPACES TAGS REGISTRATION_TIMESTAMP LAST_SEEN_TIMESTAMP RUNNING_JOB
53fb7037-d91a-4df1-9181-dacfee6d273f test agent default ["windows", "robotframework"] 2023-09-08T14:42:45.557246 2023-09-08T15:18:57.617358 <none>
a285a1dc-7813-4237-bc93-1b90c17c6274 test agent default ["linux", "robotframework"] 2023-09-08T15:18:40.421573 2023-09-08T15:19:00.456028 <none>
It returns agent IDs, which are unique identifiers that can be used by the
delete agent
command.
The last column, RUNNING_JOB
, is <none>
if the agent is currently idle. It contains
the job ID it is currently processing otherwise.
Optional parameters¶
The get agents
command allows for additional optional parameters:
--output=wide or -o wide # show additional information
--output=custom-columns= or -o custom-columns= # show specified information
--output=json or -o json # show information in JSON format
--output=yaml or -o yaml # show information in YAML format
--selector={s} or -l {s} # filter the output on label selector(s)
--field-selector={s} # filter the output on field selector(s)
You can only specify one output format at a time. Please refer to “Output formats” for more information.
For more information on selectors, see “selectors.”
Wide view¶
This option shows the default columns, as above.
opentf-ctl get agents -o wide
opentf-ctl get agents --output=wide
AGENT_ID NAME NAMESPACES TAGS REGISTRATION_TIMESTAMP LAST_SEEN_TIMESTAMP RUNNING_JOB
53fb7037-d91a-4df1-9181-dacfee6d273f test agent default ["windows", "robotframework"] 2023-09-08T14:42:45.557246 2023-09-08T15:18:57.617358 <none>
a285a1dc-7813-4237-bc93-1b90c17c6274 test agent default ["linux", "robotframework"] 2023-09-08T15:18:40.421573 2023-09-08T15:19:00.456028 <none>
Custom view¶
If this optional parameter is specified, you can choose what is displayed for each registered agent.
The columns definition format is as follows: name:value[,name:value]*
. name
is the column
name in the output (AGENT_ID
or NAME
in the example above). value
is
the path to the information in the agent registration schema.
The following values are supported:
.metadata.agent_id
.metadata.name
.metadata.namespaces
.metadata.creationTimestamp
.spec.tags
.status.lastCommunicationTimestamp
.status.currentJobID
opentf-ctl get agents -o custom-columns=ID:.metadata.agent_id,NAME:.metadata.name
opentf-ctl get agents --output=custom-columns=ID:.metadata.agent_id,NAME:.metadata.name
ID NAME
53fb7037-d91a-4df1-9181-dacfee6d273f test agent
a285a1dc-7813-4237-bc93-1b90c17c6274 test agent
Using selectors¶
By default the get agents
command lists all registered agents.
The command output may be restricted by using the --selector
and --field-selector
options. For example, you may restrict command output to show only agents providing the
windows
tag:
opentf-ctl get agents --field-selector="(windows) in spec.tags"
AGENT_ID NAME NAMESPACES TAGS REGISTRATION_TIMESTAMP LAST_SEEN_TIMESTAMP RUNNING_JOB
53fb7037-d91a-4df1-9181-dacfee6d273f test agent default ["windows", "robotframework"] 2023-09-08T14:42:45.557246 2023-09-08T15:21:53.044245 <none>
You can combine selectors with output format.
For more information on selectors, see “selectors.”
delete agent {agent_id}
¶
This command de-registers agents.
opentf-ctl delete agent 6c223f7b-3f79-4c51-b200-68eaa33c1325
opentf-ctl delete agent 6c223f7b c07d0ac5
opentf-ctl delete agent --all
If the agent is currently processing a job, the corresponding workflow will be cancelled and the workspace in the execution environment may remain.
You can specify partial agent IDs, as long as they are unique (if they are not, a message is displayed and the ambiguous agents are not de-registered).
Optional parameters¶
The delete agent
command allows for additional optional parameters:
--all # de-register all running agents
--selector={s} or -l {s} # de-register agents based on label selector(s)
--field-selector={s} # de-register agents based on field selector(s)
You cannot mix --all
with --selector
or --field-selector
, and you cannot use those
options when specifying agent IDs.
For more information on selectors, see “selectors.”