Power drivers reference
The following page catalogs the fields in the “create machine” dialogue for each supported power driver. Note that most of the multiple-choice fields have drop-down menus to assist with your choice. In the next section we introduce configuring power drivers using the UI. In “CLI parameter expressions,” you will find how to configure them using the CLI.
Form field |
Description |
Required |
Power password |
Password to access unit |
Optional |
Power address |
IP address of unit |
Required |
Form field |
Description |
Required |
IP for APC PDU |
IP address of unit |
Required |
APU PDU node outlet number (1-16) |
PDU node outlet number |
Required |
Power ON outlet delay (seconds) |
outlet power ON delay |
Optional, default=5 |
Form field |
Description |
Required |
Outlet ID |
outlet ID |
Required |
Power address |
IP address of unit |
Required |
Power user |
Username to login |
Optional |
Power password |
Password to access unit |
Optional |
Form field |
Description |
Required |
IP for HMC |
IP address of unit |
Required |
HMC username |
Username to login |
Optional |
HMC password |
Password to access unit |
Optional |
HMC Managed System server name |
HMC managed server name |
Required |
HMC logical partition |
HMC logical partition of unit |
Required |
Form field |
Description |
Required |
LXD address |
IP address of unit |
Required |
Instance name |
LXD container instance name |
Required |
LXD password |
Password to access unit |
Optional |
Some of the fields for this power type have fixed choices, indicated in the “Choices” column.
Form field |
Description |
Choices |
Required |
Power driver |
Power driver |
LAN [IPMI 1.5] |
Required |
|
|
LAN_2_0 [IPMI 2.0] |
|
Power boot type |
Boot type |
Automatic |
Required |
|
|
Legacy boot |
|
|
|
EFI boot |
|
IP address |
IP address of unit |
|
Required |
Power user |
Username to login |
|
Optional |
Power password |
Password to access unit |
|
Optional |
Power MAC |
MAC address of unit |
|
Optional |
K_g |
K_g BMC key |
|
Optional |
Cipher suite |
Cipher suite ID |
- 17 (17 - HMAC-SHA256::HMAC_SHA256_128::AES-CBC-128) |
Optional |
|
|
3 (3 - HMAC-SHA1::HMAC-SHA1-96::AES-CBC-128) |
|
|
|
(blank) (freeipmi-tools default) |
|
|
|
8 (8 - HMAC-MD5::HMAC-MD5-128::AES-CBC-128) |
|
|
|
12 (12 - HMAC-MD5::MD5-128::AES-CBC-128) |
|
Privilege level |
IPMI privilege level |
User |
Optional |
|
|
Operator |
|
|
|
Administrator |
|
Manual power configuration means exactly that – manually configured at the unit – hence there are no parameters to set in the “create machine” UI.
Form field |
Description |
Required |
Power address |
IP address of unit |
Required |
Power user |
Username to login |
Optional |
Power password |
Password to access unit |
Optional |
Power hardware address |
Hardware address of unit |
Required |
Form field |
Description |
Required |
IP for MSCM CLI API |
IP address of unit |
Required |
MSCM CLI API user |
Username to login |
Optional |
MSCM CLI API password |
Password to access unit |
Optional |
Node ID |
cXnY |
Required |
- where |
X = cartridge number |
|
|
Y = node number |
|
Form field |
Description |
Required |
Power address |
IP address of unit |
Required |
Power port |
Port where unit is attached |
Optional |
Power user |
Username to login |
Optional |
Power password |
Password to access unit |
Optional |
Blade ID |
Blade ID (usu. 1-24) |
Required |
Form field |
Description |
Required |
Host UUID |
Host UUID |
Required |
Tenant name |
Tenant name |
Required |
Username |
Username to login |
Required |
Password |
Password to access unit |
Required |
Auth URL |
URL to access unit |
Required |
Form field |
Description |
Required |
Power type |
Proxmox |
Required |
Host name or IP |
Power address for the Proxmox driver |
Required |
Username, including realm |
Power user, along with realm (i.e., Username@Realm |
Required |
Password |
Required if a token name and secret aren’t given |
Provisional |
API token name |
Token name: must include Username without realm (i.e., Username!Token-name |
Provisional |
API token secret |
Token secret |
Provisional |
Node ID |
VM name or ID |
Optional |
Verify SSL connections… |
Boolean, whether or not to verify SSL connections with the system’s root CA certificate |
Required |
Form field |
Description |
Required |
OpenBMC address |
IP address of unit |
Required |
OpenBMC user |
Username to login |
Required |
OpenBMC password |
Password to access unit |
Required |
Form field |
Description |
Required |
Node ID |
Node ID |
Required |
Power address |
IP address of unit |
Required |
Power port |
Port where unit is attached |
Optional |
Power user |
Username to login |
Optional |
Power password |
Password to access unit |
Optional |
Form field |
Description |
Required |
Redfish address |
IP address of unit |
Required |
Redfish user |
Username to login |
Required |
Redfish password |
Password to access unit |
Required |
Node ID |
Node ID |
Optional |
Some of the fields for this power type have fixed choices, indicated in the “Choices” column.
Form field |
Description |
Choices |
Required |
System ID |
System ID |
|
Required |
Power address |
IP address of unit |
|
Required |
Power user |
Username to login |
|
Optional |
Power password |
Password to access unit |
|
Optional |
Power control type |
Password to access unit |
IPMI |
Required |
|
|
REST API v0.9 |
|
|
|
REST API v2.0 |
|
Form field |
Description |
Required |
Server UUID |
Server UUID |
Required |
URL for XML API |
XML API URL |
Required |
API user |
API user |
Optional |
API password |
API password |
Optional |
Form field |
Description |
Required |
Address |
URL of VM |
Required |
Password |
API password |
Optional |
Virsh VM ID |
libvirt VM UUID |
Required |
Form field |
Description |
Required |
VM Name |
VM name (if UUID unknown) |
Optional |
VM UUID |
VM UUID (if known) |
Optional |
VMware IP |
IP address of VM |
Required |
VMware username |
Username to access VM |
Required |
VMware password |
Password to access VM |
Required |
VMware API port |
VMware API port number |
Optional |
VMware API protocol |
VMware API protocol |
Optional |
Form field |
Description |
Required |
IP address |
IP address of unit |
Required |
Power user |
Username to access unit |
Optional |
Power password |
Password to access unit |
Optional |
Consider a machine backed by VM. Below, a ‘Power type’ of Virsh
has been selected, and the ‘Power address’ of qemu+ssh://[email protected]/system
has been entered (replace values as appropriate). The value of ‘Power ID’ is the VM domain (guest) name, here node2
.

Pro tip: The machine’s hostname – according to MAAS – is a randomly chosen string (here dear.ant
). You should change this hostname to something descriptive, that helps you remember why this machine is in your MAAS network.
It’s important to understand that the Webhook power driver is more generic than other drivers, so it has some flexibility that the underlying power driver may not support. For example, Webhook doesn’t require a username or password for the power driver, because not all power drivers work that way. Nevertheless, the power driver you’re connecting to Webhook may actually require a username and/or password. Understanding and implementing these fields correctly for the chosen back-end power driver is the user’s responsibility.
To that end, the “Required” column for this driver refers only to whether Webhook requires a value in each field. Just because a field is optional for Webhook itself does not mean that the underlying power driver will ultimately allow that field to be unspecified.
Form field |
Description |
Required (by Webhook) |
Power type |
Webhook (from drop-down list) |
Required |
URI to power on the node |
URI to access power driver’s API for power on |
Required |
URI to power off the node |
URI to access power driver’s API for power off |
Required |
URI to query the nodes power status |
URI to access power driver’s API for power status |
Required |
Regex to confirm the node is on |
Regex expression that will return a string if the power is on, and no string if the power is off |
Required, defaults supplied |
Regex to confirm the node is off |
Regex expression that will return a string if the power is off, and no string if the power is on |
Required, defaults supplied |
Power user |
Username to log into the power driver |
Optional |
Power password |
Password to access unit |
Optional |
Power token |
Power driver API token (used instead of user and password, if set) |
Optional |
Verify SSL connections… |
Boolean, whether or not to verify SSL connections with the system’s root CA certificate |
Required |
All parameters are entered as key=value
, e.g., power_type=amt
. The MAAS CLI will refuse the request with informative errors if required parameters are excluded.
Parameter |
Description |
Required |
power_type |
amt |
Required |
power_address |
IP address of unit |
Required |
power_pass |
Password to access unit |
Optional |
All parameters are entered as key=value
, e.g., power_type=apc
. The MAAS CLI will refuse the request with informative errors if required parameters are excluded.
Parameter |
Description |
Required |
power_type |
apc |
Required |
power_address |
IP address of unit |
Required |
node_outlet |
PDU node outlet number |
Required |
power_on_delay |
outlet power ON delay |
Optional, default=5 |
All parameters are entered as key=value
, e.g., power_type=dli
. The MAAS CLI will refuse the request with informative errors if required parameters are excluded.
Parameter |
Description |
Required |
power_type |
dli |
Required |
outlet_id |
outlet ID |
Required |
power_address |
IP address of unit |
Required |
power_user |
Username to login |
Optional |
power_pass |
Password to access unit |
Optional |
All parameters are entered as key=value
, e.g., power_type=eaton
. The MAAS CLI will refuse the request with informative errors if required parameters are excluded.
Parameter |
Description |
Required |
power_type |
eaton |
Required |
power_address |
IP address of unit |
Required |
node_outlet |
PDU node outlet number |
Required |
power_on_delay |
outlet power ON delay |
Optional, default=5 |
All parameters are entered as key=value
, e.g., power_type=hmc
. The MAAS CLI will refuse the request with informative errors if required parameters are excluded.
Parameter |
Description |
Required |
power_type |
hmc |
Required |
power_address |
IP address of unit |
Required |
server_name |
HMC managed server name |
Required |
lpar |
HMC logical partition of unit |
Required |
power_user |
Username to login |
Optional |
power_pass |
Password to access unit |
Optional |
All parameters are entered as key=value
, e.g., power_type=lxd
. The MAAS CLI will refuse the request with informative errors if required parameters are excluded.
Parameter |
Description |
Required |
power_type |
lxd |
Required |
power_address |
IP address of unit |
Required |
instance_name |
LXD container instance name |
Required |
power_pass |
Password to access unit |
Optional |
All parameters are entered as key=value
, e.g., power_type=amt
. The MAAS CLI will refuse the request with informative errors if required parameters are excluded. Power driver specific parameters should be prefixed with power_parameters_{key}
.
Some of the fields for this power type have fixed choices, indicated in the “Choices” column.
Form field |
Description |
Choices |
Required |
power_driver |
Power driver |
LAN [IPMI 1.5] |
Required |
|
|
LAN_2_0 [IPMI 2.0] |
|
power_boot_type |
Boot type |
Automatic |
Required |
|
|
Legacy boot |
|
|
|
EFI boot |
|
power_address |
IP address of unit |
|
Required |
power_user |
Username to login |
|
Optional |
power_pass |
Password to access unit |
|
Optional |
mac_address |
MAC address of unit |
|
Optional |
k_g |
K_g BMC key |
|
Optional |
cipher_suite_id |
Cipher suite ID |
17 (17 - HMAC-SHA256::HMAC_SHA256_128::AES-CBC-128) |
Optional |
|
|
3 (3 - HMAC-SHA1::HMAC-SHA1-96::AES-CBC-128) |
|
|
|
(blank) (freeipmi-tools default) |
|
|
|
8 (8 - HMAC-MD5::HMAC-MD5-128::AES-CBC-128) |
|
|
|
12 (12 - HMAC-MD5::MD5-128::AES-CBC-128) |
|
privilege_level |
IPMI privilege level |
User |
Optional |
|
|
Operator |
|
|
|
Administrator |
|
Manual power configuration means exactly that – manually configured at the unit. The only MAAS CLI parameter is power_type=amt
.
All parameters are entered as key=value
, e.g., power_type=moonshot
. The MAAS CLI will refuse the request with informative errors if required parameters are excluded.
Parameter |
Description |
Required |
`power_type |
moonshot |
Required |
power_address |
IP address of unit |
Required |
power_hwaddress |
Hardware address of unit |
Required |
power_user |
Username to login |
Optional |
power_pass |
Password to access unit |
Optional |
All parameters are entered as key=value
, e.g., power_type=mscm
. The MAAS CLI will refuse the request with informative errors if required parameters are excluded.
Parameter |
Description |
Required |
`power_type |
mscm |
Required |
power_address |
IP address of unit |
Required |
node_id |
cXnY |
Required |
- where |
X = cartridge number |
|
|
Y = node number |
|
power_user |
Username to login |
Optional |
power_pass |
Password to access unit |
Optional |
All parameters are entered as key=value
, e.g., power_type=msftocs
. The MAAS CLI will refuse the request with informative errors if required parameters are excluded.
Parameter |
Description |
Required |
`power_type |
msftocs |
Required |
power_address |
IP address of unit |
Required |
blade_id |
Blade ID (usu. 1-24) |
Required |
power_port |
Port where unit is attached |
Optional |
power_user |
Username to login |
Optional |
power_pass |
Password to access unit |
Optional |
All parameters are entered as key=value
, e.g., power_type=nova
. The MAAS CLI will refuse the request with informative errors if required parameters are excluded.
Parameter |
Description |
Required |
`power_type |
nova |
Required |
nova_id |
Host UUID |
Required |
os_tenantname |
Tenant name |
Required |
os_username |
Username to login |
Required |
os_password |
Password to access unit |
Required |
os_authurl |
URL to access unit |
Required |
All parameters are entered as key=value
, e.g., power_type=openbmc
. The MAAS CLI will refuse the request with informative errors if required parameters are excluded.
Parameter |
Description |
Required |
power_type |
openbmc |
Required |
power_address |
IP address of unit |
Required |
power_user |
Username to login |
Required |
power_pass |
Password to access unit |
Required |
All parameters are entered as key=value
, e.g., power_type=recs_box
. The MAAS CLI will refuse the request with informative errors if required parameters are excluded.
Parameter |
Description |
Required |
`power_type |
recs_box |
Required |
node_id |
Node ID |
Required |
power_address |
IP address of unit |
Required |
power_port |
Port where unit is attached |
Optional |
power_user |
Username to login |
Optional |
power_pass |
Password to access unit |
Optional |
All parameters are entered as key=value
, e.g., power_type=redfish
. The MAAS CLI will refuse the request with informative errors if required parameters are excluded.
Parameter |
Description |
Required |
`power_type |
redfish |
Required |
power_address |
IP address of unit |
Required |
power_user |
Username to login |
Required |
power_pass |
Password to access unit |
Required |
node_id |
Node ID |
Optional |
All parameters are entered as key=value
, e.g., power_type=sm15k
. The MAAS CLI will refuse the request with informative errors if required parameters are excluded.
Some of the fields for this power type have fixed choices, indicated in the “Choices” column.
Parameter |
Description |
Choices |
Required |
power_type |
sm15k |
|
Required |
system_id |
System ID |
|
Required |
power_address |
IP address of unit |
|
Required |
power_control |
Password to access unit |
ipmi |
Required |
|
|
restapi |
|
|
|
restapi2 |
|
power_user |
Username to login |
|
Optional |
power_pass |
Password to access unit |
|
Optional |
All parameters are entered as key=value
, e.g., power_type=ucsm
. The MAAS CLI will refuse the request with informative errors if required parameters are excluded.
Parameter |
Description |
Required |
power_type |
ucsm |
Required |
uuid |
Server UUID |
Required |
power_address |
URL for XML API |
Required |
power_user |
API user |
Optional |
power_pass |
API password |
Optional |
All parameters are entered as key=value
, e.g., power_type=virsh
. The MAAS CLI will refuse the request with informative errors if required parameters are excluded.
Parameter |
Description |
Required |
power_type |
virsh |
Required |
power_id |
libvirt VM UUID |
Required |
power_address |
URL of VM |
Required |
power_pass |
API password |
Optional |
All parameters are entered as key=value
, e.g., power_type=vmware
. The MAAS CLI will refuse the request with informative errors if required parameters are excluded.
Parameter |
Description |
Required |
power_type |
vmware |
Required |
power_vm_name |
VM name (if UUID unknown) |
Optional |
power_uuid |
VM UUID (if known) |
Optional |
power_address |
IP address of VM |
Required |
power_user |
Username to access VM |
Required |
power_pass |
Password to access VM |
Required |
power_port |
VMware API port number |
Optional |
power_protocol |
VMware API protocol |
Optional |
All parameters are entered as key=value
, e.g., power_type=amt
. The MAAS CLI will refuse the request with informative errors if required parameters are excluded.
Parameter |
Description |
Required |
power_type |
wedge |
Required |
power_address |
IP address of unit |
Required |
power_user |
Username to access unit |
Optional |
power_pass |
Password to access unit |
Optional |
Consider a machine backed by a KVM, accessed via virsh
. You can create a corresponding MAAS machine and set its power parameters with a command like this one:
maas admin machines create \
architecture=amd64 \
mac_addresses=52:54:00:15:36:f2 \
power_type=virsh \
power_parameters_power_id=f677a842-571c-4e65-adc9-11e2cf92d363 \
power_parameters_power_address=qemu+ssh://[email protected]/system \
power_parameters_power_pass=xxxxxxxx
If successful, this will return:
Success.
Machine-readable output follows this announcement. The JSON generated by this command is shown in the detail block.
MAAS command JSON response
```
{
"storage": 0.0,
"tag_names": [],
"special_filesystems": [],
"memory": 0,
"boot_disk": null,
"virtualblockdevice_set": [],
"hardware_info": {
"system_vendor": "Unknown",
"system_product": "Unknown",
"system_family": "Unknown",
"system_version": "Unknown",
"system_sku": "Unknown",
"system_serial": "Unknown",
"cpu_model": "Unknown",
"mainboard_vendor": "Unknown",
"mainboard_product": "Unknown",
"mainboard_serial": "Unknown",
"mainboard_version": "Unknown",
"mainboard_firmware_vendor": "Unknown",
"mainboard_firmware_date": "Unknown",
"mainboard_firmware_version": "Unknown",
"chassis_vendor": "Unknown",
"chassis_type": "Unknown",
"chassis_serial": "Unknown",
"chassis_version": "Unknown"
},
"address_ttl": null,
"memory_test_status": -1,
"other_test_status_name": "Unknown",
"osystem": ",
"status_message": "Commissioning",
"netboot": true,
"physicalblockdevice_set": [],
"node_type": 0,
"cpu_test_status": -1,
"memory_test_status_name": "Unknown",
"bcaches": [],
"storage_test_status": 0,
"system_id": "bhxws3",
"status": 1,
"commissioning_status": 0,
"power_type": "virsh",
"locked": false,
"numanode_set": [
{
"index": 0,
"memory": 0,
"cores": []
}
],
"bios_boot_method": null,
"fqdn": "ace-swan.maas",
"node_type_name": "Machine",
"hostname": "ace-swan",
"volume_groups": [],
"testing_status": 0,
"network_test_status": -1,
"other_test_status": -1,
"interface_test_status": -1,
"hwe_kernel": null,
"blockdevice_set": [],
"testing_status_name": "Pending",
"power_state": "unknown",
"min_hwe_kernel": ",
"owner": "admin",
"distro_series": ",
"storage_test_status_name": "Pending",
"cpu_speed": 0,
"swap_size": null,
"cpu_test_status_name": "Unknown",
"hardware_uuid": null,
"architecture": "amd64/generic",
"pool": {
"name": "default",
"description": "Default pool",
"id": 0,
"resource_uri": "/MAAS/api/2.0/resourcepool/0/"
},
"cache_sets": [],
"pod": null,
"iscsiblockdevice_set": [],
"disable_ipv4": false,
"status_action": ",
"boot_interface": {
"name": "eth0",
"id": 10,
"product": null,
"system_id": "bhxws3",
"effective_mtu": 1500,
"children": [],
"link_connected": true,
"enabled": true,
"interface_speed": 0,
"numa_node": 0,
"firmware_version": null,
"parents": [],
"discovered": null,
"params": ",
"links": [],
"sriov_max_vf": 0,
"tags": [],
"type": "physical",
"vlan": null,
"vendor": null,
"link_speed": 0,
"mac_address": "52:54:00:15:36:f2",
"resource_uri": "/MAAS/api/2.0/nodes/bhxws3/interfaces/10/"
},
"cpu_count": 0,
"domain": {
"authoritative": true,
"ttl": null,
"resource_record_count": 0,
"name": "maas",
"is_default": true,
"id": 0,
"resource_uri": "/MAAS/api/2.0/domains/0/"
},
"current_testing_result_id": 7,
"default_gateways": {
"ipv4": {
"gateway_ip": null,
"link_id": null
},
"ipv6": {
"gateway_ip": null,
"link_id": null
}
},
"interface_set": [
{
"name": "eth0",
"id": 10,
"product": null,
"system_id": "bhxws3",
"effective_mtu": 1500,
"children": [],
"link_connected": true,
"enabled": true,
"interface_speed": 0,
"numa_node": 0,
"firmware_version": null,
"parents": [],
"discovered": null,
"params": ",
"links": [],
"sriov_max_vf": 0,
"tags": [],
"type": "physical",
"vlan": null,
"vendor": null,
"link_speed": 0,
"mac_address": "52:54:00:15:36:f2",
"resource_uri": "/MAAS/api/2.0/nodes/bhxws3/interfaces/10/"
}
],
"status_name": "Commissioning",
"commissioning_status_name": "Pending",
"owner_data": {},
"ip_addresses": [],
"raids": [],
"network_test_status_name": "Unknown",
"description": ",
"current_commissioning_result_id": 6,
"interface_test_status_name": "Unknown",
"current_installation_result_id": null,
"zone": {
"name": "default",
"description": ",
"id": 1,
"resource_uri": "/MAAS/api/2.0/zones/default/"
},
"resource_uri": "/MAAS/api/2.0/machines/bhxws3/"
}
```
Power Driver (X=supported) |
PXE Next Boot |
Power Querying |
Chassis/Pod Configuration |
Enhanced UI Error Reporting |
BMC Enlistment |
American Power Conversion (APC) - PDU |
|
|
|
|
|
Cisco UCS Manager |
X |
X |
X |
|
|
Digital Loggers, Inc. - PDU |
|
|
|
|
|
Facebook's Wedge * |
|
|
|
|
|
HP Moonshot - iLO Chassis Manager |
X |
X |
X |
|
|
HP Moonshot - iLO4 (IPMI) |
X |
X |
|
|
X |
IBM Hardware Management Console (HMC) |
X |
X |
|
|
|
IPMI |
X |
X |
|
X |
X |
Intel AMT |
X |
X |
|
X |
|
Manual |
|
|
|
|
|
Microsoft OCS - Chassis Manager |
X |
X |
X |
|
|
OpenStack Nova |
|
X |
|
|
|
Rack Scale Design |
X |
X |
X |
|
|
Redfish |
X |
X |
|
|
X |
SeaMicro 15000 |
X |
X |
X |
|
|
Sentry Switch CDU - PDU |
|
|
|
|
|
VMWare |
X |
X |
X |
|
|
Virsh (virtual systems) |
X |
X |
X |
|
|
*
The ‘Facebook’s Wedge’ OpenBMC power driver is considered experimental at this time.