Power drivers

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.

UI parameter expressions

Intel AMT

Form field

Description

Required

Power password

Password to access unit

Optional

Power address

IP address of unit

Required

American Power Conversion (APC) PDU

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

Digital Loggers, Inc. PDU

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

IBM Hardware Management Console (HMC)

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

LXD VMs

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

IPMI

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

Manual power configuration means exactly that – manually configured at the unit – hence there are no parameters to set in the “create machine” UI.

HP Moonshot - iLO4 (IPMI)

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

HP Moonshot - iLO Chassis Manager

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

Microsoft OCS - Chassis Manager

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

OpenStack Nova

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

Proxmox

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

OpenBMC Power Driver

Form field

Description

Required

OpenBMC address

IP address of unit

Required

OpenBMC user

Username to login

Required

OpenBMC password

Password to access unit

Required

Christmann RECS-Box Power Driver

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

Redfish

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

SeaMicro 15000

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

Cisco UCS Manager

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

virsh - libvirt KVM

Form field

Description

Required

Address

URL of VM

Required

Password

API password

Optional

Virsh VM ID

libvirt VM UUID

Required

VMware

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

Facebook’s Wedge

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

Virsh power type (UI)

Consider a machine backed by VM. Below, a ‘Power type’ of Virsh has been selected, and the ‘Power address’ of qemu+ssh://ubuntu@192.168.1.2/system has been entered (replace values as appropriate). The value of ‘Power ID’ is the VM domain (guest) name, here node2.

Power configuration using 'Power type' of Virsh

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.

Webhook

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

CLI parameter expressions

Intel AMT

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

American Power Conversion (APC) PDU

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

Digital Loggers, Inc. PDU

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

Eaton PDU

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

IBM Hardware Management Console (HMC)

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

LXD VMs

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

IPMI

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

Manual power configuration means exactly that – manually configured at the unit. The only MAAS CLI parameter is power_type=amt.

HP Moonshot - iLO4 (IPMI)

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

HP Moonshot - iLO Chassis Manager

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

Microsoft OCS - Chassis Manager

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

OpenStack Nova

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

OpenBMC Power Driver

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

Christmann RECS-Box Power Driver

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

Redfish

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

SeaMicro 15000

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

Cisco UCS Manager

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

virsh - libvirt KVM

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

VMware

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

Facebook’s Wedge

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

Virsh power type (CLI)

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://stormrider@192.168.123.1/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/" } ```

BMC drivers

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.