unable to configure goodness_function

Bug #2073537 reported by Rodrigo Barbieri
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Charm Guide
In Progress
Undecided
Unassigned
OpenStack Manila NetApp Charm
Fix Committed
Medium
Unassigned

Bug Description

Manila allows configuring the backend option goodness_function per backend stanza for optimizing backend balance. This option is not available in the charm.

In case of NetApp, this is needed due to a problem in the driver when using SVM scoped accounts. It does not have enough permissions to obtain the total_capacity_gb information, so it cannot calculate utilization, and therefore the goodness_function always returns 50 and end up scheduling shares always to the same pool.

The goodness_function is necessary to overcome bug [1] where the driver is not reporting the utilization correctly due to the usage of SVM-scoped account, and therefore scheduling of shares is inefficient, requiring the use of a goodness_function to create a rule such as below based on free_capacity_gb to restore good enough scheduling while [1] is not fixed.

goodness_function = "(capabilities.free_capacity_gb / 1000)"

[1] https://bugs.launchpad.net/manila/+bug/2073599

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to charm-manila-netapp (master)
Changed in charm-manila-netapp:
status: New → In Progress
description: updated
Changed in charm-manila-netapp:
importance: Undecided → Medium
description: updated
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to charm-manila-netapp (master)

Reviewed: https://review.opendev.org/c/openstack/charm-manila-netapp/+/924438
Committed: https://opendev.org/openstack/charm-manila-netapp/commit/94a4d30901bf9edac08cdcb7363dcb42680e8c80
Submitter: "Zuul (22348)"
Branch: master

commit 94a4d30901bf9edac08cdcb7363dcb42680e8c80
Author: Rodrigo Barbieri <email address hidden>
Date: Thu Jul 18 17:09:24 2024 -0300

    Add goodness-function config

    This allows specifying functions that further optimize the scheduling
    of shares across backend stanzas.

    This is needed due to a netapp-driver specific problem when using
    SVM scoped accounts. It does not have enough permissions to obtain
    the total_capacity_gb information, so it cannot calculate utilization,
    and therefore the goodness_function always returns 50 and end up
    scheduling shares always to the same pool.

    Closes-bug: #2073537
    Change-Id: Ia151c50421e75282f633e0b004c2e6c1bda638f3

Changed in charm-manila-netapp:
status: In Progress → Fix Committed
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to charm-manila-netapp (stable/2024.1)

Fix proposed to branch: stable/2024.1
Review: https://review.opendev.org/c/openstack/charm-manila-netapp/+/925797

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to charm-manila-netapp (stable/2024.1)

Reviewed: https://review.opendev.org/c/openstack/charm-manila-netapp/+/925797
Committed: https://opendev.org/openstack/charm-manila-netapp/commit/5b8c04db1da67cdb22f137968d617bc29b9b9f53
Submitter: "Zuul (22348)"
Branch: stable/2024.1

commit 5b8c04db1da67cdb22f137968d617bc29b9b9f53
Author: Rodrigo Barbieri <email address hidden>
Date: Thu Jul 18 17:09:24 2024 -0300

    Add goodness-function config

    This allows specifying functions that further optimize the scheduling
    of shares across backend stanzas.

    This is needed due to a netapp-driver specific problem when using
    SVM scoped accounts. It does not have enough permissions to obtain
    the total_capacity_gb information, so it cannot calculate utilization,
    and therefore the goodness_function always returns 50 and end up
    scheduling shares always to the same pool.

    Closes-bug: #2073537
    Change-Id: Ia151c50421e75282f633e0b004c2e6c1bda638f3
    (cherry picked from commit 94a4d30901bf9edac08cdcb7363dcb42680e8c80)

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to charm-manila-netapp (stable/2023.2)

Fix proposed to branch: stable/2023.2
Review: https://review.opendev.org/c/openstack/charm-manila-netapp/+/925978

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to charm-manila-netapp (stable/2023.2)

Reviewed: https://review.opendev.org/c/openstack/charm-manila-netapp/+/925978
Committed: https://opendev.org/openstack/charm-manila-netapp/commit/b550021fe2372bcbb6482d9851e7d8aa9e6017d8
Submitter: "Zuul (22348)"
Branch: stable/2023.2

commit b550021fe2372bcbb6482d9851e7d8aa9e6017d8
Author: Rodrigo Barbieri <email address hidden>
Date: Thu Jul 18 17:09:24 2024 -0300

    Add goodness-function config

    This allows specifying functions that further optimize the scheduling
    of shares across backend stanzas.

    This is needed due to a netapp-driver specific problem when using
    SVM scoped accounts. It does not have enough permissions to obtain
    the total_capacity_gb information, so it cannot calculate utilization,
    and therefore the goodness_function always returns 50 and end up
    scheduling shares always to the same pool.

    Closes-bug: #2073537
    Change-Id: Ia151c50421e75282f633e0b004c2e6c1bda638f3
    (cherry picked from commit 94a4d30901bf9edac08cdcb7363dcb42680e8c80)
    (cherry picked from commit 5b8c04db1da67cdb22f137968d617bc29b9b9f53)

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to charm-manila-netapp (stable/2023.1)

Fix proposed to branch: stable/2023.1
Review: https://review.opendev.org/c/openstack/charm-manila-netapp/+/925995

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to charm-manila-netapp (stable/2023.1)

Reviewed: https://review.opendev.org/c/openstack/charm-manila-netapp/+/925995
Committed: https://opendev.org/openstack/charm-manila-netapp/commit/f500f4e03b189df42974f115018a7701d136d3e1
Submitter: "Zuul (22348)"
Branch: stable/2023.1

commit f500f4e03b189df42974f115018a7701d136d3e1
Author: Rodrigo Barbieri <email address hidden>
Date: Thu Jul 18 17:09:24 2024 -0300

    Add goodness-function config

    This allows specifying functions that further optimize the scheduling
    of shares across backend stanzas.

    This is needed due to a netapp-driver specific problem when using
    SVM scoped accounts. It does not have enough permissions to obtain
    the total_capacity_gb information, so it cannot calculate utilization,
    and therefore the goodness_function always returns 50 and end up
    scheduling shares always to the same pool.

    Closes-bug: #2073537
    Change-Id: Ia151c50421e75282f633e0b004c2e6c1bda638f3
    (cherry picked from commit 94a4d30901bf9edac08cdcb7363dcb42680e8c80)
    (cherry picked from commit 5b8c04db1da67cdb22f137968d617bc29b9b9f53)
    (cherry picked from commit b550021fe2372bcbb6482d9851e7d8aa9e6017d8)

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to charm-manila-netapp (stable/zed)
Changed in charm-guide:
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to charm-manila-netapp (stable/zed)

Reviewed: https://review.opendev.org/c/openstack/charm-manila-netapp/+/926125
Committed: https://opendev.org/openstack/charm-manila-netapp/commit/9e0ffda8820e97d55710dd6cfe823f8e5986bf3f
Submitter: "Zuul (22348)"
Branch: stable/zed

commit 9e0ffda8820e97d55710dd6cfe823f8e5986bf3f
Author: Rodrigo Barbieri <email address hidden>
Date: Thu Jul 18 17:09:24 2024 -0300

    Add goodness-function config

    This allows specifying functions that further optimize the scheduling
    of shares across backend stanzas.

    This is needed due to a netapp-driver specific problem when using
    SVM scoped accounts. It does not have enough permissions to obtain
    the total_capacity_gb information, so it cannot calculate utilization,
    and therefore the goodness_function always returns 50 and end up
    scheduling shares always to the same pool.

    Closes-bug: #2073537
    Change-Id: Ia151c50421e75282f633e0b004c2e6c1bda638f3
    (cherry picked from commit 94a4d30901bf9edac08cdcb7363dcb42680e8c80)
    (cherry picked from commit 5b8c04db1da67cdb22f137968d617bc29b9b9f53)
    (cherry picked from commit b550021fe2372bcbb6482d9851e7d8aa9e6017d8)
    (cherry picked from commit f500f4e03b189df42974f115018a7701d136d3e1)

tags: added: in-stable-zed
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to charm-manila-netapp (stable/yoga)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to charm-manila-netapp (stable/yoga)

Reviewed: https://review.opendev.org/c/openstack/charm-manila-netapp/+/926289
Committed: https://opendev.org/openstack/charm-manila-netapp/commit/7d804c4550cd6ea461483138a18450383900510f
Submitter: "Zuul (22348)"
Branch: stable/yoga

commit 7d804c4550cd6ea461483138a18450383900510f
Author: Rodrigo Barbieri <email address hidden>
Date: Thu Jul 18 17:09:24 2024 -0300

    Add goodness-function config

    This allows specifying functions that further optimize the scheduling
    of shares across backend stanzas.

    This is needed due to a netapp-driver specific problem when using
    SVM scoped accounts. It does not have enough permissions to obtain
    the total_capacity_gb information, so it cannot calculate utilization,
    and therefore the goodness_function always returns 50 and end up
    scheduling shares always to the same pool.

    Closes-bug: #2073537
    Change-Id: Ia151c50421e75282f633e0b004c2e6c1bda638f3
    (cherry picked from commit 94a4d30901bf9edac08cdcb7363dcb42680e8c80)
    (cherry picked from commit 5b8c04db1da67cdb22f137968d617bc29b9b9f53)
    (cherry picked from commit b550021fe2372bcbb6482d9851e7d8aa9e6017d8)
    (cherry picked from commit f500f4e03b189df42974f115018a7701d136d3e1)
    (cherry picked from commit 9e0ffda8820e97d55710dd6cfe823f8e5986bf3f)

tags: added: in-stable-yoga
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.