| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The internal client previously provided no easy way to programatically
customise the configuration of the proxy-server app or other
middlewares in its wsgi pipeline. This patch allows a global_conf
dict to be passed via the InternalClient constructor to the wsgi
loadapp function. Items in the global_conf dict will override options
loaded from the config file. An example use case would be to change
the log_name from the default 'swift', which would be useful to
differentiate logs from different processes using an internal client.
The minimum version of PasteDeploy is increased to 2.0.0 to make the
global_conf behavior predictable: in older versions global_conf would
not override options in the conf file DEFAULT section, but since 2.0.0
it will.
Change-Id: Ida39ec7eb02a93cf4b2aa68fc07b7f0ae27b5439
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The requirements repo is support python 3.5 as oldest python version
while swift still supports py27.
thus, requirements-check will fail on a couple of lines in swift. The
check is only run when these files are touched.
The py2.7 packagers we know about aren't depending on upstream
requirements.txt for correctness and aside from all the production
deployments running on py2.7 we only realistically support >=py3.7
There's no good reason for our requirements.txt to be "unspported" by
the openstack requirements check job. Since they only support >=py3.5
we can change our requirements.txt inline with that. This should be
fine for everything we could hope to get out of both our
requirements.txt and the check!
Co-Authored-By: Clay Gerrard <clay.gerrard@gmail.com>
Change-Id: Ibf8000498528c401707be8b0b91b8355cd993786
|
|
|
|
|
|
|
|
|
|
| |
Otherwise, we can hit a "generator already executing" error in
test/functional/test_slo.py:TestSlo.test_slo_multi_ranged_get
Also, set a *slightly* newer lower-bound for greenlet (from 2011 instead
of 2010) so the sleep() doesn't cause us to lose exception state.
Change-Id: Id458fc0a43fd71aab9f6edbacc1f0b370c9f7537
|
|
|
|
|
|
|
|
|
|
|
| |
We need 0.25.0 for py3 support, and increasing it for both is simplest.
Also drag forward dnspython, as newer eventlet requires a newer
dnspython. Note that we still don't explicitly list it as a dependency
for py3; rather, it's been getting installed as a requirement for
eventlet.
Change-Id: If933b713bdd1dfc348959771d60c0756a9a94477
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
...not because we strictly *need* newer cryptography, but rather because
distro packages have moved forward to the point where the 1.x series
won't compile from source and PyPI doesn't have wheels for them.
See changes like:
- https://github.com/pyca/cryptography/commit/6e7ea2e
- https://github.com/pyca/cryptography/commit/f88aea5
Change-Id: I1ff5b61873cf382c7a89873ed4ba6153f299262a
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When the lower-constraints tox target was added, it was assumed the
install_command was just running the install and that the dependencies
and constraints were being set using "deps = ".
This fixed the install_command and deps to follow the expected pattern
so the lower-constraints job actual does install the lower constraints.
Also:
* raise the minimum for netifaces as the existing version would fail
to load
* pin oslo.log to the minimum required by our minimum
keystonemiddleware
* fix up some error handling for ancient versions of pastedeploy
* specify that we shouldn't install xattr on a platform we don't
support anyway, because reasons
Change-Id: Ie78c0dabe12e01109db2b6412166c3564b87ee96
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
|
|
|
|
|
|
|
| |
CentOS 7 distributes 1.0.16, and there is no real reason to avoid it.
Plus, in our probetests we apparently cannot avoid the system package.
Change-Id: I108ec2438dbc02f3e85f8da43e11ff4cdcfd1e4b
|
|
|
|
|
|
|
| |
This patch adds an additional optional parameter to tempurl
which restricts the ip's from which a temp url can be used from.
Change-Id: I23fe998a980960d4a32df042b3f6a21f096c36af
|
|
|
|
|
|
|
|
|
| |
See https://github.com/eventlet/eventlet/issues/488
Fix at https://github.com/eventlet/eventlet/pull/497
Change-Id: I1aa22f23fd7808c5d959accbf3a3d2daace8c05f
Depends-On: Ieb895eded03e3aabef8ac1ed69bd45d11f44b776
|
|
|
|
|
|
|
|
|
| |
I just took these from the current versions at
https://github.com/openstack/requirements/blob/master/lower-constraints.txt
so we can get the the change we *actually* want, which is to black-list
a known-bad version of eventlet.
Change-Id: I9842c9975821bda5c7d8bf2fc214480c0c0a5e96
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This attempts to import openstack/swift3 package into swift upstream
repository, namespace. This is almost simple porting except following items.
1. Rename swift3 namespace to swift.common.middleware.s3api
1.1 Rename also some conflicted class names (e.g. Request/Response)
2. Port unittests to test/unit/s3api dir to be able to run on the gate.
3. Port functests to test/functional/s3api and setup in-process testing
4. Port docs to doc dir, then address the namespace change.
5. Use get_logger() instead of global logger instance
6. Avoid global conf instance
Ex. fix various minor issue on those steps (e.g. packages, dependencies,
deprecated things)
The details and patch references in the work on feature/s3api are listed
at https://trello.com/b/ZloaZ23t/s3api (completed board)
Note that, because this is just a porting, no new feature is developed since
the last swift3 release, and in the future work, Swift upstream may continue
to work on remaining items for further improvements and the best compatibility
of Amazon S3. Please read the new docs for your deployment and keep track to
know what would be changed in the future releases.
Change-Id: Ib803ea89cfee9a53c429606149159dd136c036fd
Co-Authored-By: Thiago da Silva <thiago@redhat.com>
Co-Authored-By: Tim Burke <tim.burke@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The match for dependency names is case sensitive, so change
"pastedeploy" to "PasteDeploy".
The match for dependencies takes the environment markers into account,
so add a marker for dnspython to restrict its use to python 2.7. There
is a dnspython3 package for use with version 3, and that can be added
separately as part of the python 3 porting work.
Change-Id: Ia2bb2e1846d734609ea9ff37d2ad1ffd37ced950
Depends-On: https://review.openstack.org/560109
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
|
|
|
|
|
|
|
|
| |
This patch adds support for retrieving the encryption root secret from
an external key management system. In practice, this is currently
limited to Barbican.
Change-Id: I1700e997f4ae6fa1a7e68be6b97539a24046e80b
|
|
|
|
|
|
|
|
| |
Updated swift requirements.txt to change PyECLib version
so that it fixes memory leak issue.
Change-Id: Ifc069989b96188fd7abe0d8edc6b30266783ad79
Partial-Bug: #1629410
|
|
|
|
|
|
|
| |
dnspython 1.14 adds Python 3 support and so can now be used on Python
2 and Python 3. Drop dnspython3 dependency.
Change-Id: I0a860b03800aeeed4375f528e6bf9cca57129db7
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adds encryption middlewares.
All object servers and proxy servers should be upgraded before
introducing encryption middleware.
Encryption middleware should be first introduced with the
encryption middleware disable_encryption option set to True.
Once all proxies have encryption middleware installed this
option may be set to False (the default).
Increases constraints.py:MAX_HEADER_COUNT by 4 to allow for
headers generated by encryption-related middleware.
Co-Authored-By: Tim Burke <tim.burke@gmail.com>
Co-Authored-By: Christian Cachin <cca@zurich.ibm.com>
Co-Authored-By: Mahati Chamarthy <mahati.chamarthy@gmail.com>
Co-Authored-By: Peter Chng <pchng@ca.ibm.com>
Co-Authored-By: Alistair Coles <alistair.coles@hpe.com>
Co-Authored-By: Jonathan Hinson <jlhinson@us.ibm.com>
Co-Authored-By: Hamdi Roumani <roumani@ca.ibm.com>
UpgradeImpact
Change-Id: Ie6db22697ceb1021baaa6bddcf8e41ae3acb5376
|
|
|
|
|
|
|
|
|
|
| |
This was discussed at last Swift meeting [1] and conclusion was
to require newest PyECLib version.
[1] http://eavesdrop.openstack.org/meetings/swift/2016/swift.2016-02-10-21.00.log.html#l-268
Depends-On: I0fd58f26bc0a3e7715356ff74344981f22786152
Change-Id: I54e89d99b48e00e614d2d457814c00354763c83b
|
|
|
|
|
|
|
|
|
|
|
| |
liberasurecode_rs_vand is build-in liberasurecode, so you don't need
another depedency libjerasure2.
liberasurecode_rs_vand is supported by pyeclib from 1.0.8
version, so bumping version up.
Closes-Bug: #1534325
Change-Id: If2d96875694df8fd48c5278395859aaa165cb566
|
|
|
|
|
|
|
|
|
| |
IPv6 support in Swift is dependent on IPv6 support in eventlet.
eventlet itself only claims support for IPv6 post v0.17
(https://github.com/eventlet/eventlet/issues/8). This update matches
the OpenStack global requirements version.
Change-Id: I9d8433cdd3bf7d7a93b8f50b991cc21721a80d22
|
|
|
|
|
|
|
|
| |
... to match global-requirements. This is an
intermediate step in updating requirements to
PyECLib>=1.1.1.
Change-Id: I79f47fff6ec1adff214ca435f0d95aaf1ffd68f9
|
|\ |
|
| |
| |
| |
| | |
Change-Id: I46f498122fccb0830304acba7f99fee64badfe12
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
The six module is needed to add Python 3 support to Swift.
Change-Id: Ie637ed3458c7ff56c26834bca73203ed55604d74
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
Change-Id: I64ae9191863564e278a35d42ec9cd743a233028e
Closes-Bug: 1365061
|
|
|
|
| |
Change-Id: Icfdeeab14e90728aa8167ad6587d51e9b10cb846
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|