60 Commits

Author SHA1 Message Date
David Kranz
4b4fbf0dc0 Allow endpoint type to be specified.
Fixes bug 1037690.

Change-Id: I36b3807b2f3234c778316f1e743d27304755aed8
2012-09-04 12:53:18 -04:00
Jenkins
c97a90c847 Merge "PEP8 issues fixed" 2012-08-29 17:26:41 +00:00
Chmouel Boudjnah
cec3a79b8b PEP8 cleanup.
Some trivial pep8 cleanup.

Change-Id: I0f02c0730bf889b2b89063bef6bcc8b71d36505c
2012-08-29 13:40:32 +02:00
Ray Chen
93b5997843 PEP8 issues fixed
1. Have a better indent in doc/source/conf.py
2. Fix an import issue

Change-Id: I5811c195157706d2a85c0fd47666e67f94b2c558
2012-08-29 13:43:15 +08:00
Darrell Bishop
c94ca0e298 Add ability to download without writing to disk.
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
2012-08-28 13:41:50 -07:00
lrqrun
3207e36984 Fix PEP8 issues.
Fix some pep8 issues in doc/source/conf.py make the code looks pretty.

Change-Id: Icc5ce260aaae8a2c436f5146840ffde4e6ef2839
2012-08-28 20:00:49 +08:00
Jenkins
58baa42075 Merge "Add nosehtmloutput as a test dependency." 2012-08-28 06:05:23 +00:00
Dean Troyer
55f0886066 Change '_' to '-' in options
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
2012-08-23 14:16:50 -05:00
Jenkins
46aad0e8fb Merge "Ensure Content-Length header when PUT/POST a container" 2012-08-22 00:04:17 +00:00
Clark Boylan
b0eb070655 Add nosehtmloutput as a test dependency.
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
2012-08-21 14:40:00 -07:00
Jenkins
6941260d07 Merge "Shuffle download order (of containers and objects)" 2012-08-17 22:41:58 +00:00
Darrell Bishop
9083beb41f Shuffle download order (of containers and objects)
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
2012-08-16 21:39:00 -07:00
Darrell Bishop
9a3aa066c3 Add timing stats to verbose download output.
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
2012-08-16 21:30:54 -07:00
Sam Morrison
29c3af811c Ensure Content-Length header when PUT/POST a container
Fixes bug #951155

Change-Id: Ib1455ddb142137cc0946d50a66540eae6402f598
2012-08-15 15:02:49 +10:00
gholt
99b8253450 Make python-keystoneclient optional
A lot of us don't use Keystone.

Change-Id: Ifcd5fe609efbe950e935c0e0cfee200687b69eda
2012-08-14 15:07:54 +00:00
Darrell Bishop
c87458e229 Fix container delete throughput and 409 retries.
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
2012-08-03 19:34:40 -07:00
Jenkins
1f6096e063 Merge "Use keystoneclient for authentication." 2012-08-02 17:42:40 +00:00
Jenkins
b0aaa3a3c9 Merge "Removes the title "Swift Web" from landing page." 2012-07-16 18:34:49 +00:00
Clark Boylan
7618feaeb1 Consume version info from pkg_resources.
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
2012-07-11 12:26:14 -05:00
Chmouel Boudjnah
c8163f4112 Use keystoneclient for authentication.
- 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
2012-07-06 18:40:45 +00:00
annegentle
44e62db095 Removes the title "Swift Web" from landing page.
Also want to test the DocImpact flag for notifications.

Change-Id: I4e12d76050720bec5126db3c87391dbbe54773a2
2012-07-05 07:51:24 -04:00
Jenkins
c2a3fc56fc Merge "Now url encodes/decodes x-object-manifest values" 2012-07-04 09:41:04 +00:00
Jenkins
a325aad8a4 Merge "Add post-tag versioning." 2012-07-01 17:57:03 +00:00
gholt
36daad953a Now url encodes/decodes x-object-manifest values
Change-Id: I8ce7fa1cb0aba3aca622c7a793ee5d330fe4e265
2012-06-28 23:43:30 +00:00
Jenkins
47f8786cc9 Merge "Make swift exit on ctrl-c." 2012-06-27 19:52:24 +00:00
Samuel Merritt
f6c7fec991 Configurable concurrency for swift client.
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
2012-06-27 12:31:21 -07:00
Jenkins
0519e58e2c Merge "Allow specify tenant:user in user." 2012-06-27 19:30:48 +00:00
Jenkins
2e05673e5c Merge "Make CLI exit nonzero on error." 2012-06-27 19:30:15 +00:00
Chmouel Boudjnah
2bcfe0b4c8 Allow specify tenant:user in user.
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
2012-06-27 19:19:37 +00:00
Samuel Merritt
c6cc7eaa81 Make swift exit on ctrl-c.
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
2012-06-27 12:03:46 -07:00
Jenkins
8396e3a4cb Merge "Make swift not hang on error." 2012-06-27 19:02:58 +00:00
Monty Taylor
51bceabd18 Add post-tag versioning.
Change-Id: Id921105dd2fa818cac7c66dc620b266fd5639d72
2012-06-26 21:23:25 -05:00
Dan Prince
3a11e185b3 Don't suppress openstack auth options.
Fixes LP Bug #1016600.

Change-Id: I837728aa5445b6ccd07c47bdb4d99f0c84a1d7b2
2012-06-22 11:12:21 -04:00
Samuel Merritt
6c1813dd34 Make swift not hang on error.
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
2012-06-18 09:47:33 -07:00
Jenkins
a92a0fa0e4 Merge "Add missing test/tools files to the tarball." 2012-06-15 22:42:08 +00:00
Samuel Merritt
c82773d3d1 Fix pep8 errors w/pep8==1.3.
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
2012-06-15 12:18:08 -07:00
Dan Prince
d20dcdd097 Add missing test/tools files to the tarball.
Fixes LP Bug #1013292.

Change-Id: I23ccc476d5e1fa2b131d93970fd3f0e65d633fab
2012-06-14 13:25:53 -04:00
Clark Boylan
12519ce026 Add build_sphinx options.
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
2012-06-11 14:51:40 -07:00
Samuel Merritt
6119de7e0b Make CLI exit nonzero on error.
This makes it much easier to detect failure in scripts.

Fixes bug 973557.

Change-Id: Ifd16ffcb7be85e45582095246cc29cfe44e2a173
2012-06-07 12:17:51 -07:00
Chmouel Boudjnah
dec11f6ec9 Add doc and version in swiftclient.__init__.py
- Add parseable version in swiftclient.__init.py
- Generate rst doc like done for swift.

Change-Id: I408fbc36693772d2ef6f4823757dd1f4c830193f
2012-06-07 12:06:28 +02:00
Dan Prince
b13823ef18 Raise ClientException for invalid auth version.
- 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
2012-06-06 19:07:08 +02:00
Monty Taylor
7bbb5c72ca Version bump after pypi release.
Change-Id: Ic8a6d5de110165dbf2be106e35326288a3ecc928
2012-05-22 08:29:09 -04:00
Monty Taylor
c9dfd144d1 Removed now-unused .cache.bundle references.
Change-Id: I236cc26be12c21743197e93ed304655702cb1ff2
1.1.0
2012-05-21 10:58:35 -04:00
Monty Taylor
bee9ae5042 Added setup.cfg for verbose test output. 2012-05-21 09:09:13 -04:00
Chmouel Boudjnah
eb775a46ed Add run_tests.sh script here.
- Snatched from python-glanceclient repo.
2012-05-21 12:52:55 +02:00
Chmouel Boudjnah
deff7eca1c Adding fake_http_connect to test.utils.
- Copy fake_http_connect function from swift repository.
2012-05-21 12:51:54 +02:00
Chmouel Boudjnah
09c484d1b0 Merge pull request #1 from emonty/master
Add the bits needed by the project testing interface
2012-05-16 15:25:31 -07:00
Monty Taylor
7df012329f Add openstack project infrastructure. 2012-05-16 17:30:46 -04:00
Chmouel Boudjnah
a42892c1f9 Add logging.
- If SWIFTCLIENT_DEBUG env is defined then print the full query with curl.
2012-05-09 15:50:17 +01:00
Chmouel Boudjnah
27c8fee760 Defined version to 1.0 2012-05-08 16:30:49 +01:00