3PAR: CPG performance data inaccessible in filter/goodness function

Bug #1482741 reported by Joseph Vokt
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Cinder
Fix Released
Undecided
Joseph Vokt

Bug Description

Currently there's no way to use 3PAR CPG performance data in the filter/goodness function used by the evaluator/scheduler for volume placement among multiple 3PAR backends.

Revision history for this message
Joseph Vokt (jpvokt) wrote :
Changed in cinder:
assignee: nobody → Joseph Vokt (jpvokt)
description: updated
description: updated
Joseph Vokt (jpvokt)
Changed in cinder:
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to cinder (master)

Reviewed: https://review.openstack.org/200737
Committed: https://git.openstack.org/cgit/openstack/cinder/commit/?id=a3f232e9a2dc03f0f7411447433e82e5f694fe64
Submitter: Jenkins
Branch: master

commit a3f232e9a2dc03f0f7411447433e82e5f694fe64
Author: Joseph Vokt <email address hidden>
Date: Fri Jul 10 13:10:40 2015 -0700

    3PAR: Adding performance metrics to volume status

    If one storage backend has high load while another has lower load,
    when a user/admin creates a volume, the current evaluator/scheduler
    may place the volume on the backend with higher load. In many cases,
    the evaluator/scheduler should place that volume on the backend
    with the lowest load for load balancing purposes. In general, for load
    balancing virtual volume placement, an evaluator/scheduler needs
    access to performance metrics (e.g. IOPS throughput, bandwidth,
    latency, IO size) to measure load, but Cinder drivers don't generally
    report those metrics.

    Although these performance metrics are available from the 3PAR CLI,
    they are currently inaccesible in the evaluator/scheduler. The
    proposed changes add these metrics to the volume status report and
    thus make them accesible by the evaluator/scheduler.

    In cinder/volume/drivers/san/hp/hp_3par_common.py, uses the 3PAR
    client method HP3parClient.getCPGStatData to get performance metrics,
    and adds new fields in the output of HP3PARCommon.get_volume_stats
    corresponding to the performance metrics: IOPS throughput, bandwidth,
    latency, io_size, queue_length, and avg_busy_perc. These metrics are
    taken by averaging samples taken once per day for the last week.

    In cinder/tests/unit/test_hp3par.py, adds unit tests in
    TestHP3PARFCDriver.test_get_volume_stats and in
    TestHP3PARISCSIDriver.test_get_volume_stats.

    Closes-bug: #1482741

    Change-Id: If9e7b5ffd100489af6537f7dab970d89a6d70851

Changed in cinder:
status: In Progress → Fix Committed
Thierry Carrez (ttx)
Changed in cinder:
milestone: none → liberty-3
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in cinder:
milestone: liberty-3 → 7.0.0
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.