get-pools Cinder tests fail in A/A environment

Bug #1661234 reported by Michal Dulko
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
tempest
Fix Released
Undecided
Michal Dulko

Bug Description

get-pools tests for Cinder [1] assume that host field returned with a volume will be present as one of the pools names in get-pools API. This stops to be true in A/A deployments, when pools start to be named using cluster_name instead of host names. This causes Tempest tests to fail when run against clustered A/A deployment.

A more problematic thing is that these tests are supposed to test V2 API, and in V2 we don't have any way of accessing cluster_name through the API (cluster_name was added in different places as microversions of V3 API).

[1] https://github.com/openstack/tempest/blob/9e6ee394184aedc777226b0723e5fe16d2b33ebe/tempest/api/volume/admin/v2/test_volume_pools.py#L29-L34

Changed in tempest:
assignee: nobody → Michal Dulko (michal-dulko-f)
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to tempest (master)

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

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

Reviewed: https://review.openstack.org/428126
Committed: https://git.openstack.org/cgit/openstack/tempest/commit/?id=ad3c2d8187bc4e85a5d24cf002691059321ca2a7
Submitter: Jenkins
Branch: master

commit ad3c2d8187bc4e85a5d24cf002691059321ca2a7
Author: Michał Dulko <email address hidden>
Date: Thu Feb 2 13:41:28 2017 +0100

    Make test_volume_pools A/A compatible

    VolumePoolsAdminV2TestsJSON is not compatible with Cinder deployed in
    A/A mode. The problem is that tests assume that volume's host will be
    present as one of the pools name. This is false assumption in A/A mode,
    as in such case pools names are derived from cluster_name, not host.

    Note that V2 API that is being tested here, doesn't have a notion of
    cluster_name anywhere, because cluster_name was added in various places
    in multiple V3 API's microversions. That means we cannot tweak the tests
    to look for pools by cluster_name.

    This commit addresses the issue by releasing the false assumption and
    replacing it with an assert that vendor_name in at least one of the
    pools details is equal to the one in volume configuration. This is being
    checked only in case of calls with details, without them we're simply
    checking if output contains 'name' key in the response.

    Also a new test is added to make sure os-vol-host-attr:host attribute of
    volume is still getting checked for correctness.

    Closes-Bug: 1661234
    Change-Id: I818f0cd436d93278552c7fe4f055ccd7b9111bc1

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

This issue was fixed in the openstack/tempest 16.0.0 release.

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.