Deployment Choice: Active IQ as Scheduler Weigher

Deployment Choice: Active IQ as Scheduler Weigher

The Manila Scheduler weighers are generic, it is designed to weigh based on the backend stats, being restricted to that set of information. For some NetApp environments, it could be more helpful to have a more specific tool that tracks the storages status (space, cpu usage and several others) and use statistics and artificial intelligence techniques for weighing the hosts in a more efficient manner.

To make a better weight evaluation, NetApp has its own software called Active IQ (AIQ). The AIQ connects to the NetApp storages collecting and processing the status of each device dynamically.

Starting from Bobcat Release, Manila has the option to use the Active IQ as one of Scheduler weighers. To enable it, the manila.conf should contain the NetAppAIQWeigher as part of the Manila configuration scheduler_default_weighers list.

[DEFAULT]
..
scheduler_default_weighers =  NetAppAIQWeigher
..

To configure the Active IQ weigher the netapp_active_iq stanza has to be added on the manila.conf. The following fields are available:

Option

Type

Default Value

Description

aiq_hostname

Required

The hostname (or IP address) for the Active IQ.

aiq_username

Required

Administrative user account name used to access the Active IQ.

aiq_password

Required

Password for the administrative user account specified in the aiq_username option.

aiq_port

Optional

The TCP port to use for communication with the Active IQ. If not specified, the weigher driver will use 80 for HTTP and 443 for HTTPS.

aiq_transport_type

Optional

https

The transport protocol used when communicating with the Active IQ. Valid values are http or https.

aiq_ssl_verify

Optional

False

Verifying the SSL certificate. Default is False.

aiq_ssl_cert_path

Optional

The path to a CA_BUNDLE file or directory with certificates of trusted CA. If set to a directory, it must have been processed using the c_rehash utility supplied with OpenSSL. If not informed, it will use the Mozilla’s carefully curated collection of Root Certificates for validating the trustworthiness of SSL certificates.

aiq_eval_method

Optional

0

Integer indicator of which evaluation method, defaults to 0 (0 - by index, 1 - normalized value, 2 - by literal value).

aiq_priority_order

Optional

[ops, latency, volume_count, size]

Permutation of the list [volume_count, size, latency, ops]. Note that for volume_count and latency, the higher the values, the less optimal the resources. For capacity and ops, the higher the value the more desirable the resources. If metrics are to be considered with equal weights, concatenate the strings, separated by “:”. An example is [volume_count, size, latency:ops] if latency and ops want to have equal but minimum weights, or [volume_count:size, latency, ops], if volume_count and size have equal maximum weights.

Table 6.20. Configuration options for Active IQ weigher.

An example of configuration would be:

[netapp_active_iq]
aiq_hostname = 10.10.10
aiq_username = my_active_iq_user
aiq_password = my_active_iq_password

Caution

Wrong configuration of the weigher does not affect the Scheduler service. The only effect is that the weigher is ignored or skipped. So, the OpenStack administrator should make sure that the Scheduler service is using the Active IQ Weigher correctly.

Important

If during the Active IQ weigher phase any of the available host is not from NetApp storage the weigher is totally skipped. In another words, it scores all hosts equally as “0”. If any of the API calls to Active IQ NetApp service fail, the weigher is skipped too.

The Manila operators have the option to request the Active IQ to weigh only pools of a given service objectives (performance and capacity). The performance service level is the Active IQ feature that makes it possible. Operators can inform it to the Active IQ Weigher using the share types through the NetApp extra-specs key netapp:performance_service_level_name.

Note

The NetApp pool field netapp_cluster_name is important to the Active IQ weigher, since it is passed to it to get the scores of that pool. So, make sure the driver is reporting correctly.