e7cd8df5e93a89fba6a62d2f2f4270a1ce789e93
Commit Graph

8572 Commits

This Branch
This Branch
All Branches
Author SHA1 Message Date
Clay Gerrard
e7cd8df5e9 Add option for debug query logging
Change-Id: Ic16b505a37748f50dc155212671efb45e2c5051f
2019年10月25日 12:31:20 -05:00
OpenStack Proposal Bot
739c370410 Imported Translations from Zanata
For more information about this automatic import see:
https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
Change-Id: I7a72be3568c2e8afd7211978cd917810c9af22ad
2019年10月18日 07:10:33 +00:00
Zuul
d6967a1fb6 Merge "docs: Fix then/than grammar" 2019年10月17日 19:06:25 +00:00
Tim Burke
2ac50079c1 docs: Fix then/than grammar
Change-Id: I948d65d0d3b58fcb13f8141fe095ccad4b8f1425
Closes-Bug: #1848485 
2019年10月17日 09:52:50 -07:00
Zuul
f007db3c61 Merge "tests: Stop invoking python just to get the real source directory" 2019年10月16日 07:14:25 +00:00
Zuul
f4fc811862 Merge "swift-account-audit: clean up some error formatting" 2019年10月16日 04:03:03 +00:00
Zuul
cf53fcbd94 Merge "py38: Provide readinto() interface for RingReader" 2019年10月16日 04:03:01 +00:00
Zuul
0e5a32000a Merge "Use == to compare against the empty string, not is" 2019年10月15日 22:56:44 +00:00
Tim Burke
86952dd3ed tests: Stop invoking python just to get the real source directory
While we're at it, stop checking for a seven-year-old version of nose --
we already list a newer version in test-requirements.txt anyway.
Change-Id: I97beace3094f11286730b99653dc1e8f699c5aec
2019年10月15日 15:08:42 -07:00
Zuul
294472464a Merge "py3: fix swift-account-audit" 2019年10月15日 20:01:24 +00:00
Zuul
4768f22507 Merge "Consistently use io.BytesIO" 2019年10月15日 16:39:20 +00:00
Zuul
5d1437e969 Merge "Fix kms_keymaster under Python 3" 2019年10月15日 14:54:04 +00:00
Zuul
1e77d6834f Merge "py3: fix swift-dispersion-populate" 2019年10月15日 14:54:03 +00:00
Tim Burke
d270596b67 Consistently use io.BytesIO
Change-Id: Ic41b37ac75b5596a8307c4962be86f2a4b0d9731
2019年10月15日 15:09:46 +02:00
Zuul
4e8572866a Merge "py3: Fix swift-recon" 2019年10月15日 02:20:57 +00:00
Tim Burke
8efaa3556f py38: Provide readinto() interface for RingReader
Otherwise pickle complains
 TypeError: file must have 'read', 'readinto' and 'readline' attributes
Change-Id: I7ae0d7e47ae44286564f8ab7126e8ff131bc0de6
2019年10月14日 18:00:11 -07:00
Tim Burke
3bd5653873 Use == to compare against the empty string, not is
py38 will start complaining like
 SyntaxWarning: "is" with a literal. Did you mean "=="?
Change-Id: I799e288f66230a7847a13b7f303e4cd8e63eea59
2019年10月14日 17:40:42 -07:00
Tim Burke
2edcd0b7b9 py3: Fix swift-recon
Avoid things like
 TypeError: '<' not supported between instances of 'NoneType' and 'int'
Change-Id: I82edbf1ddcc28f86e97405d21db0b96249412eac
2019年10月14日 11:40:41 -07:00
Tim Burke
4c66596e63 py3: fix swift-dispersion-populate
Change-Id: I1f140ae00cbd25b23c9a40ee91dccee8c7c15d81
2019年10月14日 11:34:31 -07:00
Tim Burke
3e90ddb37d swift-account-audit: clean up some error formatting
"127.0.0.1s:sdas" is confusing at best.
Change-Id: I37f78d5993082ac29b001e9563aa4b24fd009a27
2019年10月14日 11:21:22 -07:00
Tim Burke
2f4fe56ca4 py3: fix swift-account-audit
Previously, we'd get a KeyError trying to read headers.
Change-Id: I5d9f86784a3e39577ab010d29d8d03b26ffda357
2019年10月14日 11:21:06 -07:00
Thomas Goirand
85d3658d62 Fix kms_keymaster under Python 3
Depending on how the key was stored in Barbican, it may come out of
Castellan as a native string, which would not be suitable on Python 3.
Now, check that the secret is a byte string, and if it isn't, encode as
UTF-8 (to match Barbican's internal encoding).
Change-Id: I6da047716c05e4f2a9e1e74ca19afb62e812d172
Closes-Bug: #1847755 
2019年10月13日 21:58:50 -07:00
Tim Burke
405a2b2a55 py3: Fix swift-drive-audit
Walking through the kernel logs backwards requires that we open them
in binary mode. Add a new option to allow users to specify which
encoding should be used to interpret those logs; default to the same
encoding that open() uses for its default.
Change-Id: Iae332bb58388b5521445e75beba6ee2e9f06bfa6
Closes-Bug: #1847955 
2019年10月13日 21:55:58 -07:00
Zuul
29d46ca9f6 Merge "Fix misleading error msg if swift.conf unreadable" 2019年10月11日 08:07:10 +00:00
Christian Schwede
78a4070c90 Fix misleading error msg if swift.conf unreadable
Several tools are returning a misleading error message if swift.conf is
missing or not readable by the user, stating that the hash pre-/suffixes
are missing. Let's fix this by catching the real issue down below.
Change-Id: I7a47e6260ed51a3b7d9665b3a4510520429ae158
2019年10月10日 17:55:28 -07:00
Thiago da Silva
d667affb6f Create segment container w/ same policy as primary
When users upload an MPU object, s3api will automatically
create a segment container if one doesn't already exist.
Currently, s3api will create the segment bucket using the
cluster's default storage policy. This patch changes that
behavior to use the same storage policy as the primary bucket.
Change-Id: Ib64a06868bd3670a1d4a1860ac29122e1ede7c39
Closes-Bug: 1832390
2019年10月09日 17:23:26 +02:00
Zuul
1c0661e920 Merge "Start building py3 docker images" 2019年10月07日 21:57:15 +00:00
Zuul
c5fa19709b Merge "Add commands to ring-builder to change region / zone" 2019年10月07日 15:16:38 +00:00
Christian Schwede
98f9781096 Add commands to ring-builder to change region / zone
Currently one has to remove and re-add devices when the region or zone needs to
be changed. Adding the subcommands set_region and set_zone simplifies this, now
it is possible to change the region and/or zone easily. Note that there is no
change to the required rebalancing; it is likely that data still needs to be
moved within the cluster.
This is mostly copy-n-paste of the existing set_weight subcommand and adopting
tests accordingly. Some duplicated code in the tests has been aggregated as
well.
Change-Id: I37dd8e8ac24e2b0bb196758449a1d91a769b2e96
2019年10月04日 21:56:12 -07:00
Pete Zaitcev
bb5fa0ea2e tests: bust md5 of object not footers
The test test_PUT_ec_fragment_quorum_archive_etag_mismatch
busts the md5 in server.py, so it ends damaging the md5 of
footers instead of the fragment archive. It appears that the
intention of the test was to check the integrity verification
for fragment archive, so change the test to bust diskfile.py
instead.
Change-Id: I54a203bb637d5f5814e8df2b4297758b0b72adac
2019年10月04日 21:24:30 -07:00
Zuul
ff91df2302 Merge "ring: Track more properties of the ring" 2019年10月05日 02:17:35 +00:00
Zuul
70aeea86ee Merge "s3api: paginate listings when aborting MPUs" 2019年10月04日 22:23:43 +00:00
Zuul
b79b8f4358 Merge "Imported Translations from Zanata" 2019年10月04日 19:38:13 +00:00
Thiago da Silva
3f7ffbc2cc Start building py3 docker images
Change-Id: Id6f1075b2774536bb095de0904a1cdcf2b34b0fd
2019年10月04日 14:20:25 +02:00
OpenStack Proposal Bot
cb76e00e90 Imported Translations from Zanata
For more information about this automatic import see:
https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
Change-Id: I40ce1d36f1c207a0d3e99a3a84a162b21b3c57cf
2019年10月04日 07:05:07 +00:00
Zuul
52484bc7f9 Merge "PDF Documentation Build tox target" 2019年10月04日 06:47:08 +00:00
527a57ffcd Update master for stable/train
Add file to the reno documentation build to show release notes for
stable/train.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/train.
Change-Id: Ia93e0b690f47c6231423a25dfd6a108a60378a21
Sem-Ver: feature
2019年10月03日 11:18:54 -07:00
Tim Burke
8a4becb12f Authors/changelog for 2.23.0
Also, make some CHANGELOG formatting more consistent.
Change-Id: I380ee50e075a8676590e755f24a3fd7a7a331029
2.23.0
2019年10月02日 16:10:09 -07:00
Zuul
6114965ab9 Merge "Fix some request-smuggling vectors on py3" 2019年10月02日 23:09:48 +00:00
Tim Burke
bf9346d88d Fix some request-smuggling vectors on py3
A Python 3 bug causes us to abort header parsing in some cases. We
mostly worked around that in the related change, but that was *after*
eventlet used the parsed headers to determine things like message
framing. As a result, a client sending a malformed request (for example,
sending both Content-Length *and* Transfer-Encoding: chunked headers)
might have that request parsed properly and authorized by a proxy-server
running Python 2, but the proxy-to-backend request could get misparsed
if the backend is running Python 3. As a result, the single client
request could be interpretted as multiple requests by an object server,
only the first of which was properly authorized at the proxy.
Now, after we find and parse additional headers that weren't parsed by
Python, fix up eventlet's wsgi.input to reflect the message framing we
expect given the complete set of headers. As an added precaution, if the
client included Transfer-Encoding: chunked *and* a Content-Length,
ensure that the Content-Length is not forwarded to the backend.
Change-Id: I70c125df70b2a703de44662adc66f740cc79c7a9
Related-Change: I0f03c211f35a9a49e047a5718a9907b515ca88d7
Closes-Bug: 1840507
2019年10月02日 08:20:20 -07:00
Matthew Oliver
0217b12b6d PDF Documentation Build tox target
This patch adds a `pdf-docs` tox target that will build
PDF versions of our docs. As per the Train community goal:
 https://governance.openstack.org/tc/goals/selected/train/pdf-doc-generation.html
Add sphinxcontrib-svg2pdfconverter to doc/requirements.txt
to convert our SVGs.
Story: 2006122
Task: 35515
Change-Id: I26cefda80d3234df68d7152b404e0a71da74ab90
2019年10月01日 15:47:11 -07:00
Zuul
2f7b4440d4 Merge "py3: Allow percentages in configs" 2019年09月30日 02:49:59 +00:00
Zuul
4e3304073c Merge "Add experimental job to test upgrades from stein" 2019年09月28日 18:17:20 +00:00
Zuul
c01e9bd964 Merge "py3: decode stdout from backgrounded servers" 2019年09月28日 18:09:47 +00:00
Tim Burke
be41721888 Add experimental job to test upgrades from stein
Also, correct the version that we check out when upgrading from stable
branches.
Change-Id: Ie733bc50466c66d6e6eb5c6bd42e42a05ef88798
2019年09月28日 08:53:07 -07:00
Zuul
01596bd7bc Merge "proxy: Don't trust Content-Length for chunked transfers" 2019年09月27日 23:00:51 +00:00
Zuul
ac21dd3d40 Merge "Make sharding methods with only one job" 2019年09月27日 20:45:35 +00:00
Tim Burke
9a33365f06 py3: Allow percentages in configs
Previously, configs like
 fallocate_reserve = 1%
would cause a py3 backend server to fail to start, complaining like
 configparser.InterpolationSyntaxError: Error in file
 /etc/swift/object-server/1.conf.d: '%' must be followed
 by '%' or '(', found: '%'
This could also come up in proxy-server configs, with things like
percent signs in tempauth password.
In general, we haven't really thought much about interpolation in
configs. Python's default ConfigParser has always supported it, though,
so we got it "for free". On py2, we didn't really have to think about
it, since values like "1%" would pass through just fine. (It would blow
up a SafeConfigParser, but a normal ConfigParser only does replacements
when there's something like a "%(opt)s" in the value.)
On py3, SafeConfigParser became ConfigParser, and the old interpolation
mode (AFAICT) doesn't exist.
Unfortunatley, since we "supported" interpolation, we have to assume
there are deployments in the wild that use it, and try not to break
them. So, do what we can to mimic the py2 behavior.
Change-Id: I0f9cecd11f00b522a8486972551cb30af151ce32
Closes-Bug: #1844368 
2019年09月27日 11:41:12 -07:00
Tim Burke
ad7f7da32d py3: decode stdout from backgrounded servers
Otherwise, when we go to print() it, we get a bunch of b"" strings.
Change-Id: If62da0b4b34b9d1396b5838bf79ff494679f1ae3
2019年09月26日 22:04:38 -07:00
Zuul
2d87ad6333 Merge "sharder: Keep cleaving on empty shard ranges" 2019年09月27日 01:42:09 +00:00