| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Change-Id: Ia50c3f50aa306b4c8c9519ce9b58315e4b14b263
|
|
|
|
| |
Change-Id: I03a51448221e2e9bb6eb1981d125fe59971d5dc7
|
|
|
|
| |
Change-Id: Ie567b59943029f3ae569576b5c8f1d0942a36a0a
|
|
|
|
|
|
|
|
|
| |
Remove the dependence on swift, import the only needed functions from
swift.common.utils to swiftbench.utils
Add tests for utils using mock instead.
Change-Id: I1b69dce750b55f3ee0e999fb5a7100cf811f7ebe
|
|
|
|
|
|
|
|
|
| |
- Update .gitignore to ignore all testrunners.
- Move swift-bench to swiftbench.
- Move tests to tests/
- Add some simple {test-,}requirements (more works needs to be done to get proper versioning)
Change-Id: Iab4d65f02cbce8c99ecafa30d15c4cb11f0b4293
|
|
|
|
| |
Change-Id: Ifbb8941e916a586db0f71cbc734cadd8b2ade791
|
|
|
|
| |
Change-Id: Iddce2d474bf7a44d6c0b479d8d01a768877695ca
|
|
|
|
|
| |
Change-Id: I7c3df47c31759dbeb3105f8883e2688ada848d58
Closes-bug: #1214176
|
|
|
|
| |
Change-Id: I53cea28a6d7593a1b308dbcf77dddf7f40d76cb2
|
|
|
|
|
|
|
|
| |
except x,y: was deprected and is removed in Python 3.x.
Use "except x as y:" instead which works in any Python
version >= 2.6.
Change-Id: I7008c74b807340f3457d3a0c8bd0b83f23169d14
|
|
|
|
|
|
|
|
| |
Address all the "hacking" lines that are flagged, and all the modules
that just have one item flagged.
Change-Id: I372a4bdf9c7748f73e38c4fd55e5954f1afade5b
Signed-off-by: Peter Portante <peter.portante@redhat.com>
|
|
|
|
|
|
|
| |
Single-host bench controller should be monkey-patched to achieve
maximum concurrency.
Change-Id: I77c63773edc7427d06c2fbfb67ededf36d9913d3
|
|
|
|
|
|
|
|
|
|
|
| |
With enable write affinity, it's necessary to wait until
replication has moved things to their proper homes before
running delete request. With write affinity turned on, only
nodes in local region will get the object right after PUT request.
Fix bug #1198926
Change-Id: I3aa8933d45c47a010ae05561e12176479e7c9bcc
|
|
|
|
| |
Change-Id: I9496dab9e8f779a7ae045bb73b2cf8e77bda0d30
|
|
|
|
|
|
|
| |
Replaced it with explicitly importing the gettext function, which is
significantly more readable.
Change-Id: Ia0a7edcf685fb6e4052a8290367b233169529ab8
|
|
|
|
|
| |
Change-Id: I5286cd1b066da11eef98dbfea9252366ca3ffd9c
Signed-off-by: Peter Portante <peter.portante@redhat.com>
|
|
|
|
|
|
|
|
| |
Protect X-Remove-Account-Meta-Quota-Bytes same as X-Account-Meta-Quota-Bytes
Fixes bug 1204110
Change-Id: Ibac5b555f50b1fe41b2999c0d5776d90f9c9f3d1
|
|
|
|
|
|
|
| |
I focussed primarily on F-category violations, they are all but all fixed with
this patch.
Change-Id: I343f6945c97984ed1093bc347b6def6994297041
|
|
|
|
|
|
|
| |
Ignore build/ directory, which is auto-created when running `python
setup.py bdist` like dist/ directory.
Change-Id: Ie58936320d995e4e81f8929128475e538665bde8
|
|
|
|
|
|
|
|
|
| |
When swift-bench is run in direct mode, don't try to delete the
containers which weren't created.
Fixes bug 1177960.
Change-Id: Ice07e8729bb776e2b215894cf95fb80b64167a8d
|
|
|
|
|
|
| |
remove duplicated key from swift-bench bin; and also add .idea to gitignore
Change-Id: I31360489716d03324b8d2bb1c51e282393069c13
|
|
|
|
|
|
|
|
|
| |
Using root logger will make public module log failed by unknow keyword.
Just change the logger name to module itself could dismiss this impact.
And disable logger.propagate could prevent double outputing.
Change-Id: I18696d124ebac9ca970d502558972e51de759097
Fixes: bug #1105133
|
|
|
|
|
|
|
|
|
|
|
| |
pyflakes itself can't be used in any automated gating way, because there are
two sets of false errors it raises. However, as an exercise, cleaning up the
'valid' ones uncovered three actual bugs. The other changes (mostly unused
variables) are included here for fun.
Command run: pyflakes swift | grep -v "undefined name '_'"
Change-Id: I18696bf047dedad1a9fdbde3463e214fba95f7c6
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These settings:
1. are already exposed via config file
2. were not exposed as command-line options, and
3. are things I wanted on the command line while benchmarking recently.
I didn't include short options for --(get|put|delete)-concurrency
since I couldn't think of good single-letter ones, and optparse won't
take "-gc", "-pc", or "-dc".
Change-Id: I0bd7c7ae2892244eed37b8c10c9357dc7e1190d3
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If you specified num_gets = 0 for a benchmarking run (say, if you're
benchmarking PUT rate), you'd still get each swift-bench-client
process doing 1 GET request. Now you don't.
This should also fix the case where you've got more objects than
swift-bench-client processes, for example when you're uploading a few
large objects and then doing lots of parallel GETs of those
objects. Now you'll get the number requested, not
max(number-requested, number-of-bench-clients).
Change-Id: Ied9eb733dd9af51a3c6af8b815ad6cff0ff746b7
|
|
|
|
|
|
|
|
|
| |
Ran dos2unix on LICENSE to convert to unit style line endings.
This makes building packages which contain the LICENSE file
a bit nicer... and matches other LICENSE files under the openstack
umbrella which have unix style line endings as well.
Change-Id: Id724d1ba402a590725a2d200f5e0599bce696e5a
|
|
|
|
|
| |
Change-Id: I5fe38f28896d086e56ba9e718b02227d87dd4a2d
Signed-off-by: Peter Portante <peter.portante@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before, swift-bench would create a string of the right size and pass
that to [direct_]put_object. Uploading 5 GB objects w/concurrency of
4? Hope you've got a spare 20 GB of RAM in that machine.
Now it lazily generates chunks (of size 64 KiB) to send. In my limited
testing, this keeps RAM usage low while not impacting speed.
There's backwards-compatibility code in
direct_client.direct_put_object for any callers who are still passing
in strings. There aren't any such in Swift's codebase, though. All one
of those callers now pass an iterable.
Fixes bug 911925.
Change-Id: I40669fc00c7fb6699d8fb514e1be9b69436eca42
|
|
|
|
| |
Change-Id: I72448cd8578b53a658f151354a26066772e4b9ec
|
|
|
|
|
|
| |
cleaned up pep8 (v1.3.3) in all files this patch touches
Change-Id: I30e8314dfdc23fb70ab83741a548db9905dfccff
|
|
|
|
|
|
|
|
| |
This patch ensures that the command-line arg format (boolean)
doesn't conflict with the conf file format (string) and the
proper action is taken.
Change-Id: I3284096e1a9478897e1c3246ab190b46d2590243
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch merely fixes a selection of files to the point where
pep8 1.3.3 is happy. Most of the errors are indentation related to
continued lines (E126, E127, E128), bracket positions (E124) and the
use of backslash (E502).
Patch 2 fixes David's comments regarding backslash and an odd comment
- thanks David!
Change-Id: I4fbd77ecf5395743cb96acb95fa946c322c16560
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
You run one or more swift-bench-client processes like this:
$ swift-bench-client 127.0.0.1 20001
$ swift-bench-client 127.0.0.1 20002
Then you run swift-bench with a new option, --bench-clients (-b), which is
specified once for each swift-bench-client:
$ swift-bench -b 127.0.0.1:20001 -b 127.0.0.1:20002
You get log lines from each client (interleaved) along with a final report
for all clients:
127.0.0.1:20002 swift-bench-server 2012-08-25 22:44:06,148 INFO Auth version: 1.0
127.0.0.1:20001 swift-bench-server 2012-08-25 22:44:06,148 INFO Auth version: 1.0
127.0.0.1:20001 swift-bench-server 2012-08-25 22:44:12,249 INFO 83 PUTS [0 failures], 41.5/s
127.0.0.1:20002 swift-bench-server 2012-08-25 22:44:14,430 INFO 74 PUTS [0 failures], 34.3/s
...
127.0.0.1:20002 swift-bench-server 2012-08-25 22:45:18,942 INFO Auth version: 1.0
127.0.0.1:20002 swift-bench-server 2012-08-25 22:45:20,946 INFO 238 DEL [2 failures], 118.9/s
swift-bench 2012-08-25 22:45:27,549 INFO 2000 PUTS **FINAL** [0 failures], 56.8/s
swift-bench 2012-08-25 22:45:27,550 INFO 30000 GETS **FINAL** [50 failures], 974.6/s
swift-bench 2012-08-25 22:45:27,550 INFO 2000 DEL **FINAL** [20 failures], 237.1/s
The concurrency, PUT count, and GET count config settings are divided by
the number of bench_clients. In other words, the same volume of work is
attempted (vs. not specifying --bench-clients), but it can now span
servers and CPU cores.
Benchmark containers are created (if use_proxy = yes) and deleted (if
delete = yes), with appropriate concurrency, in the initiating
swift-bench process, not any of the swift-bench-client processes.
Change-Id: Idbf31a23093244ab357a9bf77e6031257774f24a
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
swift-bench now honors the environment variables, ST_AUTH, ST_USER, and
ST_KEY like python-swiftclient does.
Added --lower-object-size (or -l) command-line option which, if
specified, will turn a specified --object-size into --upper-object-size.
It will raise a ValueError if --object-size is not specified or is <=
--lower-object-size.
BenchController how handles SIGINT (KeyboardInterrupt) similarly to the
swift command-line client: the first Ctrl-C will make it fast-track to
completion (no new PUT or GET operations are started, but everything PUT
is DELETE'ed). A second Ctrl-C will immediately exit. The behavior for
SIGTERM is unchanged (a single SIGTERM will immediately terminate the
process).
Added a sample configuration file for swift-bench, with documenting
comments.
Change-Id: I6f394ad995300fc8af3d565d95c3b45559ee510a
|
|
|
|
|
|
| |
in the random sizes, which are bounded (lower_object_size and upper_object_size) by the user inputs.
Change-Id: I64647c5d613a0794f0807886a4833cd5c31c0c5e
|
|
|
|
|
|
|
| |
We're still using saio:11000 in a few spots so a few things
don't work out of the box on the saio. Fixes bug #1024561
Change-Id: I226de54c2785b0d0b681c8d0cc24260adbd3d663
|
|
|
|
|
|
| |
Fixes Bug #1011727
Change-Id: I6681bd85a5ddb82a1059913ae90696e5994aa906
|
|
|
|
|
|
|
|
| |
- It has been to its own gerrit project.
- direct_client should follow next.
- Implements blueprint clientbindings.
Change-Id: I3bb50c95eba81302bfec71cb7ce5288b85a41dc0
|
|
|
|
|
|
| |
Replace HTTP status code with constants like HTTP_OK, HTTP_NOT_FOUND, etc.
Change-Id: I76cd8bf880e7269454192a3bc4b027a297741247
|
|
|
|
| |
Change-Id: Ifd909d3561c2647770a7e0caa3cd91acd1b4f298
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Adds tox config
- based on the config from python-quantumclient and updated for
test, pep8 and coverage execution as per nova's run_tests.sh.
* Adds nosetests defaults in setup.cfg
* Adds runtime dependencies in tools/pip-requires
- dependencies were gathered by referencing the packages used in
creation of a Swift All In One. Versions were determined by
checking the swift-core/trunk ppa or, failing that, the version
available in lucid.
* Adds test dependencies in tools/test-requires
* Updates swift/common/middleware/formpost.py for pep8 compliance
* Adds instructions for executing the tests with Tox to the
developer_guidelines
* Adds instructions for installing openstack.nose_plugin to
developer_saio
* Fixes bug 909177
Change-Id: I5407924d2181e9ab335aaf76bf30c8d40deccbb4
|
|
|
|
|
|
| |
This cleanup is for the swift.common package
Change-Id: Ibe74d4f0ae0376395f620b9be24a52cb8a4a5d98
|
|
|
|
| |
Change-Id: Iae6a3d5341d9621034c772174abfa3f10e7e335b
|
| |
|
| |
|
| |
|
|
|
|
| |
other than having objects in it
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New log level "notice" set to python log level 25 maps to syslog priority
LOG_NOTICE. Used for some messages in the proxy server, but will be available
to all apps using the LogAdapter returned from get_logger. Cleaned up some
code in get_logger so that console logging works with log_routes and removed
some unneeded bits. NamedFormatter functionality was split between LogAdapter
(which now inherits from logging.LoggerAdapter) and TxnFormatter (which now is
only responsible for adding the log records txn_id).
The proxy server app now configures a separate logger for access line logging.
By default it will use the same settings as the regular proxy logger.
|