Skip to main content

Your submission was sent successfully! Close

Thank you for signing up for our newsletter!
In these regular emails you will find the latest updates from Canonical and upcoming events where you can meet our team.Close

Thank you for contacting us. A member of our team will be in touch shortly. Close

Resource Optimization

This feature deploys Watcher, the OpenStack resource optimization service.

Enabling Resource Optimization

To enable Resource Optimization, run the following command:

sunbeam enable resource-optimization

Disabling Resource Optimization

To disable Resource Optimization, run the following command:

sunbeam disable resource-optimization

Usage

List Goals

List goals using the following command:

openstack optimize goal list

Sample output:

+--------------------------------------+----------------------+----------------------+
| UUID                                 | Name                 | Display name         |
+--------------------------------------+----------------------+----------------------+
| 11ee813f-2ac3-4975-9529-706ba7025057 | airflow_optimization | Airflow Optimization |
| 38817441-5df3-4f9d-8fd7-58a966f2e921 | cluster_maintaining  | Cluster Maintaining  |
| 98504695-4052-43ec-a0a2-8cc945278fae | dummy                | Dummy goal           |
| 2413258c-bfba-4adb-aeda-b2ef611084a7 | hardware_maintenance | Hardware Maintenance |
| b92f38e9-7df7-4787-a7fd-29e5783e56f3 | noisy_neighbor       | Noisy Neighbor       |
| 48348b46-cca2-4669-be0c-336cea0e9396 | saving_energy        | Saving Energy        |
| f20ce098-df72-43ec-941e-ae72ad2ee0c6 | server_consolidation | Server Consolidation |
| 4c7b7c77-acc9-44f5-a082-dd728bdb9f0d | thermal_optimization | Thermal Optimization |
| 3c85d238-541d-479e-96e9-4038787c2fcf | unclassified         | Unclassified         |
| 7c1f150e-39b4-44e4-a352-ed947b71a9ae | workload_balancing   | Workload Balancing   |
+--------------------------------------+----------------------+----------------------+

List strategies in a goal

List the strategies for a goal using the following command:

openstack optimize strategy list --goal GOAL

For example, list the strategies for goal ‘cluster_maintaining’:

openstack optimize strategy list --goal cluster_maintaining

Sample output:

+--------------------------------------+------------------+---------------------------+---------------------+
| UUID                                 | Name             | Display name              | Goal                |
+--------------------------------------+------------------+---------------------------+---------------------+
| 48351169-670f-4354-bac8-8d18061d1291 | host_maintenance | Host Maintenance Strategy | cluster_maintaining |
+--------------------------------------+------------------+---------------------------+---------------------+

Create an Audit template

Create an Audit template using the following command:

openstack optimize audittemplate create NAME GOAL --strategy STRATEGY

For example, create an audit template ‘host-maintenance-template’ for goal ‘cluster_maintaining’ and strategy ‘host_maintenance’:

openstack optimize audittemplate create host-maintenance-template cluster_maintaining --strategy host_maintenance

Sample output:

+-------------+--------------------------------------+
| Field       | Value                                |
+-------------+--------------------------------------+
| UUID        | bb7caee4-f555-4d4f-89f4-7db627ce44cc |
| Created At  | 2024-09-13T03:38:52.858848+00:00     |
| Updated At  | None                                 |
| Deleted At  | None                                 |
| Description | None                                 |
| Name        | host-maintenance-template            |
| Goal        | cluster_maintaining                  |
| Strategy    | host_maintenance                     |
| Audit Scope | []                                   |
+-------------+--------------------------------------+

Create an Audit

Create an Audit using the following command:

openstack optimize audit create -a AUDIT_TEMPLATE_NAME -p key=value

For example, create an audit with template ‘host-maintenance-template’ and passing strategy parameters maintenance_node

openstack optimize audit create -a host-maintenance-template -p maintenance_node=solqa-lab1-server-45.nosilo.lab1.solutionsqa

Sample output:

+---------------+-------------------------------------------------------------------------------------------------------------------------------------+
| Field         | Value                                                                                                                               |
+---------------+-------------------------------------------------------------------------------------------------------------------------------------+
| UUID          | 2a4355b2-3e03-4a0f-80bf-92476e17b7da                                                                                                |
| Name          | host_maintenance-2024-09-13T03:40:53.948011                                                                                         |
| Created At    | 2024-09-13T03:40:53.992685+00:00                                                                                                    |
| Updated At    | None                                                                                                                                |
| Deleted At    | None                                                                                                                                |
| State         | PENDING                                                                                                                             |
| Audit Type    | ONESHOT                                                                                                                             |
| Parameters    | {'maintenance_node': 'solqa-lab1-server-45.nosilo.lab1.solutionsqa'}                                                                |
| Interval      | None                                                                                                                                |
| Goal          | cluster_maintaining                                                                                                                 |
| Strategy      | host_maintenance                                                                                                                    |
| Audit Scope   | []                                                                                                                                  |
| Auto Trigger  | False                                                                                                                               |
| Next Run Time | None                                                                                                                                |
| Hostname      | None                                                                                                                                |
| Start Time    | None                                                                                                                                |
| End Time      | None                                                                                                                                |
| Force         | False                                                                                                                               |
+---------------+-------------------------------------------------------------------------------------------------------------------------------------+

Show the Audit details

Show the Audit details using the following command:

openstack optimize audit show AUDIT_ID

Sample output:

+---------------+-------------------------------------------------------------------------------------------------------------------------------------+
| Field         | Value                                                                                                                               |
+---------------+-------------------------------------------------------------------------------------------------------------------------------------+
| UUID          | 2a4355b2-3e03-4a0f-80bf-92476e17b7da                                                                                                |
| Name          | host_maintenance-2024-09-13T03:40:53.948011                                                                                         |
| Created At    | 2024-09-13T03:40:54+00:00                                                                                                           |
| Updated At    | 2024-09-13T03:41:07+00:00                                                                                                           |
| Deleted At    | None                                                                                                                                |
| State         | SUCCEEDED                                                                                                                           |
| Audit Type    | ONESHOT                                                                                                                             |
| Parameters    | {'maintenance_node': 'solqa-lab1-server-45.nosilo.lab1.solutionsqa'}                                                                |
| Interval      | None                                                                                                                                |
| Goal          | cluster_maintaining                                                                                                                 |
| Strategy      | host_maintenance                                                                                                                    |
| Audit Scope   | []                                                                                                                                  |
| Auto Trigger  | False                                                                                                                               |
| Next Run Time | None                                                                                                                                |
| Hostname      | watcher-0                                                                                                                           |
| Start Time    | None                                                                                                                                |
| End Time      | None                                                                                                                                |
| Force         | False                                                                                                                               |
+---------------+-------------------------------------------------------------------------------------------------------------------------------------+

List Action plan for an Audit

To list the Action plan for an Audit, run the following command:

openstack optimize actionplan list --audit AUDIT_ID

Sample output:

+--------------------------------------+--------------------------------------+-------------+------------+-----------------+
| UUID                                 | Audit                                | State       | Updated At | Global efficacy |
+--------------------------------------+--------------------------------------+-------------+------------+-----------------+
| 16e76af5-edbd-48b0-a443-946d921ca514 | 2a4355b2-3e03-4a0f-80bf-92476e17b7da | RECOMMENDED | None       |                 |
+--------------------------------------+--------------------------------------+-------------+------------+-----------------+

List actions

To list the actions in Action plan, run the following command:

openstack optimize action list --action-plan ACTION_PLAN_ID

Sample output:

+---------------------------+
| UUID                                 | Parents                                                                          | State   | Action Plan                          | Action                    |
+--------------------------------------+----------------------------------------------------------------------------------+---------+--------------------------------------+---------------------------+
| d7f52ae0-37b5-456e-a9ac-a465bcce8aed | []                                                                               | PENDING | 16e76af5-edbd-48b0-a443-946d921ca514 | change_nova_service_state |
| 3f40421c-3f8d-4048-8b29-2c39bce9c16a | ['d7f52ae0-37b5-456e-a9ac-a465bcce8aed']                                         | PENDING | 16e76af5-edbd-48b0-a443-946d921ca514 | migrate                   |
| 617bcd97-e90b-4ba7-868c-548a96cd8408 | ['d7f52ae0-37b5-456e-a9ac-a465bcce8aed']                                         | PENDING | 16e76af5-edbd-48b0-a443-946d921ca514 | migrate                   |
| a5093f31-a9fd-41ef-a715-23761d282410 | ['3f40421c-3f8d-4048-8b29-2c39bce9c16a', '617bcd97-e90b-4ba7-868c-548a96cd8408'] | PENDING | 16e76af5-edbd-48b0-a443-946d921ca514 | migrate                   |
+--------------------------------------+----------------------------------------------------------------------------------+---------+--------------------------------------+---------------------------+

To list the detailed actions, run the following command:

openstack optimize action list --action-plan ACTION_PLAN_ID --detail

Start the Action plan

To start the action, run the following command:

openstack optimize actionplan start ACTION_PLAN_ID 

Sample output:

+---------------------+--------------------------------------+
| Field               | Value                                |
+---------------------+--------------------------------------+
| UUID                | 16e76af5-edbd-48b0-a443-946d921ca514 |
| Created At          | 2024-09-13T03:41:06+00:00            |
| Updated At          | 2024-09-13T03:45:32+00:00            |
| Deleted At          | None                                 |
| Audit               | 2a4355b2-3e03-4a0f-80bf-92476e17b7da |
| Strategy            | host_maintenance                     |
| State               | PENDING                              |
| Efficacy indicators | []                                   |
| Global efficacy     | []                                   |
| Hostname            | None                                 |
+---------------------+--------------------------------------+

Show status of Action plan

To show the status of Action plan, run the following command:

openstack optimize actionplan show ACTION_PLAN_ID

The state will be changed to SUCCEEDED once the actions complete.

Sample output:

+---------------------+--------------------------------------+
| Field               | Value                                |
+---------------------+--------------------------------------+
| UUID                | 16e76af5-edbd-48b0-a443-946d921ca514 |
| Created At          | 2024-09-13T03:41:06+00:00            |
| Updated At          | 2024-09-13T03:45:44+00:00            |
| Deleted At          | None                                 |
| Audit               | 2a4355b2-3e03-4a0f-80bf-92476e17b7da |
| Strategy            | host_maintenance                     |
| State               | SUCCEEDED                            |
| Efficacy indicators | []                                   |
|                     |                                      |
| Global efficacy     |                                      |
| Hostname            | watcher-0                            |
+---------------------+--------------------------------------+

Limitations

  • Following goals are not supported:

    • airflow_optimization
    • thermal_optimization
    • noisy_neighbor
  • Strategies vm_workload_consolidation and workload_stabilization do not consider host memory usage in decision making as the metric hardware.memory.used is not currently collected.

Last updated 2 months ago. Help improve this document in the forum.