Saving Energy Strategy

Synopsis

display name: Saving Energy Strategy

goal: saving_energy

Requirements

This feature will use Ironic to do the power on/off actions, therefore this feature requires that the ironic component is configured. And the compute node should be managed by Ironic.

Ironic installation: https://docs.openstack.org/ironic/latest/install/index.html

Cluster data model

Default Watcher’s Compute cluster data model:

Actions

action

description

change_node_power_state

Compute node power on/off

By using this action, you will be able to on/off the power of a compute node.

The action schema is:

schema = Schema({
 'resource_id': str,
 'state': str,
})

The resource_id references a ironic node id (list of available ironic node is returned by this command: ironic node-list). The state value should either be on or off.

Planner

Default Watcher’s planner:

Weight planner implementation

This implementation builds actions with parents in accordance with weights. Set of actions having a higher weight will be scheduled before the other ones. There are two config options to configure: action_weights and parallelization.

Limitations

  • This planner requires to have action_weights and parallelization configs tuned well.

Configuration

Strategy parameter is:

parameter

type

default Value

description

free_used_percent

Number

10.0

a rational number, which describes the the quotient of min_free_hosts_num/nodes_with_VMs_num

min_free_hosts_num

Int

1

an int number describes minimum free compute nodes

Efficacy Indicator

None

Algorithm

For more information on the Energy Saving Strategy please refer to: http://specs.openstack.org/openstack/watcher-specs/specs/pike/implemented/energy-saving-strategy.html

How to use it ?

step1: Add compute nodes info into ironic node management

$ ironic node-create  -d pxe_ipmitool -i ipmi_address=10.43.200.184 \
  ipmi_username=root  -i ipmi_password=nomoresecret -e compute_node_id=3

step 2: Create audit to do optimization

$ openstack optimize audittemplate create \
  at1 saving_energy --strategy saving_energy

$ openstack optimize audit create -a at1 \
  -p free_used_percent=20.0