Add Boto3 to global requirements.

Swift is moving to using Boto3, as opposed to the unmaintained Boto
library for its S3 tests.

* Is the library actively maintained?

Yes -- it is the recommended library by Amazon for AWS and S3
specifically. Last commit: 05/06/2019 (auto-commit). Maintainers respond
to bug reports.

* Is the library good code?

It's the evolution of the Boto library. The code is well documented,
with numerous examples of usage. A significant portion is
auto-generated, which makes working on the library a little more
difficult. The library supports extensions and modifications through its
event system, which allows its easier usage in the testing
infrastructure.

* Is the library python 3 compatible?

Yes -- up to python 3.7.

* Is  the library license compatible?

Boto3 is licensed under Apache 2.0.

* Is the library already packaged in the distros we target (Ubuntu
latest / Fedora latest)?

Yes (Ubuntu 19.04: 1.9.86; Fedora 30: 1.9.101)

* Is the function of this library already covered by other libraries in
global-requirements.txt?

This would be a replacement for the existing Boto library. The older
Boto library could be removed if all users transition to Boto3.

* Is the library required for OpenStack project or related dev or
infrastructure setup? (Answer to this should be Yes, of course) Which?

Yes, it is to be used by Swift: https://review.opendev.org/#/c/657149/.
The Boto library has the following warning text:
"API updates and all new feature work will be focused on Boto3"
and:
"As more users make the switch to Boto3, we expect to reduce our
maintenance involvement over time".
Boto issues/pull requests are currently not addressed (for example,
https://github.com/Boto/Boto/pull/3471 and
https://github.com/Boto/Boto/pull/3513 -- pull requests from a Swift
committer have been open for 3 years with no feedback).

Boto and Boto3 can be used alongside each other to simplify the
transition.

* If the library release is managed by the Openstack release process
does it use the cycle-with-intermediary release type?

This is an external to OpenStack library.

Change-Id: I1d95e4bbed051ea7e4bb77fb9e38d3006843f998
This commit is contained in:
Timur Alperovich 2019-05-04 14:08:46 -07:00
parent 6affabb053
commit b98ff65847
2 changed files with 4 additions and 1 deletions

View File

@ -13,6 +13,7 @@ bcrypt # Apache-2.0
betamax # Apache-2.0
betamax-matchers # Apache-2.0
boto # MIT
boto3 # Apache-2.0
botocore # Apache-2.0
cassandra-driver!=3.6.0 # Apache-2.0
castellan # Apache-2.0

View File

@ -310,6 +310,7 @@ retrying===1.3.3
shade===1.31.0
pathlib2===2.3.3
pydotplus===2.0.2
boto3===1.9.143
flask-oslolog===0.1
jeepney===0.4;python_version=='3.4'
jeepney===0.4;python_version=='3.5'
@ -322,6 +323,7 @@ exabgp===4.0.10
sphinxcontrib-httpdomain===1.7.0
metalsmith===0.11.0
thriftpy===0.3.9;python_version=='2.7'
s3transfer===0.2.0
text-unidecode===1.2
murano-pkg-check===0.3.0
oslo.vmware===2.33.0
@ -439,7 +441,7 @@ proboscis===1.2.6.0
fortiosclient===0.0.3
oslo.upgradecheck===0.2.1
stevedore===1.30.1
botocore===1.12.142
botocore===1.12.143
xmltodict===0.12.0
pyasn1===0.4.5
oslo.rootwrap===5.15.2