Add affinity/anti-affinity filters

Bug #1342628 reported by OpenStack Infra
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
openstack-manuals
Fix Released
Medium
Nate Potter

Bug Description

https://review.openstack.org/106708
commit c60044693190512fb14c3690ee49bbd1dae9e1e8
Author: Zhiteng Huang <email address hidden>
Date: Tue Jan 28 14:23:04 2014 +0800

    Add affinity/anti-affinity filters

    Cinder has done a good job hiding the details of storage backends from end
    users by using volume types. However there are use cases where users who
    build their application on top of volumes would like to be able to 'choose'
    where a volume be created on. How can Cinder provide such capability without
    hurting the simplicity we have been keeping? Affinity/anti-affinity is one
    of the flexibility we can provide without exposing details to backends.

    The term affinity/anti-affinity here is to to describe the relationship
    between two sets of volumes in terms of location. To limit the scope, we
    describe one volume is affinity with the other one only when they reside in
    the same volume back-end (this notion can be extended to volume pools if
    volume pool support lands in Cinder); on the contrary, 'anti-affinity'
    relation between two sets of volumes simply implies they are on different
    Cinder back-ends (pools).

    This affinity/anti-affinity filter filters Cinder backend based on hint
    specified by end user. The hint expresses the affinity or anti-affinity
    relation between new volumes and existing volume(s). This allows end
    users to provide hints like 'please put this volume to a place that is
    different from where Volume-XYZ resides in'.

    This change adds two new filters to Cinder - SameBackendFilter and
    DifferentBackendFilter. These two filters will look at the scheduler hint
    provided by end users (via scheduler hint extension) and filter backends by
    checking the 'host' of old and new volumes see if a backend meets the
    requirement (being on the same backend as existing volume or not being on
    the same backend(s) as existing volume(s)).

    For example:
      Volume A is on 'backend 1', to create Volume B on the same backend as A,
      use:
        cinder create --hint same_host=VolA-UUID SIZE

      To create Volume C on different backend than that of A, use:
        cinder create --hint different_host=VolA-UUID SIZE

      Now, to create Volume D on different backend other than those of A and C,
      use:
        cinder create --hint different_host=VolA-UUID --hint
        different_host=VolC-UUID SIZE
      or:
        cinder create --hint different_host="[VolA-UUID, VolC-UUID]" SIZE

    implements bp: affinity-antiaffinity-filter

    DocImpact

    Change-Id: I19f298bd87b0069c0d1bb133202188d3bf65b770

tags: added: config-reference
Changed in openstack-manuals:
status: New → Confirmed
importance: Undecided → Medium
Revision history for this message
Tom Fifield (fifieldt) wrote :

This write-up could basically be copied and pasted into the admin guide, in a new section if there is no current section on scheduling.

Changed in openstack-manuals:
status: Confirmed → Triaged
milestone: none → liberty
Changed in openstack-manuals:
assignee: nobody → jelly (coding1314)
Danny.Ho (dannyh)
Changed in openstack-manuals:
assignee: jelly (coding1314) → Ho Yu Cheng (kiss5891)
Danny.Ho (dannyh)
Changed in openstack-manuals:
assignee: Danny.Ho (dannyh) → inwinSTACK (inwinstack)
Danny.Ho (dannyh)
Changed in openstack-manuals:
status: Triaged → Incomplete
Revision history for this message
Danny.Ho (dannyh) wrote :
Rico Lin (rico-lin)
Changed in openstack-manuals:
assignee: inwinSTACK (inwinstack) → nobody
Nate Potter (ntpttr)
Changed in openstack-manuals:
assignee: nobody → Nate Potter (ntpttr)
status: Incomplete → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to openstack-manuals (master)

Fix proposed to branch: master
Review: https://review.openstack.org/235404

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to openstack-manuals (master)

Reviewed: https://review.openstack.org/235404
Committed: https://git.openstack.org/cgit/openstack/openstack-manuals/commit/?id=cd8356339da8286e295a186eee4846ca04620d2a
Submitter: Jenkins
Branch: master

commit cd8356339da8286e295a186eee4846ca04620d2a
Author: Nate Potter <email address hidden>
Date: Thu Oct 15 14:53:09 2015 +0000

    Add affinity/anti-affinity documentation

    This patch documents the affinity and anti-affinity
    features in Cinder that allow admins some control
    over volume scheduling.

    Change-Id: I23404f5974c0e03fca7bdb0af0f8a49644258fed
    Closes-Bug: #1342628

Changed in openstack-manuals:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/openstack-manuals 15.0.0

This issue was fixed in the openstack/openstack-manuals 15.0.0 release.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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