Cinder A/A error when cloning a volume or snapshot

Bug #1808343 reported by Alan Bishop
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Cinder
Fix Released
Undecided
Alan Bishop

Bug Description

When cloning a volume or creating one from a snapshot, the scheduler uses the 'resource_backend' of the parent volume/snapshot. When cinder is running active-active, the resource backend should reference the cluster name, not the host. That is not happening, and so the scheduler fails the request because it cannot a suitable backend.

The following logs aren't too revealing, but they show an example of how the scheduler fails when trying to clone a volume associated with a cluster named "tripleo."

2018-12-12 22:00:58.351 6 DEBUG cinder.scheduler.host_manager [req-fe59c33a-c4af-4ab6-b0f7-71392ab1ee1f 5066ba8b37174f2cb3b2621a097283cb ae7f527abbed478d9345d6fa8d7de9b9 - default default] Weighed [WeighedHost [host: node-0@tripleo_ceph#tripleo_ceph, weight: 0.0]] get_weighed_backends /usr/lib/python2.7/site-packages/cinder/scheduler/host_manager.py:500

2018-12-12 22:00:58.354 6 WARNING cinder.scheduler.filter_scheduler [req-fe59c33a-c4af-4ab6-b0f7-71392ab1ee1f 5066ba8b37174f2cb3b2621a097283cb ae7f527abbed478d9345d6fa8d7de9b9 - default default] No weighed backend found for volume with properties: {'name': u'tripleo', 'qos_specs_id': None, 'deleted': False, 'created_at': '2018-12-04T20:20:33.000000', 'updated_at': None, 'extra_specs': {}, 'is_public': True, 'deleted_at': None, 'id': u'e05f1612-2a5d-42ab-b5e2-573e2d61f18e', 'projects': [], 'description': None}

2018-12-12 22:00:58.357 6 INFO cinder.message.api [req-fe59c33a-c4af-4ab6-b0f7-71392ab1ee1f 5066ba8b37174f2cb3b2621a097283cb ae7f527abbed478d9345d6fa8d7de9b9 - default default] Creating message record for request_id = req-fe59c33a-c4af-4ab6-b0f7-71392ab1ee1f

2018-12-12 22:00:58.397 6 ERROR cinder.scheduler.flows.create_volume [req-fe59c33a-c4af-4ab6-b0f7-71392ab1ee1f 5066ba8b37174f2cb3b2621a097283cb ae7f527abbed478d9345d6fa8d7de9b9 - default default] Failed to run task cinder.scheduler.flows.create_volume.ScheduleCreateVolumeTask;volume:create: No valid backend was found. No weighed backends available: NoValidBackend: No valid backend was found. No weighed backends available

Changed in cinder:
assignee: nobody → Alan Bishop (alan-bishop)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to cinder (master)

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

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/625052
Committed: https://git.openstack.org/cgit/openstack/cinder/commit/?id=541168b86ec5b42db34524b3946b701ed8500737
Submitter: Zuul
Branch: master

commit 541168b86ec5b42db34524b3946b701ed8500737
Author: Alan Bishop <email address hidden>
Date: Thu Dec 13 08:42:59 2018 -0500

    Fix A/A 'resource_backend' when scheduling volumes

    Fix an issue with the 'resource_backend' included in the scheduler spec
    for creating a volume associated with another volume, snapshot, or
    group/cg. When running A/A, the 'resource_backend' must reference the
    cluster, not the host.

    Enhance the unit tests that cover this area. This includes fixing the
    'expected_spec' so it copies a dictionary rather than referencing it,
    so that external changes to the dictionary don't inadvertently update
    the unit test's expected results.

    Closes-Bug: #1808343
    Change-Id: I7d414844d094945b55a094a8426687595f22de28

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

This issue was fixed in the openstack/cinder 14.0.0.0rc1 release candidate.

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.