Saving Energy Strategy

Saving Energy Strategy

Synopsis

display name: Saving Energy Strategy

goal: saving_energy

x.__init__(…) initializes x; see help(type(x)) for signature

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:

Nova cluster data model collector

The Nova cluster data model collector creates an in-memory representation of the resources exposed by the compute service.

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

Energy saving strategy efficacy indicator is unclassified. https://github.com/openstack/watcher/blob/master/watcher/decision_engine/goal/goals.py#L215-L218

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
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.