Reboot a KVM virtual machine on a target
POST api/v2/jobs/rvc '{"method":"kvm.reboot","params":{"hostname":"<kvm_hostname>","force":<boolean>},"hostnames":["<node_hostname>"]}'
Starts a SC//Reliantâ„¢ Virtual Controller (RVC) job to reboot a KVM virtual machine on a target. The available targets are a node, node group, or saved filter. The API response will indicate that the RVC job is created and is scheduled to run. You can use the job ID from the response to retrieve the job status and the payload details.
In order to perform this action, the following conditions must be met:
- Must have the
Remote Job Executionfeature turned on at the site level. - The user must have the following capabilities:
Create and Update a RVC jobCall KVM state altering methods
Request syntax
post api/v2/jobs/rvc '{"method":"kvm.reboot","params":{"hostname":"<kvm_hostname>","force":<boolean>},"hostnames":["<node_hostname>"]}'
Request parameters
The request accepts the following data in JSON format.
| Parameter | Type | Description | Required |
|---|---|---|---|
method | String | The RVC action to start. This value is specified as a combination of the RVC module and method. For example, to reboot a KVM virtual machine you would specify the kvm module and the reboot method combined as kvm.reboot. | Yes |
params | String | The parameters that scope which KVM virtual machine to reboot on the host node. The supported parameters are hostname which is the hostname of the KVM virtual machine and force which indicates whether to force the reboot. | Yes |
hostnames | String array | The list of node hostnames on which to run the RVC job. | Dependent. Only if no node group or saved filter is provided. |
node_group_name | String | The name of the node group on which to run the RVC job. The RVC job will run on all nodes that are members of the node group. | Dependent. Only if no hostnames or saved filter is provided. |
node_group_id | Integer | The ID of the node group on which to run the RVC job. The RVC job will run on all nodes that are members of the node group. | Dependent. Only if no hostnames or saved filter is provided. |
saved_filter_name | String | The name of the saved filter on which to run the RVC job. The RVC job will run on all nodes that match the saved filter. | Dependent. Only if no hostnames or node group is provided. |
saved_filter_id | Integer | The ID of the saved filter on which to run the RVC job. The RVC job will run on all nodes that match the saved filter. | Dependent. Only if no hostnames or node group is provided. |
Response syntax
When the hostnames request parameter is used, the following response syntax is received.
{
"id": integer,
"type": "RVC3",
"status": "string",
"message": "string",
"trigged_by": "string",
"parameters": {
"method": "kvm.reboot",
"params": {
"hostname": "string",
"force": "boolean"
},
"hostnames": [
"string",
"string"
]
},
"time_started": "timestamp"
}
When the node group or saved filter request parameters are used, the following response syntax is received.
{
"id": integer,
"type": "RVC3",
"status": "string",
"message": "string",
"trigged_by": "string",
"parameters": {
"method": "kvm.reboot",
"params": {
"hostname": "string",
"force": "boolean"
},
"node_group_name": "string",
"node_group_id": integer,
"saved_filter_name": "string",
"saved_filter_id": integer
},
"time_started": "timestamp"
}
Response parameters
If the action is successful, an HTTP 200 response is returned. The following data is returned in JSON format.
| Field | Type | Description |
|---|---|---|
id | Integer | The ID of the RVC job. |
type | String | The type of RVC job. For RVC jobs, it is RVC3. |
status | String | The status of the job. |
message | String | This field is reserved for internal use. |
payload | String | The result of the reboot action for the KVM virtual machine on each target in the request. |
trigged_by | String | The username of the person who initiated the job. |
parameters | String | The request parameters indicating the RVC method, KVM virtual machine, node hostnames, Node Groups, or saved filters the RVC job ran on. |
time_started | Timestamp | The timestamp indicating when the job started. The timestamp is given in ISO 8601 UTC datetime format. |
Errors
For a list of potential errors, refer to the common errors, as this action does not have any unique error responses. For more information, see Common errors.
Examples
Example 1: Reboot a KVM virtual machine on a list of hostnames.
This example starts a RVC job to reboot a KVM virtual machine with hostname kvm1 on a node with hostname sit0001red0.
ruby api.rb <customer_code> POST api/v2/jobs/rvc '{"method":"kvm.reboot","params":{"hostname":"kvm1","force":false},"hostnames":["sit0001red0"]}'
Response
{
"id": 1598246,
"type": "RVC3",
"status": "pending",
"message": null,
"trigged_by": "test.user",
"parameters": {
"method": "kvm.reboot",
"params": {
"hostname": "kvm1",
"force": false
},
"hostnames": [
"sit0001red0"
]
},
"time_started": "2025-04-08T22:52:01Z"
}
Example 2: Reboot a KVM virtual machine on nodes in a specified node group.
This example starts a RVC job to reboot a KVM virtual machine with hostname kvm1 on the nodes in node group Test Node Group.
ruby api.rb <customer_code> POST api/v2/jobs/rvc '{"method":"kvm.reboot","params":{"hostname":"kvm1","force":false},"node_group_name":"Test Node Group"}'
Response
{
"id": 1598249,
"type": "RVC3",
"status": "pending",
"message": null,
"trigged_by": "test.user",
"parameters": {
"method": "kvm.reboot",
"params": {
"hostname": "kvm1",
"force": false
},
"node_group_name": "Test Node Group"
},
"time_started": "2025-04-08T22:53:46Z"
}
Example 3: Retrieving the payload from the RVC job.
This example retrieves the result of a RVC job ID which displays the payload of the kvm.reboot method.
ruby api.rb <customer_code> GET api/jobs/000\?include_payload=true
Response
{
"id": 1598246,
"type": "RVC3",
"status": "finished",
"message": null,
"payload": {
"sit0001red0": [
{
"result": "Rebooting kvm1...\nReboot successfully triggered.",
"timestamp": 1744152723
}
]
},
"trigged_by": "test.user",
"success_nodes_count": 1,
"failed_nodes_count": 0,
"total_nodes_count": 1,
"parameters": {
"method": "kvm.reboot",
"params": {
"hostname": "kvm1",
"force": false
},
"hostnames": [
"sit0001red0"
]
},
"time_started": "2025-04-08T22:52:01Z",
"time_finished": "2025-04-08T22:52:03Z"
}