display name: Saving Energy Strategy
goal: saving_energy
x.__init__(…) initializes x; see help(type(x)) for signature
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
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.
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.
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.
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 |
Energy saving strategy efficacy indicator is unclassified. https://github.com/openstack/watcher/blob/master/watcher/decision_engine/goal/goals.py#L215-L218
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
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
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.