* 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
Split requires in to pip-requires and test-requires.
Updated install_venv to know about test-requires.
Change-Id: I739f42c8676c40e2203cc0bc4aa9763ffac999a9
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
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
We'll use commit b9dde8d0e317203e349b8e4bca5bc9923c11974e. This will help ensure our tests don't fail due to a changing keystone trunk
Change-Id: Ie9b8f0bd13b974817e8ce7de08033ab3f5bcce0c
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
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
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
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
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.
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.
Adds POST/PUT capabilities to the SwiftBackend
Adds lots of unit tests for both FilesystemBackend and SwiftBackend
Removes now-unused tests.unit.fakeswifthttp module
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.