14 Commits

Author SHA1 Message Date
Joel Wright
24673f8d19 Add importable SwiftService incorporating shell.py logic
This patch adds a SwiftService class that incorporates the high
level logic from swiftclient/shell.py. It also ports shell.py to
use the new class, and updates the code in swiftclient/multithreading.py
to allow the SwiftService to be used for multiple operations whilst
using only one thread pool.

Currently, code that imports swiftclient has to have its own logic for
things like creating large objects, parallel uploads, and parallel
downloads. This patch adds a SwiftService class that makes that
functionality available in Python code as well as through the shell.

Change-Id: I08c5796b4c01001d79fd571651c3017c16462ffd
Implements: blueprint bin-swift-logic-as-importable-library
2014-08-26 14:14:21 +02:00
Steve Martinelli
6b836ac368 Update theme for docs
The current developer docs theme used is out of sync with the other
openstack projects. This patch will update the docs to provide a more
consistent look and feel when using developer docs

Change-Id: I2c66f60f6cfdd7b7b50a457c931f11851f668fa6
2014-07-24 20:59:45 -04:00
Christian Berendt
d08bd458be fixed several pep8 issues
* E111 indentation is not a multiple of four
  * E128 continuation line under-indented for visual indent
  * E265 block comment should start with '# '
  * E713 test for membership should be 'not in'

Tested with pep8 version 1.5.6 (2014-04-14).

Change-Id: I7f85c143d463c501a0df20724362ad5c0f2d4dde
2014-05-21 16:31:53 +00:00
Samuel Merritt
7d61c54399 Make pbr only a build-time dependency.
This lets you build python-swiftclient 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 python-swiftclient 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: I85d4d77aacf094e48d39e48e750594b95dbc7af0
2013-10-10 11:57:47 -07:00
Darrell Bishop
9198e95468 Move multi-threading code to a library.
This patch extracts the multi-threading code from bin/swift into
swiftclient/multithreading and adds tests.  In particular, this new way
of doing it (with context managers) will prevent non-daemonic threads
from wedging the process when unexpected exceptions happen.

I enabled reporting of which lines, specifically, are not covered by
unit tests (added -m option to "coverage report" in .unittests).

This patch includes a drive-by fix for uploading a segmented file with
--use-slo when that object already exists.  A key of "name" was used
instead of "path", raising KeyError.

There's also another drive-by fix for uploading segmented objects with
--use-slo.  Commit 874e0e4427b80e1b15b74a1557b73ba9d61443ca regressed
this by removing the capturing of thread-worker results in
QueueFunctionThread.run().  This patch restores that functionality and
the feature (uploading SLO objects).

Change-Id: I0b4f677e4a734e83d1a25088d9a74f7d46384e53
2013-07-28 22:08:17 -07:00
Darrell Bishop
1d4d51b218 Allow storage url override for both auth vers.
When --os-storage-url is specified on the command-line to bin/swift, it
will override the used storage URL regardless of authentication for both
authentication version 1 and version 2.  This can be used to bypass a
load-balancer to hit a specific proxy server for testing/debugging
purposes.

Within the client library, this feature is accessed by passing the
desired storage URL into swiftclient.client.Conection.__init__() via the
os_options keyword argument.  For example:

  conn = Connection(auth_url, user, key, os_options={
    'object_storage_url': 'http://overridden.storage.url/AUTH_foo'})

This patch also adds a dependency on mock>=0.8.0, which is the same as
openstack/swift.

Change-Id: Id2a36ed6abffd65e7762b6beea5bbfc6c036e848
2013-07-05 14:12:59 -05:00
Monty Taylor
8b80285da6 Update to latest oslo version/setup.
Change-Id: I7bd38b950ef9fea8b6eaa1df599085a1c64d8b61
2013-01-14 03:29:22 -08: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
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
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
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
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
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