... to match global-requirements. This is an
intermediate step in updating requirements to
PyECLib>=1.1.1.
Change-Id: I79f47fff6ec1adff214ca435f0d95aaf1ffd68f9
a1c32702, 736cf54a, and 38787d0f remove uses of `simplejson` from
various parts of Swift in favor of the standard libary `json`
module (introduced in Python 2.6). This commit performs the remaining
`simplejson` to `json` replacements, removes two comments highlighting
quirks of simplejson with respect to Unicode, and removes the references
to it in setup documentation and requirements.txt.
There were a lot of places where we were importing json from
swift.common.utils, which is less intuitive than a direct `import json`,
so that replacement is made as well.
(And in two more tiny drive-bys, we add some pretty-indenting to an XML
fragment and use `super` rather than naming a base class explicitly.)
Change-Id: I769e88dda7f76ce15cf7ce930dc1874d24f9498a
Update requirements to install dnspython3 on Python 3 and dnspython on
Python 2. dnspython is not compatible with Python 3, and dnspython3
is not compatible with Python 2.
Add a requirement on pbr to ensure that pbr 1.6 or newer is
installed. pbr 1.0 or newer is required to support environment
markers in requirements which are now used to select dnspython or
dnspython3 depending on the Python major version.
Note: pbr 1.0 is enough, but OpenStack global requirements asks to
use "pbr>=1.6".
Change-Id: Ie5d437cd396972d4143ffffb96ec3c289e221b08
v1.0.9 rev of PyECLib replaces Jerasure with a native EC
implementation (liberasurecode_rs_vand) as the default
EC scheme. Going forward, Jerasure will not be bundled
with PyPI version of PyECLib as it used to be, until
v1.0.7.
This is an interim change to Swift requirements until we
get v1.0.9 PyECLib included into global-requirements and
ready patches that change Swift default ec_type (for doc,
config samples and unit tests) from "jerasure_rs_vand"
to "liberasurecode_rs_vand."
Change-Id: Ica4fee2cdea2bc7f5edd0e51ad637a4457faf3b4
In addition to fixing several bugs, 1.0.7 eliminates the need for a
few work-around code in Swift. This code was only to hide issues in
the current version, but it also ends up breaking some third-party
integration. In order to enable expected functionality and to avoid
dealing with deprecation issues right from the beginning, we need to
bump the minium PyECLib requirement to 1.0.7.
Change-Id: I03e059e7335656c22be28ffd6157b56e13bdfc1b
This version adds support for multiple 100-continue responses
via the API send_hundred_continue_response(), which we need for
the two-phase scheme for PUTs with Erasure Coding
Change-Id: I7154ef1dd96ab761894b09d5e6abf98a453f7b64
ECPyECLibException has been removed in 1.0.1, among other
API/error handling enhancements in 1.0.3. Let's make sure
the right version is used.
Change-Id: Ie6e0c1b491017dd5096b14c23b610abc22b03d6a
Removes the requirement for swiftclient in swift-dispersion-report
and swift-dispersion-populate. To prevent a dependency on
keystoneclient and to avoid reinventing the wheel with an internal
keystoneclient, authentication with keystone is only supported if
swiftclient is available. If not, only auth v1 is supported.
The dependency in swift/container/sync.py has also been removed.
Implements: blueprint remove-swiftclient-dependency
Change-Id: I6ec3b3c85a67b9ab6eb04b90ffc16daf1600e8a7
This lets you build swift packages that don't require pbr
to be installed at all. You would need pbr on the machine running
rpmbuild / debuild, but not on the machines that install the packages.
Unfortunately, this does not make swift able to be
installed via pip 0.3.1 on Lucid; you'll need to uninstall the system
python-pip package and install a new pip some other way. Given that
pip < 1.3 doesn't perform SSL certificate validation for pypi (trivial
MITM attack, anyone?), you'd probably want to get a new pip anyway.
Change-Id: Ia50a229c5ae4dd2158beeaa953619b5e8f987c55
This has a couple benefits.
First, it means Ubuntu Precise users can just install python-dnspython
from packages instead of having to pull one in from source. This
should also fix an install error with new SAIO boxes where running
"python setup.py develop" fails unless a satisfactory dnspython is
already installed.
Second, it matches the dnspython dependency in the global
requirements. This means that the gates are already running with this
dnspython dependency, and it means our requirements.txt is one step
closer to being a subset of the global requirements.txt, which is
important to some people.
Change-Id: I5d58f488e1e4c4139c9fb20d89f386cab1537e98
pbr is the libification of what was openstack.common.setup. If provides
the build information in a delcarative form, instead of as executable python
code, which works around the chicken and egg problem of needing setup
libraries present to run setup, but needing to run setup to tell if you
need setup libraries.
One of the features that comes along with this is versioning based on
git tags. If the current revision is a signed git tag, then that is the
version of the package. If it is not, the version is equal to the most
recent git tag, plus a commit count, plus a git sha (similar to git
describe, but scrubbed for python version rules compliance)
pbr updates are also part of the upcoming automation around ensuring
global requirements stay in sync.
Closes-Bug: #1179007
Change-Id: Ia473960be7e8aa44f09d48cea72ed3c8845f82fa
Rename tools/pip-requires to requirements.txt and tools/test-requires
to test-requirements.txt. These are standard files, and tools in the
general world are growing intelligence about them.
Change-Id: Ib3e50a811868e2969923d978ee00c4f92682aa1c
Fixes: bug #1179008