46 Commits

Author SHA1 Message Date
Brian Waldon
5182c1eb21 API v2 controller/serialization separation
* images and access are now separated into deserializers, controllers, and serializers
* now using schemas to valide incoming requests
* adding create methods for image access
* removing ImageNotFound as it was only being generated by fakes, using NotFound until the backend is updated

Change-Id: Ida3c1b117ee0147e818b74518e84ef9101cbdfc3
2012-04-11 09:15:18 -07:00
Brian Waldon
094ba9db22 Updating version of Keystone
* Remove invalid Keystone + Glance functional tests
* Fixes bug 957181

Change-Id: Id6c2dfc8b80c3a8913bf054fd97831f7e58c892d
2012-03-16 15:28:07 -07:00
Monty Taylor
d26f66bce5 Align to jenkins tox patterns.
Split requires in to pip-requires and test-requires.
Updated install_venv to know about test-requires.

Change-Id: I739f42c8676c40e2203cc0bc4aa9763ffac999a9
2012-02-25 17:39:00 -08:00
Eoghan Glynn
f8f9f17112 Support non-UTC timestamps in changes-since filter
Fixes glance aspect of lp 837464

Prevously only Zulu time was supported in the changes-since filter,
i.e. timestamps formatted as %Y-%m-%dT%H:%M:%SZ

We now support arbitrary timezones, with the offset from UTC expressed
via the ISO 8601 ±hh:mm notation.

Microsecond accurracy is also optionally supported in timestamps.

Notes:

- glance.common.utils.parse_isotime(), isotime(), & normalize_time()
  are prime candidates for promotion to openstack-common, as these
  methods will be useful in nova also

- this patch introduces a new dependency on python-iso8601, which
  has already been packaged for Fedora, EPEL and Ubuntu/Debian.

Change-Id: I4c80522bcaa14feef93f5f9fbcaaca6a74b6a5f4
2012-02-17 20:17:38 +00:00
Andrew Hutchings
e4db87ce4c Make Glance work with SQLAlchemy 0.7
Fix execption caught during tests
Fix test failure wiping out engine in use

Fixes bug 892754

Change-Id: I9de6f077af656730c95bc715c2b765b0c49c7d3c
2012-02-08 23:05:21 +00:00
Eoghan Glynn
7696ae5f24 Use sendfile() for zero-copy of uploaded images.
Implements bp support-sendfile

Avoid needless client-side copying through userspace of uploaded
image file content, using pysendfile to wrap the sendfile() system
call instead of reading the file one chunk at a time.

The existing iterator pattern is maintained for consistency and
to allow send progress to be followed by wrapping the iteration.

The performance gain only applies to the client-->glance API service
leg, so whether the overall speed-up is noticeable depends on the
image store in use. For example, it would be imperceptible with a
storage backend showing relatively high PUT latency, such as S3,
as the blocking Store.add() call would dominate.

At the other extreme, uploading large images via the loopback to
file-based store is about 60% faster. Detailed performance figures
for more realistic scenarios to follow when hardware is available
for benchmarking.

Change-Id: Ia8c74e76d3d6c63e9a9b38ab455a4e6edb47fba9
2012-02-08 17:38:04 +00:00
Monty Taylor
eea25b4149 Prep tox config for jenkins builds.
Change-Id: Id81588d3a2aabc0931d5bf12f078d8f770305e69
2012-02-06 08:31:49 -08:00
Wayne A. Walls
fdb7b21235 Fixes LP 922723
Versions pycrypto in pip-requires

Change-Id: Id053d8ed0bd4b8c5ae45c2d4727708ed790dbefe
2012-02-02 20:56:50 +00:00
Brian Lamar
16b682d273 Cap boto version at 2.1.1
boto 2.2.x is not building and should be capped so it does not
break the build process.

Change-Id: I6a49e44458fb691fb3b60afc6871cf74031d3f40
2012-02-01 11:24:19 -05:00
Brian Waldon
d03e347e7b Lock keystone to specific commit in pip-requires
We'll use commit b9dde8d0e317203e349b8e4bca5bc9923c11974e. This will help ensure our tests don't fail due to a changing keystone trunk

Change-Id: Ie9b8f0bd13b974817e8ce7de08033ab3f5bcce0c
2011-12-08 13:56:32 -05:00
Jay Pipes
b183f43792 Fixes LP Bug#850377
Reworks Keystone functional tests to not depend on
a local Keystone (or Glance client) installation path.

Adds deps to tools/pip-requires with comments on
why they are needed for installing Keystone via pip.

Change-Id: I17c92e8ab37ef116d13e7b87719af4c0988450f9
2011-12-01 10:30:36 -05:00
Monty Taylor
5650bd22b7 Added missing depend on nosexcover.
Also reverted sqlalchemy.

Change-Id: I815635ef618304123de89f6a10e97cd353e1237b
2011-11-16 14:48:56 -02:00
Monty Taylor
6eb2831459 Removed some cruft.
Removed builddeb.sh - we don't use it.
Removed a reference to pep8 skipping vcsversion due to bzr bug.
Updated sqlalchemy in the pip-requires to allow/use 0.7.1 or later to match
Nova installs.

Change-Id: I2da2b39efd0b1b192a490509a44cb1f641b86092
2011-11-16 03:01:56 -02:00
Stuart McLaren
5e6fb33b22 Adds option to encrypt 'location' metadata.
Implements blueprint swift-location-credentials

When the new option is enabled the location metadata
(which may include user credentials) is encrypted
before being sent to the registry server.

Change-Id: I072e3f5c81f187435b1c156627076d5fde087af5
2011-11-03 17:25:01 +00:00
Brian Lamar
d521d6529e Removed 'mox==0.5.0' and replaced with just 'mox' in tools/pip-requires.
I was getting an error from pip stating: Could not find a version that
satisfies the requirement mox==0.5.0 (from versions: ).

Potentially pip is messed up, but all tests seem to run with the latest
version of mox (0.5.3).

Change-Id: Id6a38766290a20d752177e8d272284b7b632156b
2011-10-24 16:27:01 -05:00
Brian Waldon
8f926f7190 Removing duplicate mox install in pip-requires
Change-Id: I62864aa1d177a758c2cac3bc3e768c5e833703e9
2011-10-24 12:17:42 -04:00
Johannes Erdfelt
091aae8a6d Add notifications for uploads, updates and deletes
Change-Id: I372f77fe2d1a575f2108c9b8d1f69301c0d5eb5e
2011-08-15 19:58:57 +00:00
jaypipes@gmail.com
6cf96437ef Make sure xattr>=0.6.0 in pip-requires 2011-08-01 11:42:58 -04:00
Justin Shepherd
ae980abbb6 Installed nose-exclude, ./run_tests.sh --unittests-only add '--exclude-dir=tests/functional' to NOSEARGS 2011-07-30 00:12:44 -05:00
jaypipes@gmail.com
ba7cd33d47 Merge trunk 2011-07-29 14:02:03 -04:00
Johannes Erdfelt
78e3738bba hashlib exists all of the way back to python 2.5, there's no need to install
an additional copy
2011-07-29 15:31:43 +00:00
jaypipes@gmail.com
d962ee01c9 Merge trunk 2011-07-28 11:42:45 -04:00
Brian Waldon
23a1457db9 adding run_tests.sh -p 2011-07-27 17:06:01 -04:00
jaypipes@gmail.com
dfc71f44f2 Typo in error condition for create_bucket_on_put, make body seekable in req object, and remove +glance from docs and configs 2011-07-26 10:26:19 -04:00
Rick Harris
2dbc2fb65a Adding API call to query for cache entries 2011-07-12 04:09:36 -05:00
jaypipes@gmail.com
4825c942c7 Merge trunk 2011-07-06 17:35:38 -04:00
jaypipes@gmail.com
b51934d9e7 Merge trunk and resolve conflict in pip-requires 2011-06-22 13:14:00 -04:00
Justin Shepherd
96acd63435 merged trunk 2011-06-22 09:19:33 -05:00
Brian Waldon
e0f7e6d9a0 upgrading webob and fixing tests 2011-06-21 12:31:54 -04:00
Justin Shepherd
0811301e0d adding hashlib as a dependency to pip-requires (not 100% sure it is not part of the base install though) 2011-06-17 19:58:15 -05:00
Justin Shepherd
fe242a2ee4 Added httplib2 dependency to tools/pip-requires
rewrote the test #0 - #6 for testcase (test_get_head_simple_post)
2011-06-15 21:58:49 -05:00
jaypipes@gmail.com
d3efc550a8 Add webob>=1.0.7 requirement to tools/pip-requires 2011-06-09 13:05:19 -04:00
jaypipes@gmail.com
745f3a6607 Merge trunk 2011-06-02 10:31:38 -04:00
jaypipes@gmail.com
ccdc3a8b46 Merge trunk 2011-05-25 13:19:05 -04:00
Ewan Mellor
65d06e2f84 Bug #787296: test_walk_versions fails with SQLalchemy 0.7
Cap SQLalchemy and sqlalchemy-migrate at 0.6.x.  This works around the
problem where test_walk_versions fails with 0.7.

It's obviously not a long-term fix.
2011-05-23 19:01:54 -07:00
Brian Waldon
f8dd785a96 adding Authors functionality; fixing one rogue pep8 violation 2011-04-27 11:00:49 -07:00
jaypipes@gmail.com
12a0b2d5f4 Completes the S3 storage backend. The original code did not actually fit
the API from boto it turned out, and the stubs that were in the unit test
were hiding this fact.

Adds a unit test that gets S3 testing up to snuff with the Swift backend.
2011-04-25 12:11:31 -04:00
jaypipes@gmail.com
2cf64655da Adds ability for Swift to be used as a full-fledged backend.
Adds POST/PUT capabilities to the SwiftBackend
Adds lots of unit tests for both FilesystemBackend and SwiftBackend
Removes now-unused tests.unit.fakeswifthttp module
2011-02-27 15:54:29 -05:00
jaypipes@gmail.com
bc310ced44 Merge trunk 2011-02-04 19:05:23 -05:00
jaypipes@gmail.com
294228aacb Removes lockfile and custom python-daemon server initialization
in favour of paste.deploy.

We use a solution that is a hybrid of the code in Nova and Swift:

* We continue to use the object-based WSGI Server/Router objects
  in glance.common.wsgi.
* We load options from a configuration file like Swift does, merging
  in the typed options returned from glance.common.config.parse_options()

NOTE: Due to http://trac.pythonpaste.org/pythonpaste/ticket/379, we
removed the CLI option --log-format and use a hard-coded DEFAULT_LOG_FORMAT.
You are still able to adjust the log format using the --log-config-file
option, however, and setting the format string in the log config file.
2011-02-03 10:23:48 -05:00
Rick Harris
9c5290bcb5 Adding migration management commands 2011-02-02 01:43:16 +00:00
jaypipes@gmail.com
604a843357 Remove use of gflags entirely. Use optparse. 2011-01-28 15:54:34 -06:00
Ken Pepple
361ec47e95 fixes setup install pip dependencies 2011-01-23 12:20:28 -08:00
jaypipes@gmail.com
d0e32336aa Removes Twisted from tools/install_venv.py and zope.interface from tools/pip-requires. Shaved a full 45 seconds for me off of run_tests.sh -V -f now we're not downloading a giant Twisted tarball... 2011-01-20 14:48:11 -05:00
jaypipes@gmail.com
9c2a8f25d9 Fixes binaries, updates WSGI file to more recent version from Nova, and fixes an issue in SQLAlchemy API that was being hidden by stubs and only showed up when starting up the actual binaries and testing... 2010-12-18 13:00:21 -05:00
jaypipes@gmail.com
63fe51eab5 First round of cleaning up the unittests. Adds test suite runner, support for virtualenv setup and library dependencies, resolves issues with ImportErrors on cloudfiles, adds pymox/stubout support and splits the backend testing into distinct unittest cases. 2010-10-08 16:42:13 -04:00