os-brick 1.6.0 refactor was a major API change

Bug #1618697 reported by Tony Breeds
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Cinder
Invalid
Undecided
Walt Boring
OpenStack Compute (nova)
Invalid
Undecided
Unassigned
os-brick
Invalid
Undecided
Unassigned

Bug Description

With the release of os-brick 1.6.0 the following review[1] was created to use it in upper-constraints.txt

This review is failing the nova[2] and cinder[3] unit tests

It's relatively simple to fix these problems to work with 1.6.0 but the code needs to work with both 1.5.0 *and* 1.6.0. This is where we have problems.

The connector objects moved from os_brick.initiator.connector.ISCSIConnector (1.5.0) to os_brick.initiator.connectors.ISCSIConnector (1.6.0) so any tests need shims in place to work with either name. The shim could be removed once global-requirements is bumped to use 1.6.0 as the minimum but it's very late to be making that change as that'd cause a re-release of any libraries (glance_store) using os-brick.

[1] https://review.openstack.org/#/c/360739/
[2] http://logs.openstack.org/39/360739/2/check/gate-cross-nova-python27-db-ubuntu-xenial/bb19321/console.html#_2016-08-31_02_20_59_089114
[3] http://logs.openstack.org/39/360739/2/check/gate-cross-cinder-python27-db-ubuntu-xenial/444b954/console.html#_2016-08-31_02_25_04_125200

Revision history for this message
Tony Breeds (o-tony) wrote :

Is it urgent that os-brick 1.6.0 land in newton?
Can stable/newton be branched to point to 1.5.0?

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to os-brick (master)

Related fix proposed to branch: master
Review: https://review.openstack.org/363444

Revision history for this message
Tony Breeds (o-tony) wrote :

The review above is the least intrusive path forward IMO.

We can block 1.6.0 in g-r and then move forward, The aliases can be dropped early in the ocata cycle and the major version bumped.

Revision history for this message
Sean McGinnis (sean-mcginnis) wrote :

I wouldn't actually consider this a bug in os-brick. This is a bug in those unit tests that are incorrectly accessing the connector. I would rather see those test corrected than block an os-brick version or do some workarounds for non-functional code.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to os-brick (master)

Reviewed: https://review.openstack.org/363444
Committed: https://git.openstack.org/cgit/openstack/os-brick/commit/?id=ee0e9d166eb768aa94885f4942f4cdeaf5f5f934
Submitter: Jenkins
Branch: master

commit ee0e9d166eb768aa94885f4942f4cdeaf5f5f934
Author: Tony Breeds <email address hidden>
Date: Wed Aug 31 17:13:00 2016 +1000

    Create connector aliases to the new connectors refactor

    In I020e75ca8cd8bec2ad1b38f3ade5cc1f63a4fee5 the os-brick connectors
    were refactored under the assumption that any connectors were generated
    with InitiatorConnector.factory()

    Create interim aliases for the connectors at the old module path, this
    enables a smooth transition from 1.5.0 to 1.6.X.

    These aliases can be removed the next time we bump the major number

    Change-Id: I555051f9b646098947facc3e11f35e36fec1a5c0
    Related-Bug: 1618697

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to os-brick (stable/newton)

Related fix proposed to branch: stable/newton
Review: https://review.openstack.org/363843

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to os-brick (stable/newton)

Reviewed: https://review.openstack.org/363843
Committed: https://git.openstack.org/cgit/openstack/os-brick/commit/?id=49a89c8757aad70611a00ea9e1c78f38060bc114
Submitter: Jenkins
Branch: stable/newton

commit 49a89c8757aad70611a00ea9e1c78f38060bc114
Author: Tony Breeds <email address hidden>
Date: Wed Aug 31 17:13:00 2016 +1000

    Create connector aliases to the new connectors refactor

    In I020e75ca8cd8bec2ad1b38f3ade5cc1f63a4fee5 the os-brick connectors
    were refactored under the assumption that any connectors were generated
    with InitiatorConnector.factory()

    Create interim aliases for the connectors at the old module path, this
    enables a smooth transition from 1.5.0 to 1.6.X.

    These aliases can be removed the next time we bump the major number

    Change-Id: I555051f9b646098947facc3e11f35e36fec1a5c0
    Related-Bug: 1618697
    (cherry picked from commit ee0e9d166eb768aa94885f4942f4cdeaf5f5f934)

tags: added: in-stable-newton
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to nova (master)

Related fix proposed to branch: master
Review: https://review.openstack.org/364454

Changed in cinder:
assignee: nobody → Walt Boring (walter-boring)
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to nova (master)

Reviewed: https://review.openstack.org/364454
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=e8f8971923cc3ba0690f0b17ba35b4b9afafba2d
Submitter: Jenkins
Branch: master

commit e8f8971923cc3ba0690f0b17ba35b4b9afafba2d
Author: Matt Riedemann <email address hidden>
Date: Thu Sep 1 12:42:55 2016 -0400

    Remove hacked test that fails with latest os-brick

    The test here was slated for removal long ago when we
    integrated os-brick since it had to be hacked to mock
    out some internals of os-brick, which is terrible and
    has finally come home to break this unit test with
    os-brick 1.6.1, so let's just remove it.

    Change-Id: If11d6b078199878f9074e6b87f56c6f76087bfd3
    Related-Bug: #1618697

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/364576

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

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

commit 859653a4ecf1dd24d22bc9f20bf002c994a2be7e
Author: Walter A. Boring IV <email address hidden>
Date: Thu Sep 1 15:35:04 2016 -0700

    Fix backup unit tests imports for os-brick

    This patch updates the previous fix for the new location for
    the FakeConnector. The imports were broken.

    Change-Id: I9e6a15ae4cb33d18c622d0d010722ae3aea431f7
    Partial-Bug: 1618697

Revision history for this message
Matt Riedemann (mriedem) wrote :

I think the nova part of this bug was fixed with https://review.openstack.org/364454 - if there is more to do please be specific.

Changed in nova:
status: New → Invalid
Changed in os-brick:
status: New → Invalid
Changed in cinder:
status: In Progress → Invalid
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.