Default the authurl/user/key constructor arguments for the
Connection class to None, as these are not required in the
preauthurl/preauthtoken case
Change-Id: I445a5d365212c365ecc691c0a670a226e2b7954a
Add trove classifier to have the client listed among the
other OpenStack-related projets on PyPI.
Change-Id: I7b2a9b0e163b79593662bfa799f076f538e3d7ca
Signed-off-by: Doug Hellmann <doug.hellmann@dreamhost.com>
Add --os-region-name (and OS_REGION_NAME env) to bin/swift
Add region_name to the os_options in Connection class.
bug 1019832
Change-Id: Id8515d97e5351638dce10581c7368f61518e1fa7
This patch adds a "--no-download" option to the "download" command.
When given, all writing to disk is bypassed, while still actually
downloading the data and validating etags.
This can be handy when you're using the swift command-line client to
test out a swift cluster and don't want client-side disk writing to be a
bottle-neck (but you still want to know about any etag validation
failures).
Change-Id: I0a511f473a64820161d1eb529b995900742794f2
This changes every command-line option with a '_' in its name
and changes them to '-'. The old option names are maintained
for backward compatibility but are no longer in the help text.
BP command-options
Change-Id: I79b3c03f59ce8e253aa0dcbf0c2ed5a56d71cd0c
Description: The swift command tool will set the auth version
to 2 if OS_AUTH_URL is set even use -V 1 option to set Version
to 1.So when use nova/glance client and swift client in the
same shell, and export environment OS_AUTH_URL, it will lead
swift client to raise 400 error if swift not use keystone
for auth.
Fixes bug 1034158
Change-Id: I8003ff2ad4ac25fd710f87c4dab1507f6040ed3d
Adding nosehtmloutput as a test dependency allows nose to output its
results to an html file. This will be used by Jenkins to save logs on
a different server.
Change-Id: I4292ba27db9371d5a8dae4b901a46165b9ee6721
When downloading the same containers or objects with multiple
invocations of the swift command-line client, you'll get better
throughput and avoid "hot spots" if each client randomizes its download
order.
Note that the marker must be picked *before* shuffling the containers or
objects.
Change-Id: I7240eda57a80e1708c2483827c6329fd57d5fc51
When using the swift command-line tool to evaluate a Swift cluster, it
can be very handy to get some insight into the download timing. This
patch adds timing data to verbose output for the download command. For
each downloaded file, the printed line will also contain:
- The time it took to send the request and receive the header
- The total time the request took (including writing the file out
locally)
- The average throughput of the download
Change-Id: Ib4a995623af973bb1eed4fb52c8c0e5da935964d
Fix race condition in _delete_container() where all elements of
object_queue have been removed, but the last one (per thread) may not
have actually been deleted yet when the container deletion thread calls
conn.delete_container(container). Fixes bug 1032879.
Improves container deletion throughput by immediately deleting
containers with no objects instead of waiting for all pending object
deletes to complete. Fixes bug 1032878.
Change-Id: I404229a4c608995294e0ada77724ac8afe8d6f3c
Documenation builds specify a version in doc/source/conf.py that is
used in appropriate places through out the documentation. Previously
this value had not been defined properly and documentation builds
failed. Retrieve the version info using pkg_resources and set it
properly.
Use openstack.common.version to consume the generated version information
for documentation. Additional, add a swiftclient.__version__ member which
will return the version of swiftclient being used.
Change-Id: I14f3abdf00da3f9ea7d0651efe76b08f69ddabae
- This allows us to delegate all 2.0 authentication directly to the
library without reimplementing ourselves.
- Support reusing a token / storage-url without re-authenticating every
time via the switch os_storage_url os_auth_token.
- Allow auth via tenant_id instead of just tenant_name via the switch
os_tenant_id.
- Refactor a bit to make it easier in the future to add new OS features
(i.e: region).
- Implements blueprint use-keystoneclient-for-swiftclient.
- Fixes bug 1016641.
Change-Id: I532f38a68af884de25326aaac05a2050f5ffa1c7
The 'delete', 'download', and 'upload' commands use multiple threads
for concurrency. However, the number of threads was hardcoded at
10. This patch simply makes those configurable.
For example, if I'm downloading a lot of files but I don't want to
saturate the downstream on my Internet connection, I might choose to
use only 1 or 2 threads for object downloads. Conversely, if I'm
uploading a lot of small files across a fast network, I would want
lots of threads to speed things along.
The default number of threads is 10, so the default behavior is
unchanged.
Change-Id: I64c06741b24ca97fef5ded206d7e898bf5cab3b8
We allow having the syntax tenant:user in user since this would make
things easier when switching from auth 1.0 to auth 2.0 and not having to
specify a tenant_name.
In the feature we should use the auth functions from keystoneclient and
be done with those changes, we could then auth by user/tenant-ID.
Change-Id: Ie49748105a678fb9369494e77d41d934d57a39a7
The first time the user presses ctrl-c, all QueueFunctionThreads will
have abort=True set on them. This will cause them to finish the work
they're doing (e.g. finish uploading the current file) but then ignore
any further work and let the process exit. Also, a notification of
this is written to stderr so the user understands why the process
didn't exit immediately.
The second time the user presses ctrl-c, the process will exit
immediately. Any in-progress operations are abandoned.
Change-Id: Ie6927f78726ac1c7998e920cb608682ead10f25b
Before, if a QueueFunctionThread's function raised an exception, then
its thread would log the exception and exit, leaving the rest of the
jobs in the queue and ensuring that the swift client would hang.
Now, the exception is logged and processing continues, so all the
messages get handled eventually and the client exits.
Change-Id: I43d4df212847a2a85732b304de319ea2cce82ddd
Also lock down the version of pep8 in
tools/test-requires. python-swiftclient had a passing test suite
yesterday, but today a new and stricter version of pep8 came out, and
the test suite started to fail. Specifying a particular version of
pep8 will prevent that.
Change-Id: I9092d2225c01b99158229918c86b185cdac9d362
To better facilitate the building and publishing of sphinx
documentation by Jenkins we are moving all openstack projects with
sphinx documentation to a common doc tree structure. Documentation
goes in project/doc/source and build results go in project/doc/build.
Change-Id: Ibe6745cac73817ea06faca77367b4269d5137a24
- Fixes LP Bug #1008667.
- Fix a pep8 error along the way to pass jenkins.
- Update openstack.swift.common to get jenkins passing for 1.2 pep8
error.
Change-Id: I4ce86a94e1c799807a2ad8e7e1c502b1eb8a51c7