Swift3 functests should transition to using boto3

Bug #1557260 reported by Tim Burke
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Object Storage (swift)

Bug Description

With the sig V4 effort in https://review.openstack.org/#/c/211933/, we're finding a few issues with current boto. And from their README [1], it sounds like the likelihood of getting them fixed in the 2.x series is diminished:

> Boto3, the next version of Boto, is now stable and recommended for
> general use. It can be used side-by-side with Boto in the same project,
> so it is easy to start using Boto3 in your existing projects as well as
> new projects. Going forward, API updates and all new feature work will
> be focused on Boto3.
> To assist users who still depend on Boto and cannot immediately switch
> over, we will be triaging and addressing critical issues and PRs in Boto
> in the short term. As more users make the switch to Boto3, we expect to
> reduce our maintenance involvement over time. If we decide on a cutoff
> date or any significant changes to our maintenance plan, we will make
> pre-announcements well ahead of schedule to allow ample time for our
> users to adapt/migrate.

I don't know whether sig V4 issues would be covered by "critical issues" or not, but getting on 3.x [2] sooner rather than later is probably a good idea.

[1] https://github.com/boto/boto/blob/develop/README.rst
[2] https://github.com/boto/boto3

Tim Burke (1-tim-z)
description: updated
Revision history for this message
Andrey Pavlov (apavlov-e) wrote :

Can I do this work?

Revision history for this message
Tim Burke (1-tim-z) wrote :

New development will be on s3api in Swift's tree.

affects: swift3 → swift
Tim Burke (1-tim-z)
tags: added: s3api
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to swift (master)

Reviewed: https://review.opendev.org/657149
Committed: https://git.openstack.org/cgit/openstack/swift/commit/?id=d4e7940457cd31b4ee91a01a0c492781179fcfe4
Submitter: Zuul
Branch: master

commit d4e7940457cd31b4ee91a01a0c492781179fcfe4
Author: Timur Alperovich <email address hidden>
Date: Sat May 4 12:11:54 2019 -0700

    Start transition to boto3 in s3api tests.

    Adds the scaffolding required for tests to use boto3 and converts the
    test_bucket.py tests to the new interface. Follow on patches will
    convert the other tests to use the boto3 library.

    Notable changes: we no longer try to reach for the equivalent of
    `boto.make_request()` and instead rely on the boto3/botocore event
    system to mutate requests as necessary (or to disable pre-flight

    Partial-Bug: 1557260
    Change-Id: I3d77ef4a6b878c49ebfa0c8b8647d7199d87601e

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to swift (feature/losf)

Fix proposed to branch: feature/losf
Review: https://review.opendev.org/663260

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to swift (feature/losf)
Download full text (11.7 KiB)

Reviewed: https://review.opendev.org/663260
Committed: https://git.openstack.org/cgit/openstack/swift/commit/?id=3ba65cb7eca6948d32b53ba91157037c48f06002
Submitter: Zuul
Branch: feature/losf

commit 79ab3a490ada6aa4db28efa5b71a3f1a080920f7
Author: Clay Gerrard <email address hidden>
Date: Tue Jun 4 11:45:35 2019 -0500

    Note s3api compatability requirements in sample.conf

    Change-Id: I12f6e4a5a880a2d5e0f4fff4618e4196be311267

commit eaf180c68dc7cba866df0c70199ae48fb382c6e0
Author: Pete Zaitcev <email address hidden>
Date: Mon Jun 3 22:00:41 2019 -0500

    Fix a few Sphinx warnings

    This precludes us from landing anything in the gate, because we
    treat Sphinx warnings as errors in OpenStack.

    Specifically, 3 warnings are fixed:

    /s3api/etree.py:docstring of\
    Inline strong start-string without end-string.

    duplicate object description of\
     swift.common.middleware.versioned_writes, other instance in\
     middleware, use :noindex: for one of them

    duplicate object description of\
     swift.common.ring.composite_builder, other instance in\
     overview_ring, use :noindex: for one of them

    Change-Id: I5e0bd61a301d46b2674b4605882462575b635220

commit 4f9595f1130f6c45f8e3e08db55dddc31844be93
Author: Matthew Oliver <email address hidden>
Date: Tue Apr 23 12:15:32 2019 +1000

    py3: port symlink middleware

    This patch ports the symlink middleware to py3.
    The middleware itself seems to be mostly fine and most changes
    are in the symlink unit tests.

    Change-Id: I973c2e1bb8969cf6bffece8ce68881c393efbaef

commit 2c4f284055e1031f17f97229056616017385d8bc
Author: zengjia <email address hidden>
Date: Thu May 23 10:53:31 2019 +0800

    Modify the version path URL of the configuration file

    In the main branch, I think it is necessary to modify
    the configuration file path in the document as the
    main branch path, and to change the path to a stable
    version when the version is released.

    Change-Id: Ib1bc4c59ed4c7624782b8b1cdea20847c14c90bf

commit ff04ef05cd5a8f9675cbc8f292fa666d03ae6644
Author: Tim Burke <email address hidden>
Date: Wed May 22 16:36:50 2019 -0700

    Rework private-request-method interface

    Instead of taking a X-Backend-Allow-Method that *must match* the
    REQUEST_METHOD, take a truish X-Backend-Allow-Private-Methods and
    expand the set of allowed methods. This allows us to also expose
    the full list of available private methods when returning a 405.

    Drive-By: make async-delete tests a little more robust:
      * check that end_marker and prefix are preserved on subsequent
      * check that objects with a leading slash are correctly handled

    Change-Id: I5542623f16e0b5a0d728a6706343809e50743f73

commit 04c8015b889e3ddcbf111f3b0fa99bbbe12b8624
Author: Clay Gerrard <email address hidden>
Date: Wed May 22 16:23:42 2019 -0500

    Add more tests for async expirer

    Related-Change-Id: Ia13ee5da3d1b5c536eccaadc7a6fdcd997374443

tags: added: in-feature-losf
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers