2011-08-03  jaypipes@gmail.com

	Removes the call to webob.Request.make_body_seekable() in the
	general images controller to prevent the image from being copied
	into memory. In the S3 controller, which needs a seekable file-like
	object when calling boto.s3.Key.set_contents_from_file(), we work
	around this by writing chunks of the request body to a tempfile on
	the API node, then stream this tempfile to S3.

2011-08-03  jaypipes@gmail.com

	Make sure we're passing the temporary file in a read-mode file descriptor to S3

2011-08-03  jaypipes@gmail.com

	Removes the call to webob.Request.make_body_seekable() in the
	general images controller to prevent the image from being copied
	into memory. In the S3 controller, which needs a seekable file-like
	object when calling boto.s3.Key.set_contents_from_file(), we work
	around this by writing chunks of the request body to a tempfile on
	the API node, then stream this tempfile to S3.

2011-08-03  Brian Waldon  <brian.waldon@rackspace.com>

	- removed curl api functional tests
	- moved httplib2 api functional tests to tests/functional/test_api.py

2011-08-03  Brian Waldon  <brian.waldon@rackspace.com>

	merging trunk

2011-08-02  Brian Waldon  <brian.waldon@rackspace.com>

	removing curl tests and moving httplib2 tests

2011-08-03  Soren Hansen  <soren@linux2go.dk>

	Make tests a package under glance.

2011-08-03  Soren Hansen  <soren@linux2go.dk>

	Move tests under the glance namespace.

2011-08-02  Brian Waldon  <brian.waldon@rackspace.com>

	Add filter support to bin/glance index and details calls

2011-08-02  Brian Waldon  <brian.waldon@rackspace.com>

	merging trunk

2011-08-01  Brian Waldon  <brian.waldon@rackspace.com>

	adding sort_key/sort_dir to details

2011-08-01  Brian Waldon  <brian.waldon@rackspace.com>

	merging lp:~rackspace-titan/glance/registry-marker-lp819551

2011-08-01  Brian Waldon  <brian.waldon@rackspace.com>

	adding sort_key/sort_dir params

2011-08-01  Brian Waldon  <brian.waldon@rackspace.com>

	updating documentation

2011-08-01  Brian Waldon  <brian.waldon@rackspace.com>

	making limit option an integer

2011-08-01  Brian Waldon  <brian.waldon@rackspace.com>

	updating broken tests

2011-08-01  Brian Waldon  <brian.waldon@rackspace.com>

	adding limit/marker to bin/glance details call

2011-08-01  Brian Waldon  <brian.waldon@rackspace.com>

	adding limit/marker params to bin/glance index

2011-08-01  Brian Waldon  <brian.waldon@rackspace.com>

	merging trunk

2011-06-19  Brian Waldon  <brian.waldon@rackspace.com>

	updating docs; adding support for status filter

2011-06-19  Brian Waldon  <brian.waldon@rackspace.com>

	adding query filters to bin/glance details

2011-06-19  Brian Waldon  <brian.waldon@rackspace.com>

	adding query filters to bin/glance index

2011-08-02  Brian Waldon  <brian.waldon@rackspace.com>

	Update registry db api to properly handle pagination through sorted results.

2011-08-01  Brian Waldon  <brian.waldon@rackspace.com>

	adding --fixes

2011-08-01  Brian Waldon  <brian.waldon@rackspace.com>

	adding complex test cases to recreate bug; updating db api to respect marker

2011-08-02  jaypipes@gmail.com

	Our code doesn't work with python-xattr 0.5.0, and that's the version installed in RH/Centos :( Andrey has updated the RPM config to specify 0.6.0, and this does the same to pip-requires.

2011-08-01  jaypipes@gmail.com

	Make sure xattr>=0.6.0 in pip-requires

2011-08-02  Justin Shepherd  <jshepher@rackspace.com>

	Replaced occurances of |str(e)| with |"%s" % e|.
	
	Except in bin/glance, where |unicode(e).split('\n')| makes more sense than |("%s" % e).split('\n')|

2011-07-29  Justin Shepherd  <jshepher@rackspace.com>

	adding --fixes to commit

2011-07-29  Justin Shepherd  <jshepher@rackspace.com>

	Replaced occurances of |str(e)| with |"%s" % e|.
	
	Except in bin/glance, becaue |unicode(e).split('\n')| is prettier than |("%s" % e).split('\n')|

2011-08-02  jaypipes@gmail.com

	First round of refactoring on stores.
	
	Refactors stores to be stateful:
	
	* Creates a new base Store class
	* Adds code for new Store modules to "register" with Glance
	and ensure that when the Controller(s) are spun up, that
	the stateful store objects are all created properly and passed
	configuration options. This allows us to refactor a bunch of code
	out of the various store adapters that is constantly re-checking
	configuration option values during each call to get/add/delete, etc
	* Removes the now-unnecessary repetitve option-checking code in the
	Swift, S3, and filesystem drivers

2011-08-02  jaypipes@gmail.com

	Remove expected_size stuff

2011-08-02  jaypipes@gmail.com

	Make calling delete on a store that doesn't support it raise an exception, clean up stubout of HTTP store and testing of http store

2011-08-01  jaypipes@gmail.com

	Add configuration check for Filesystem store on configure(), not every call to add()

2011-08-01  jaypipes@gmail.com

	Refactor S3 store to make configuration one-time at init versus every method call invocation

2011-08-01  jaypipes@gmail.com

	Refactor Swift store to make configuration one-time at init versus every method call invocation

2011-08-01  jaypipes@gmail.com

	Forgot to add a new file...

2011-08-01  jaypipes@gmail.com

	Refactors stores to be stateful:
	
	* Creates a new base Store class
	* Adds code for new Store modules to "register" with Glance
	and ensure that when the Controller(s) are spun up, that
	the stateful store objects are all created properly and passed
	configuration options. This allows us to refactor a bunch of code
	out of the various store adapters that is constantly re-checking
	configuration option values during each call to get/add/delete, etc
	
	Work TODO:
	
	* Remove the now-unnecessary repetitve option-checking code in the
	Swift, S3, and filesystem drivers

2011-07-31  Justin Shepherd  <jshepher@rackspace.com>

	Use of "%default" in help string does not work, have to use "%(default)s". Per the 4th example http://docs.python.org/dev/library/argparse.html#prog

2011-07-29  Justin Shepherd  <jshepher@rackspace.com>

	This one has been bugging me for a while, finally found out how to use the local default variable in the help string.

2011-07-31  Justin Shepherd  <jshepher@rackspace.com>

	Added nose-exclude to pip-requires.
	
	'./run_tests.sh --unittests-only' adds '--exclude-dir=tests/functional' to noseargs.

2011-07-30  Justin Shepherd  <jshepher@rackspace.com>

	Installed nose-exclude, ./run_tests.sh --unittests-only add '--exclude-dir=tests/functional' to NOSEARGS

2011-07-29  jaypipes@gmail.com

	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-07-29  jaypipes@gmail.com

	Fix for boto1.9b issue 540 (http://code.google.com/p/boto/issues/detail?id=540)

2011-07-29  jaypipes@gmail.com

	Merge trunk

2011-07-28  jaypipes@gmail.com

	Merge latest trunk

2011-07-28  jaypipes@gmail.com

	Merge trunk

2011-07-26  jaypipes@gmail.com

	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  jaypipes@gmail.com

	Add functional test case for checking delete and get of non-existing image

2011-07-25  jaypipes@gmail.com

	Forgot to put back fix for the get_backend_class problem...

2011-07-25  jaypipes@gmail.com

	Add test case for S3 s3_store_host variations and fixes for URL bug

2011-07-25  jaypipes@gmail.com

	Missing import of common.config in S3 driver

2011-07-25  jaypipes@gmail.com

	Fixed review stuff from Brian

2011-07-22  jaypipes@gmail.com

	Merge trunk and resolve conflicts. All tests passing for me...

2011-07-06  jaypipes@gmail.com

	Merge trunk

2011-06-22  jaypipes@gmail.com

	Merge trunk and resolve conflict in pip-requires

2011-06-09  jaypipes@gmail.com

	Add webob>=1.0.7 requirement to tools/pip-requires

2011-06-02  jaypipes@gmail.com

	Merge trunk

2011-06-02  jaypipes@gmail.com

	Add workaround for Webob bug issue #12 and fix DELETE operation in S3 where URL parsing was broken

2011-06-01  jaypipes@gmail.com

	Add ability to create missing s3 bucket on first post, similar to Swift driver.

2011-05-31  jaypipes@gmail.com

	OK, fixes the issue where older versions of webob.Request did not
	have the body_file_seekable attribute. After investigation, turned
	out that webob.Request.make_body_seekable() method was available in
	all versions of webob, so we use that instead.
	
	Also ran into a bug in the HMAC library:
	http://bugs.python.org/issue5285
	http://trac.edgewall.org/ticket/8083
	
	I resolved this by ensuring that access_key and secret_key were
	UTF-8 encoded in the S3 store.

2011-05-29  jaypipes@gmail.com

	Fix up unit tests for S3 after note from Chris. Also fix bug when S3 test was skipped, was returning error by accident.

2011-05-27  jaypipes@gmail.com

	* Adds functional test that works with Amazon S3
	* Fixes parsing of "S3 URLs" which urlparse utterly barfs on because
	Amazon stupidly allows forward slashes in their secret keys
	* Update /etc/glance-api.conf for S3 settings
	
	Future refactoring:
	
	* Make the cURL API functional test a base test class and
	extend it to allow setting the default store and store settings. There's
	a bit of duplicate code between this new test case and the cURL test
	case, but we can rework it later.
	* Document the S3 store (need to do this better with Swift, too)

2011-05-27  jaypipes@gmail.com

	Merge trunk

2011-05-25  jaypipes@gmail.com

	Merge trunk

2011-04-26  jaypipes@gmail.com

	bcwaldon review fixups

2011-04-25  jaypipes@gmail.com

	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-07-29  Johannes Erdfelt  <johannes.erdfelt@rackspace.com>

	Remove unnecessary hashlib entry in pip-requires.
	
	Glance currently requires at least Python 2.5 (and actually 2.6 because of inconsistent use of with_statement) which includes hashlib as part of the standard library.

2011-07-29  Johannes Erdfelt  <johannes.erdfelt@rackspace.com>

	Add myself to Authors (again)

2011-07-29  Johannes Erdfelt  <johannes.erdfelt@rackspace.com>

	hashlib exists all of the way back to python 2.5, there's no need to install
	an additional copy

2011-07-28  Rick Harris  <rconradharris@gmail.com>

	Adds image_cache_enabled config needed to enable/disable the image-cache in the glance-api.

2011-07-27  Rick Harris  <rconradharris@gmail.com>

	Adding back image_cache_enabled config option for glance-api

2011-07-28  jaypipes@gmail.com

	Add more unit tests for URI parsing and get_backend_class() (which is going away in refactor-stores branch, but oh well..)
	
	Now raising exception.BadStoreUri if glance.store.location.StoreLocation.parse_uri() is passed any URI that looks like this:
	
	swift://user:pass@http://authurl.com/v1/container/obj

2011-07-28  jaypipes@gmail.com

	Added unit tests for swift_auth_url @property. It was broken. startwith('swift+http') matches swift+https first

2011-07-28  jaypipes@gmail.com

	Re-add else: raise

2011-07-28  jaypipes@gmail.com

	Final fixes merging Rick's swift_auth_url @property with previous URI parsing fixes that were in the S3 bug branch...

2011-07-28  jaypipes@gmail.com

	merge trunk

2011-07-27  jaypipes@gmail.com

	Add tests for bad schemes passed to get_backend_class()

2011-07-27  jaypipes@gmail.com

	Add tests for bad URI parsing and get_backend_class()

2011-07-28  Rick Harris  <rconradharris@gmail.com>

	Don't tee into the cache if that image is already being written.

2011-07-27  Rick Harris  <rconradharris@gmail.com>

	Don't tee same image into cache multiple times

2011-07-28  Brian Waldon  <brian.waldon@rackspace.com>

	This updates the pep8 version in pip-requires and updates run_tests.sh to provide a '-p' option that allows for just pep8 to be run.

2011-07-27  Brian Waldon  <brian.waldon@rackspace.com>

	adding run_tests.sh -p

2011-07-27  Rick Harris  <rconradharris@gmail.com>

	Fixes two things:
	
	* Swift client library requires scheme to be specified
	* Don't swallow exceptions on object get

2011-07-27  Rick Harris  <rconradharris@gmail.com>

	PEP8 whitespace fix

2011-07-27  Rick Harris  <rconradharris@gmail.com>

	Swift client library needs scheme

2011-07-27  Brian Waldon  <brian.waldon@rackspace.com>

	Include missing bin/glance-scrubber in tarball

2011-07-27  Thierry Carrez  <thierry@openstack.org>

	Include bin/glance-scrubber in tarball binaries

2011-07-26  Jason Kölker  <jason@koelker.net>

	Merge diablo-3 development from trunk (rev160)

2011-07-26  Thierry Carrez  <thierry@openstack.org>

	Merge diablo-3 development from trunk (rev160)

2011-06-29  Brian Waldon  <brian.waldon@rackspace.com>

	Fix for bug 803188. This branch also proposed for merging into trunk

2011-06-28  Thierry Carrez  <thierry@openstack.org>

	Backport for bug 803055

2011-06-28  Thierry Carrez  <thierry@openstack.org>

	Backport for bug 803055

2011-06-28  Brian Waldon  <brian.waldon@rackspace.com>

	Merge diablo-2 development work

2011-06-28  Thierry Carrez  <thierry@openstack.org>

	Merge diablo-2 development from trunk (rev146)

2011-07-26  Kevin L. Mitchell  <kevin.mitchell@rackspace.com

	One more auth_tok-related change, to make it easier for nova to use the client without violating any abstraction boundaries.

2011-07-25  Kevin L. Mitchell  <kevin.mitchell@rackspace.com

	Boy, I'm an idiot...put this in the wrong branch directory...

2011-07-26  Jason Koelker  <jason@koelker.net>

	Add fix for Bug #816386. Wait up to 5 min for the image to be deleted, but at least 15 seconds.

2011-07-26  Jason Koelker  <jason@koelker.net>

	remove superfluous if statement

2011-07-26  Jason Koelker  <jason@koelker.net>

	Loop up to 5 min checking for when the scrubber deletes

2011-07-26  Rick Harris  <rick.harris@rackspace.com>

	New local filesystem image cache with REST managment API
	
	Additional changes include:
	
	* Added glance-reaper binary
	* Moved invalid cache entry reaping from glance-pruner to glance-reaper
	* Added stalled image detection and reaping
	* Added incomplete image listing (shows which images are currently being fetched)
	* Added percent progress to incomplete image listing and invalid image listing (useful when looking for failure trends)
	* Added ability to reap-invalid and reap-stalled directly from glance command. Helpful for testing and recovering from failures immediately (w/o having to wait for cron to kick off glance-reaper)
	* Renamed glance cache management commands. Now all start with 'cache-' and they better mirror the naming of 'image' commands
	* Fixed bug where print_help didn't have access to parser to print usage

2011-07-25  Rick Harris  <rconradharris@gmail.com>

	PEP8 Fixes

2011-07-25  Rick Harris  <rconradharris@gmail.com>

	Using DELETE instead of POST reap_invalid, reap_stalled

2011-07-25  Rick Harris  <rconradharris@gmail.com>

	Adding logging if unable to delete image cache file

2011-07-25  Rick Harris  <rconradharris@gmail.com>

	Ensure image is active before trying to fetch it

2011-07-25  Rick Harris  <rconradharris@gmail.com>

	Handling ZeroDivision Error

2011-07-25  Rick Harris  <rconradharris@gmail.com>

	Using alternate logging syntax

2011-07-25  Rick Harris  <rconradharris@gmail.com>

	Tighten up file-mode handling for cache entry

2011-07-25  Rick Harris  <rconradharris@gmail.com>

	Adding request context handling

2011-07-25  Rick Harris  <rconradharris@gmail.com>

	Merging trunk

2011-07-22  Rick Harris  <rconradharris@gmail.com>

	Updating setup.py per bin/image_cache removal

2011-07-22  Rick Harris  <rconradharris@gmail.com>

	Removing bin/image_cache directory

2011-07-22  Rick Harris  <rconradharris@gmail.com>

	Removing cache enabled flag from most confs

2011-07-22  Rick Harris  <rconradharris@gmail.com>

	Removing imagecache from default WSGI pipeline

2011-07-22  Rick Harris  <rconradharris@gmail.com>

	Merging in adding_image_caching

2011-07-22  Rick Harris  <rconradharris@gmail.com>

	Importing module rather than function

2011-07-22  Rick Harris  <rconradharris@gmail.com>

	PEP 8 fixes

2011-07-22  Rick Harris  <rconradharris@gmail.com>

	Adding reap stalled images

2011-07-22  Rick Harris  <rconradharris@gmail.com>

	Returning number of files deleted by cache-clear

2011-07-22  Rick Harris  <rconradharris@gmail.com>

	Returning num_reaped from reap_invalid

2011-07-22  Rick Harris  <rconradharris@gmail.com>

	Moving bin to image_cache/

2011-07-22  Rick Harris  <rconradharris@gmail.com>

	Fixing comment

2011-07-22  Rick Harris  <rconradharris@gmail.com>

	Adding reaper script

2011-07-21  Rick Harris  <rconradharris@gmail.com>

	Adding percent done to incomplete and invalid image listing

2011-07-21  Rick Harris  <rconradharris@gmail.com>

	Renaming tmp_path to incomplete_path

2011-07-21  Rick Harris  <rconradharris@gmail.com>

	Renaming tmp_path to incomplete_path

2011-07-21  Rick Harris  <rconradharris@gmail.com>

	Renaming purge_all clear, less elegant variation

2011-07-21  Rick Harris  <rconradharris@gmail.com>

	Refactor to use lookup_command, so command map is used in one place

2011-07-21  Rick Harris  <rconradharris@gmail.com>

	Refactoring to use same command map between functions

2011-07-21  Rick Harris  <rconradharris@gmail.com>

	Renaming to cache-prefetching

2011-07-21  Rick Harris  <rconradharris@gmail.com>

	Renaming to cache-prefetch

2011-07-21  Rick Harris  <rconradharris@gmail.com>

	Renaming to cache-purge-all

2011-07-21  Rick Harris  <rconradharris@gmail.com>

	Renaming to cache-purge

2011-07-21  Rick Harris  <rconradharris@gmail.com>

	Renaming to cache-invalid

2011-07-21  Rick Harris  <rconradharris@gmail.com>

	Beginning to normalize names

2011-07-21  Rick Harris  <rconradharris@gmail.com>

	Refactoring out common code

2011-07-21  Rick Harris  <rconradharris@gmail.com>

	Refactoring prefetch

2011-07-21  Rick Harris  <rconradharris@gmail.com>

	Refactoring purge

2011-07-21  Rick Harris  <rconradharris@gmail.com>

	Refactoring purge_all

2011-07-21  Rick Harris  <rconradharris@gmail.com>

	Refactoring listing of prefetching images

2011-07-21  Rick Harris  <rconradharris@gmail.com>

	Using querystring params for invalid images

2011-07-20  Rick Harris  <rconradharris@gmail.com>

	Moving cached image list to middleware

2011-07-20  Rick Harris  <rconradharris@gmail.com>

	Initial work on moving cached_images to WSGI middleware

2011-07-20  Rick Harris  <rick.harris@rackspace.com>

	Namespacing xattr keys

2011-07-20  Rick Harris  <rick.harris@rackspace.com>

	PEP8 fixes

2011-07-14  Rick Harris  <rconradharris@gmail.com>

	Refactoring PrettyTable so it doesn't print the lines itself

2011-07-14  Rick Harris  <rconradharris@gmail.com>

	Adding pruner and prefetcher to setup.py

2011-07-14  Rick Harris  <rick.harris@rackspace.com>

	Removing extraneous text

2011-07-14  Rick Harris  <rick.harris@rackspace.com>

	PEP 8 fixes

2011-07-13  Rick Harris  <rick.harris@rackspace.com>

	Adding prefetching list to bin/glance

2011-07-13  Rick Harris  <rick.harris@rackspace.com>

	More cleanups

2011-07-13  Rick Harris  <rick.harris@rackspace.com>

	Adding prefetching of images

2011-07-13  Rick Harris  <rconradharris@gmail.com>

	Typo fix

2011-07-13  Rick Harris  <rconradharris@gmail.com>

	Removing test exception

2011-07-13  Rick Harris  <rconradharris@gmail.com>

	PEP 8 fixes

2011-07-13  Rick Harris  <rconradharris@gmail.com>

	Adding Error to invalid cache images

2011-07-13  Rick Harris  <rconradharris@gmail.com>

	Show invalid images from bin/glance

2011-07-13  Rick Harris  <rconradharris@gmail.com>

	Improving comments

2011-07-13  Rick Harris  <rconradharris@gmail.com>

	Cleaning up cache write

2011-07-13  Rick Harris  <rconradharris@gmail.com>

	Moving xattrs out to utils

2011-07-13  Rick Harris  <rconradharris@gmail.com>

	Clip and justify columns for display

2011-07-13  Rick Harris  <rconradharris@gmail.com>

	Including last accessed time in cached list

2011-07-13  Rick Harris  <rconradharris@gmail.com>

	Adding more comments

2011-07-13  Rick Harris  <rconradharris@gmail.com>

	Adding hit counter

2011-07-13  Rick Harris  <rick.harris@rackspace.com>

	Pruning invalid cache entries after grace period

2011-07-13  Rick Harris  <rick.harris@rackspace.com>

	Clear invalid images when purging all cached images

2011-07-13  Rick Harris  <rick.harris@rackspace.com>

	Rollback by moving images to invalid_path

2011-07-13  Rick Harris  <rick.harris@rackspace.com>

	Improving comments

2011-07-13  Rick Harris  <rick.harris@rackspace.com>

	PEP8 fixes

2011-07-13  Rick Harris  <rick.harris@rackspace.com>

	Adding cached image purge to bin/glance

2011-07-13  Rick Harris  <rick.harris@rackspace.com>

	Adding purge all to bin/glance

2011-07-13  Rick Harris  <rick.harris@rackspace.com>

	Adding catch_error decorator to bin/glance

2011-07-13  Rick Harris  <rick.harris@rackspace.com>

	Adding 'cached' command to bin/glance

2011-07-13  Rick Harris  <rick.harris@rackspace.com>

	Write incomplete files to tmp path

2011-07-12  Rick Harris  <rick.harris@rackspace.com>

	Adding purge_all, skip if set if xattrs arent supported

2011-07-12  Rick Harris  <rconradharris@gmail.com>

	Adding purge cache API call

2011-07-12  Rick Harris  <rconradharris@gmail.com>

	Adding API call to query for cache entries

2011-07-12  Rick Harris  <rconradharris@gmail.com>

	Create bin/glance-pruner

2011-07-12  Rick Harris  <rconradharris@gmail.com>

	Adding image_caching

2011-07-23  Jason Kölker  <jason@koelker.net>

	Allow delaying the actual deletion of an image.
	
	If glance-api.conf has delayed_delete set to False or not set at all (it defaults to False) immediatly delete the image. If delayed_delete is set to True glance-api sets the status to pending_delete but does not call the backend delete. From the user's point of view it is actually deleted, and future calls will 404.
	
	A new daemon glance-scrubber is introduced which looks for pending_delete images that are older than a configurable interval and will actually delete from the backend the images.

2011-07-22  Jason Koelker  <jason@koelker.net>

	have the scrubber init a real context instead of a dict

2011-07-22  Jason Koelker  <jason@koelker.net>

	merge trunk

2011-07-22  Jason Koelker  <jason@koelker.net>

	use runs_sql instead of hackery

2011-07-21  Jason Koelker  <jason@koelker.net>

	merge trunk

2011-07-15  Jason Koelker  <jason@koelker.net>

	make the tests work with new trunk

2011-07-15  Jason Koelker  <jason@koelker.net>

	merge trunk

2011-06-22  Jason Koelker  <jason@koelker.net>

	reset _MAKER every test and make sure to stop the servers

2011-06-22  Jason Kölker  <jason@koelker.net>

	yea python strings

2011-06-21  Jason Kölker  <jason@koelker.net>

	make image data a constant

2011-06-15  Jason Kölker  <jason@koelker.net>

	make sure it runs as a daemon for the tests

2011-06-15  Jason Kölker  <jason@koelker.net>

	default to no daemon

2011-06-15  Jason Kölker  <jason@koelker.net>

	also allow for daemon in the config file so that we can test it easier

2011-06-15  Jason Kölker  <jason@koelker.net>

	default to non-daemon mode

2011-06-15  Jason Kölker  <jason@koelker.net>

	change order of paramaters and make event optional

2011-06-13  Jason Kölker  <jason@koelker.net>

	remove eventlet import and leftover function from previous refactoring

2011-06-13  Jason Kölker  <jason@koelker.net>

	remove file that got resurrected by accident

2011-06-13  Jason Kölker  <jason@koelker.net>

	add functional tests of the scrubber and delayed_delete

2011-06-13  Jason Kölker  <jason@koelker.net>

	start the scrubber in addition to the api and registry

2011-06-13  Jason Kölker  <jason@koelker.net>

	add glance-scrubber to glance-control

2011-06-13  Jason Kölker  <jason@koelker.net>

	call it a Daemon, cuz it is

2011-06-13  Jason Kölker  <jason@koelker.net>

	Update Authors

2011-06-13  Jason Kölker  <jason@koelker.net>

	add the function to the stubs

2011-06-10  Jason Kölker  <jason@koelker.net>

	delayed scrubbing now works.

2011-06-10  Jason Kölker  <jason@koelker.net>

	add the scrubber startup script

2011-06-10  Jason Kölker  <jason@koelker.net>

	remove unnecessary option

2011-06-10  Jason Kölker  <jason@koelker.net>

	add pending_delete to stub api

2011-06-10  Jason Kölker  <jason@koelker.net>

	pep8 fixed

2011-06-10  Jason Kölker  <jason@koelker.net>

	pep8 fixes

2011-06-10  Jason Kölker  <jason@koelker.net>

	pass in the type we want so it gets converted properly

2011-06-10  Jason Kölker  <jason@koelker.net>

	self leaked ;(

2011-06-10  Jason Kölker  <jason@koelker.net>

	only return the results that we need to act on

2011-06-10  Jason Kölker  <jason@koelker.net>

	allow passing of time to get only results earlier than the time'

2011-06-09  Jason Kölker  <jason@koelker.net>

	server and scrubber work

2011-06-09  Jason Kölker  <jason@koelker.net>

	update the docstring to reflect current

2011-06-09  Jason Kölker  <jason@koelker.net>

	pass in a wakeup_time for the default time between database hits

2011-06-09  Jason Kölker  <jason@koelker.net>

	start making the server that will periodicly scrub

2011-06-09  Jason Kölker  <jason@koelker.net>

	Config file for the scrubber. We make our own connection to the db here and
	bypass using the registry client so we don't have to expose non-public
	images over the http connection.

2011-06-09  Jason Kölker  <jason@koelker.net>

	make the commits

2011-06-09  Jason Kölker  <jason@koelker.net>

	all delayed deletes will be going through a new service, if delayed_delete is False, then delete it right away, otherwise set it to pending_delete

2011-06-08  Jason Kölker  <jason@koelker.net>

	add scrub file

2011-06-08  Jason Kölker  <jason@koelker.net>

	set the image to pending delete prior to scheduling the delete

2011-06-08  Jason Kölker  <jason@koelker.net>

	refactor a bit so the db gets updated as needed and we only trigger the delay if the config option is set

2011-06-08  Jason Kölker  <jason@koelker.net>

	add scheduled_delete_from_backend which delays the deletion of images for at least 1 second

2011-06-08  Jason Kölker  <jason@koelker.net>

	don't delete directly but schedule deletion

2011-06-08  Jason Kölker  <jason@koelker.net>

	add the api function to get the images that are pending deleteion

2011-06-08  Jason Kölker  <jason@koelker.net>

	add in delayed delete options

2011-07-22  Kevin L. Mitchell  <kevin.mitchell@rackspace.com

	Adds authentication middleware support in glance (integration to keystone will be performed as a piece of middleware extending this and committed to the keystone repository).  Also implements private images.  No limited-visibility shared image support is provided yet.

2011-07-22  Kevin L. Mitchell  <kevin.mitchell@rackspace.com

	Take out extraneous comments; tune up doc string; rename image_visible() to is_image_visible(); log authorization failures

2011-07-22  Kevin L. Mitchell  <kevin.mitchell@rackspace.com

	Allow plugging in alternate context classes so the owner property and the image_visible() method can be overridden.

2011-07-22  Kevin L. Mitchell  <kevin.mitchell@rackspace.com

	Make a context property 'owner' that returns the tenant; this makes it possible to change the concept of ownership by using a different context object.

2011-07-22  Kevin L. Mitchell  <kevin.mitchell@rackspace.com

	Unit tests for the context's image_visible() routine

2011-07-22  Kevin L. Mitchell  <kevin.mitchell@rackspace.com

	We don't really need elevate()...

2011-07-21  Kevin L. Mitchell  <kevin.mitchell@rackspace.com

	Link incoming context with image owner for authorization decisions

2011-07-21  Kevin L. Mitchell  <kevin.mitchell@rackspace.com

	How in the world did I manage to forget this?  *sigh*

2011-07-21  Kevin L. Mitchell  <kevin.mitchell@rackspace.com

	Make tests work again

2011-07-21  Kevin L. Mitchell  <kevin.mitchell@rackspace.com

	pull-up from trunk

2011-07-20  Kevin L. Mitchell  <kevin.mitchell@rackspace.com

	Add in security context information

2011-07-20  Kevin L. Mitchell  <kevin.mitchell@rackspace.com

	Add owner to database schema

2011-07-21  jaypipes@gmail.com

	This patch:
	
	Overhaul the way that the store URI works. We can now support
	specifying the authurls for Swift and S3 with either an
	http://, an https:// or no prefix at all.
	
	The following specifies an HTTP Swift auth URL:
	
	swift_store_auth_address = http://localhost/v1
	
	The following specifies an HTTPS Swift auth URL:
	
	swift_store_auth_address = https://localhost/v1
	swift_store_autth_address = localhost/v1
	
	The default scheme for Swift auth URL is HTTPS. For S3,
	the default for the s3_store_service_address is HTTP,
	since boto uses private key signing over HTTP by default
	on the s3.amazonaws.com domain. Note that the new S3 stuff
	isn't merged yet...
	
	Future refactoring:
	
	* Instead of storing the store_uri in the database in images.location, split the store_uri out into component pieces in an ImageLocation table, reducing duplicate records in the registry database.
	
	* Never return the store_uri in the metadata. This contains security credentials (see LP Bug #755916)

2011-07-21  jaypipes@gmail.com

	PEP8 nit

2011-07-20  jaypipes@gmail.com

	One more try...

2011-07-20  jaypipes@gmail.com

	Yet another attempt to fix URIs

2011-07-20  jaypipes@gmail.com

	Fix URI parsing on MacOSX - Python 2.6.1 urlparse bugs

2011-07-20  jaypipes@gmail.com

	Merge trunk

2011-07-13  jaypipes@gmail.com

	Overhaul the way that the store URI works. We can now support
	specifying the authurls for Swift and S3 with either an
	http://, an https:// or no prefix at all.
	
	The following specifies an HTTP Swift auth URL:
	
	swift_store_auth_address = http://localhost/v1
	
	The following specifies an HTTPS Swift auth URL:
	
	swift_store_auth_address = https://localhost/v1
	swift_store_autth_address = localhost/v1
	
	The default scheme for Swift auth URL is HTTPS. For S3,
	the default for the s3_store_service_address is HTTP,
	since boto uses private key signing over HTTP by default
	on the s3.amazonaws.com domain. Note that the new S3 stuff
	isn't merged yet...

2011-07-11  jaypipes@gmail.com

	Merge trunk

2011-07-21  Justin Shepherd  <jshepher@rackspace.com>

	Added fix for Bug #813291: POST to /images setting x-image-meta-id to an already existing image id causes a 500 error.
	
	I came up with about 3 or 4 different ways of resolving this bug, and all tests pass. Let me know if you think this should be resolved in a different way.
	
	This branch also includes a test in tests/functional/test_httplib2_api.py that shows the 500 error.

2011-07-20  Justin Shepherd  <jshepher@rackspace.com>

	API is now returning a 409 error on duplicate POST. I also modified the testcase to expect a 409 response.

2011-07-19  Justin Shepherd  <jshepher@rackspace.com>

	left in 2 fixes.. removing redundant fix

2011-07-19  Justin Shepherd  <jshepher@rackspace.com>

	If meta-data contains an id field, pass it to _image_update()

2011-07-19  Justin Shepherd  <jshepher@rackspace.com>

	Adding functional test to show bug #813291

2011-07-20  Justin Shepherd  <jshepher@rackspace.com>

	Added 3 tests in tests/functional/test_httplib2_api.py to validate is_public filtering works.
	
	This is based off of functionality from a recent merge: https://code.launchpad.net/~vishvananda/glance/is-public-filter/+merge/68290
	
	Vish added unit tests for the bug, just wanted to make sure we had them tested in the functional tests also.

2011-07-19  Justin Shepherd  <jshepher@rackspace.com>

	fixed an inline comment

2011-07-19  Justin Shepherd  <jshepher@rackspace.com>

	removed pprint import, and added check for other 3 images to make sure is_public=True

2011-07-19  Justin Shepherd  <jshepher@rackspace.com>

	Added 3 tests to validate is_public filtering works

2011-07-19  Justin Shepherd  <jshepher@rackspace.com>

	Completed rewrite of tests/functional/test_curl_api.py using httplib2.

2011-07-18  Justin Shepherd  <jshepher@rackspace.com>

	removing pprint import

2011-07-18  Justin Shepherd  <jshepher@rackspace.com>

	completed rewrite of test_ordered_images().. this completes rewrite of test_curl_api using httplib2

2011-07-18  Justin Shepherd  <jshepher@rackspace.com>

	test_ordered_images() missing closing self.stop_servers()

2011-07-18  Justin Shepherd  <jshepher@rackspace.com>

	finished rewrite of test_filtered_images()

2011-07-11  Justin Shepherd  <jshepher@rackspace.com>

	rewrote test_traceback_not_consumed(), working on test_filtered_images()

2011-07-19  Vishvananda Ishaya  <vishvananda@gmail.com>

	Changes the default filtering of images to only show is_public to actually use a default filter instead of hard coding. This allows us to override the default behavior by passing in a new filter.

2011-07-18  Vishvananda Ishaya  <vishvananda@gmail.com>

	add tests and make None filters work

2011-07-18  Vishvananda Ishaya  <vishvananda@gmail.com>

	Change default is_public = True to just set a default filter instead of hard coding so it can be overridden

2011-07-09  Isaku Yamahata  <yamahata@valinux.co.jp>

	Only changes is reverting the patch that added migration to configure_db() and resets the in-memory SQLite database as the one used in functional testing. Yamahata's commits were unmodified...

2011-07-08  jaypipes@gmail.com

	Reverts commit that did db migration during configure_db() and makes functional tests use in-memory database again. The issues we were seeing had to do with the timeout not being long enough when starting servers with disk-based registry databases and migrate taking too long when spinning up the registry server... this was shown in almost random failures of tests saying failure to start servers. Rather than increase the timeout from 3 seconds, I reverted the change that runs migrate on every startup and cut the total test duration down about 15 seconds.

2011-07-08  Isaku Yamahata  <yamahata@valinux.co.jp>

	merged glance trunk

2011-07-02  Isaku Yamahata  <yamahata@valinux.co.jp>

	updated Authors

2011-06-30  Isaku Yamahata  <yamahata@valinux.co.jp>

	run_tests.py: make test runner accepts plugins
	
	With this changeset, useful plugins are available
	for unit test. Thus we can use debugger for unit tests with
	say, --pdb, --pudb, ...

2011-06-28  Isaku Yamahata  <yamahata@valinux.co.jp>

	run_tests.py: make test runner accepts plugins
	
	With this changeset, useful plugins are available
	for unit test. Thus we can use debugger for unit tests with
	say, --pdb, --pudb, ...

2011-06-30  Isaku Yamahata  <yamahata@valinux.co.jp>

	run_tests.py: make run_tests.py work.
	
	Without this patch, the following exception occurs.
	
	Traceback (most recent call last):
	File "run_tests.py", line 280, in <module>
	sys.exit(not core.run(config=c, testRunner=runner))
	File "/home/yamahata/openstack/src/glance/my/.glance-venv/lib/python2.6/site
	ackages/nose/core.py", line 283, in run
	return TestProgram(*arg, **kw).success
	File "/home/yamahata/openstack/src/glance/my/.glance-venv/lib/python2.6/site
	ackages/nose/core.py", line 118, in __init__
	**extra_args)
	File "/usr/lib/python2.6/unittest.py", line 817, in __init__
	self.runTests()
	File "/home/yamahata/openstack/src/glance/my/.glance-venv/lib/python2.6/site
	ackages/nose/core.py", line 197, in runTests
	result = self.testRunner.run(self.test)
	File "/home/yamahata/openstack/src/glance/my/.glance-venv/lib/python2.6/site
	ackages/nose/core.py", line 59, in run
	result = self._makeResult()
	File "run_tests.py", line 268, in _makeResult
	self.config)
	File "run_tests.py", line 183, in __init__
	if colorizer.supported():
	File "run_tests.py", line 92, in supported
	curses.setupterm()

2011-06-28  Isaku Yamahata  <yamahata@valinux.co.jp>

	unit/test_config.py: make it independent on sys.argv
	
	The first test in test_config.TestConfig.test_parse_options tests
	no options are specified. But it checks sys.argv when default parameter
	is used. So it fails when some parameter is passed to run_test.py.
	So pass empty list to the parser as argument explicitly in order to
	make it pass independent sys.argv.

2011-07-01  Justin Shepherd  <jshepher@rackspace.com>

	Resolves bug lp:803260, by adding a check to ensure req.headers['Accept'] exists before it gets assigned to a variable.

2011-06-29  Justin Shepherd  <jshepher@rackspace.com>

	Added stop_servers() to the end of the test cases

2011-06-29  Justin Shepherd  <jshepher@rackspace.com>

	removed pprint import

2011-06-29  Justin Shepherd  <jshepher@rackspace.com>

	removed extra space on test_queued_process_flow method definition

2011-06-29  Justin Shepherd  <jshepher@rackspace.com>

	removing commented out line

2011-06-29  Justin Shepherd  <jshepher@rackspace.com>

	merged in lp:~jshepher/glance/functional_tests_using_httplib2_part2

2011-06-29  Justin Shepherd  <jshepher@rackspace.com>

	Removing ordering numbers from the test cases, per jay pipes

2011-06-29  Justin Shepherd  <jshepher@rackspace.com>

	cleaning up the 'no accept headers' test cases. this should fail until Bug lp:803260 is resolved

2011-06-29  Justin Shepherd  <jshepher@rackspace.com>

	rewrite of test_size_greater_2G_mysql from test_curl_api.py using httplib2. All tests currently pass

2011-06-29  Justin Shepherd  <jshepher@rackspace.com>

	completed rewrite of test_003_version_variations. bug lp:803260 filed about step #0, and noted as a comment in code

2011-06-28  Justin Shepherd  <jshepher@rackspace.com>

	miss-numbering of steps

2011-06-28  Justin Shepherd  <jshepher@rackspace.com>

	half way done with rewrite of test_003_version_variations.. step #0 causes a 500 error unless we supply an Accept header

2011-06-28  Justin Shepherd  <jshepher@rackspace.com>

	rewrote test_002_queued_process_flow from test_curl_api.py, all 6 steps pass against trunk revno:146

2011-06-29  Justin Shepherd  <jshepher@rackspace.com>

	applied requested fix in merge-prop

2011-06-28  Justin Shepherd  <jshepher@rackspace.com>

	fixing pep8 violation

2011-06-28  Justin Shepherd  <jshepher@rackspace.com>

	Added a check to ensure req.headers['Accept'] exists before it gets assigned to a variable. All unit/functional tests pass with this patch.

2011-06-29  Brian Waldon  <brian.waldon@rackspace.com>

	Fix the poor error handling uncovered through bug in nova

2011-06-29  Brian Waldon  <brian.waldon@rackspace.com>

	adding testing & error handling for invalid markers

2011-06-29  Brian Waldon  <brian.waldon@rackspace.com>

	Cleaning up docstring spacing

2011-06-28  Brian Waldon  <brian.waldon@rackspace.com>

	cleaning up docstrings

2011-06-28  Brian Waldon  <brian.waldon@rackspace.com>

	merging trunk

2011-06-28  Brian Waldon  <brian.waldon@rackspace.com>

	docstring

2011-06-29  Brian Waldon  <brian.waldon@rackspace.com>

	Prevent query params from being set to None instead of a dict

2011-06-28  Brian Waldon  <brian.waldon@rackspace.com>

	removing rogue print

2011-06-28  Brian Waldon  <brian.waldon@rackspace.com>

	fixing issue where filters are set to None

2011-06-28  Brian Waldon  <brian.waldon@rackspace.com>

	Prevent clients from adding query parameters set to None

2011-06-28  Brian Waldon  <brian.waldon@rackspace.com>

	ignores None param values passed to do_request

2011-06-28  Brian Waldon  <brian.waldon@rackspace.com>

	Added sort_key and sort_dir query params to apis and clients.

2011-06-28  Brian Waldon  <brian.waldon@rackspace.com>

	fixing one last docstring

2011-06-28  Brian Waldon  <brian.waldon@rackspace.com>

	docstrings\!

2011-06-27  Brian Waldon  <brian.waldon@rackspace.com>

	reverting one import change; another docstring fix

2011-06-27  Brian Waldon  <brian.waldon@rackspace.com>

	docstring

2011-06-26  Brian Waldon  <brian.waldon@rackspace.com>

	cleaning up None values being passed into images_get_all_public db call

2011-06-26  Brian Waldon  <brian.waldon@rackspace.com>

	adding base client module

2011-06-26  Brian Waldon  <brian.waldon@rackspace.com>

	restructuring client code

2011-06-26  Brian Waldon  <brian.waldon@rackspace.com>

	merging trunk

2011-06-21  Brian Waldon  <brian.waldon@rackspace.com>

	refactoring for Jay

2011-06-21  Brian Waldon  <brian.waldon@rackspace.com>

	updating client docs

2011-06-21  Brian Waldon  <brian.waldon@rackspace.com>

	fixing bad request error messages

2011-06-21  Brian Waldon  <brian.waldon@rackspace.com>

	making SUPPORTED_* lists into tuples

2011-06-20  Brian Waldon  <brian.waldon@rackspace.com>

	slight refactoring

2011-06-20  Brian Waldon  <brian.waldon@rackspace.com>

	updating docs

2011-06-20  Brian Waldon  <brian.waldon@rackspace.com>

	adding ordering support to glance api

2011-06-20  Brian Waldon  <brian.waldon@rackspace.com>

	adding support to registry server and client for sort_key and sort_dir params

2011-06-27  Yuriy Taraday  <yorik.sar@gmail.com>

	Switch image_data to be a file-like object instead of bare string in image creating and updating
	Without this Glance loads all image into memory, then copies it one time, then writes it to temp file, and only after all this copies image to target repository.

2011-06-27  Yuriy Taraday  <yorik.sar@gmail.com>

	Add myself to Authors file.

2011-06-23  Yuriy Taraday  <yorik.sar@gmail.com>

	Change image_data to body_file instead of body.

2011-06-26  Brian Waldon  <brian.waldon@rackspace.com>

	Explicitly set headers rather than add them

2011-06-24  Brian Waldon  <brian.waldon@rackspace.com>

	fixing httplib2 functional test that was expecting wrong content-type value

2011-06-24  Brian Waldon  <brian.waldon@rackspace.com>

	merging trunk

2011-06-24  Brian Waldon  <brian.waldon@rackspace.com>

	adding assert to check content_type in GET /images/<id> test

2011-06-24  Brian Waldon  <brian.waldon@rackspace.com>

	Explicitly setting Content-Type, Content-Length, ETag, Location headers to prevent duplication

2011-06-24  Justin Shepherd  <jshepher@rackspace.com>

	rewrite of test_get_head_simple_post from tests/functional/test_curl_api.py using httplib2.

2011-06-22  Justin Shepherd  <jshepher@rackspace.com>

	Trunk merge, changed returned content-type header from 'application/octet-stream' to 'text/html; charset=UTF-8, application/octet-stream'

2011-06-22  Justin Shepherd  <jshepher@rackspace.com>

	updated main docstring, as it was directly coppied from test_curl_api.py

2011-06-22  Justin Shepherd  <jshepher@rackspace.com>

	merged trunk

2011-06-20  Justin Shepherd  <jshepher@rackspace.com>

	re-ordered imports, using alpha-ordering

2011-06-20  Justin Shepherd  <jshepher@rackspace.com>

	removing unnecessary unittest import

2011-06-20  Justin Shepherd  <jshepher@rackspace.com>

	moved httplib2 tests to their own test case file, and uncommented md5 match

2011-06-17  Justin Shepherd  <jshepher@rackspace.com>

	forgot to remove pprint import

2011-06-17  Justin Shepherd  <jshepher@rackspace.com>

	adding hashlib as a dependency to pip-requires (not 100% sure it is not part of the base install though)

2011-06-17  Justin Shepherd  <jshepher@rackspace.com>

	fixed pep8 violation

2011-06-17  Justin Shepherd  <jshepher@rackspace.com>

	rewote the test #7 - #11 for testcase (test_get_head_simple_post)

2011-06-15  Justin Shepherd  <jshepher@rackspace.com>

	Added httplib2 dependency to tools/pip-requires
	
	rewrote the test #0 - #6 for testcase (test_get_head_simple_post)

2011-06-15  Justin Shepherd  <jshepher@rackspace.com>

	rewriting functional tests to utilize httplib2 instead of curl

2011-06-24  Ewan Mellor  <ewan.mellor@citrix.com>

	Bug #801703: No logging is configured for unit tests
	
	Configure logging to go to stderr during the unit test run.  This gets
	captured by run_tests.sh into run_tests.err.log.

2011-06-24  Ewan Mellor  <ewan.mellor@citrix.com>

	Bug #801703: No logging is configured for unit tests
	
	Configure logging to go to stderr during the unit test run.  This gets
	captured by run_tests.sh into run_tests.err.log.

2011-06-21  Brian Waldon  <brian.waldon@rackspace.com>

	Fixes build failures due to webob upgrade. Updated pop-requires as well

2011-06-21  Brian Waldon  <brian.waldon@rackspace.com>

	upgrading webob and fixing tests

2011-06-21  Brian Waldon  <brian.waldon@rackspace.com>

	- refactoring wsgi code to divide deserialization, controller, serialization among different objects
	- Resource object acts as coordinator
	
	- tests are coming, this is for review purposes

2011-06-17  Brian Waldon  <brian.waldon@rackspace.com>

	refactoring for Brian

2011-06-16  Brian Waldon  <brian.waldon@rackspace.com>

	refactoring from Rick's comments

2011-06-15  Brian Waldon  <brian.waldon@rackspace.com>

	initial refactoring from Jay's comments

2011-06-13  Brian Waldon  <brian.waldon@rackspace.com>

	fixed test case

2011-06-11  Brian Waldon  <brian.waldon@rackspace.com>

	cleanup

2011-06-11  Brian Waldon  <brian.waldon@rackspace.com>

	adding tests for wsgi module

2011-06-11  Brian Waldon  <brian.waldon@rackspace.com>

	removing rogue print

2011-06-11  Brian Waldon  <brian.waldon@rackspace.com>

	further refactoring

2011-06-11  Brian Waldon  <brian.waldon@rackspace.com>

	adding refactored wsgi code from nova; moving registry api to new wsgi

2011-05-31  Brian Waldon  <brian.waldon@rackspace.com>

	Adding support for marker/limit query params from api, through registry client/api, and implementing at registry db api layer

2011-05-31  Brian Waldon  <brian.waldon@rackspace.com>

	adding marker & limit params to glance client

2011-05-27  Brian Waldon  <brian.waldon@rackspace.com>

	merging trunk, resolving conflicts

2011-05-27  Brian Waldon  <brian.waldon@rackspace.com>

	fixing sql query

2011-05-27  Brian Waldon  <brian.waldon@rackspace.com>

	completing marker functionality

2011-05-17  Brian Waldon  <brian.waldon@rackspace.com>

	updating stubs with new sorting logic; updating tests

2011-05-17  Brian Waldon  <brian.waldon@rackspace.com>

	fixing some copy/paste errors

2011-05-17  Brian Waldon  <brian.waldon@rackspace.com>

	fixing some webob exceptions

2011-05-17  Brian Waldon  <brian.waldon@rackspace.com>

	slight modification to registry db api to ensure marker works correctly

2011-05-17  Brian Waldon  <brian.waldon@rackspace.com>

	slight refactoring per jaypipes' suggestions; sort on get images calls is now created_at desc

2011-05-17  Brian Waldon  <brian.waldon@rackspace.com>

	pulling from parent branch

2011-05-16  Brian Waldon  <brian.waldon@rackspace.com>

	pushing marker/limit logic down into registry db api

2011-05-16  Brian Waldon  <brian.waldon@rackspace.com>

	adding support for marker & limit query params

2011-05-31  Ewan Mellor  <ewan.mellor@citrix.com>

	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  Ewan Mellor  <ewan.mellor@citrix.com>

	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-31  Donal Lafferty  <donal.lafferty@citrix.com>

	Added new disk_format type of 'iso'.  Nova can use this information to identify images that have to be booted from a CDROM.
	
	Added unit test to uploading correct and bad image metadata, and of a get of image data.
	
	Updated docs in three locations where 'raw' disk format was expalined.  However, no examples of 'iso' were in headers or API calls added.

2011-05-27  Donal Lafferty  <donal.lafferty@citrix.com>

	Correct documentation.

2011-05-27  Donal Lafferty  <donal.lafferty@citrix.com>

	Remove changes to stub database.

2011-05-26  Donal Lafferty  <donal.lafferty@citrix.com>

	Fix accidental delete.

2011-05-26  Donal Lafferty  <donal.lafferty@citrix.com>

	Remove additions to FIXTURES in test/stubs.py, which requried changes elsewhere.

2011-05-26  Donal Lafferty  <donal.lafferty@citrix.com>

	Sync with trunk.

2011-05-19  Donal Lafferty  <donal.lafferty@citrix.com>

	Updated doc with 'iso' disk_format.

2011-05-19  Donal Lafferty  <donal.lafferty@citrix.com>

	Update documentation.

2011-05-19  Donal Lafferty  <donal.lafferty@citrix.com>

	Merge changes.
	Update tests. New image indexes relative to existing indexes.

2011-05-17  Donal Lafferty  <donal.lafferty@citrix.com>

	Add tests for 'iso' image type.
	Remove hard coding of next available image id in tests.  This prevents new test images from being added to the set generated by tests.unit.stubs.FakeDatastore

2011-05-17  Donal Lafferty  <donal.lafferty@citrix.com>

	Merge latest with latest Glance.

2011-05-06  Donal Lafferty  <donal.lafferty@citrix.com>

	Fix pep8 complaint.

2011-05-06  Donal Lafferty  <donal.lafferty@citrix.com>

	Add DISK_FORMAT for 'iso' type images.

2011-05-29  Rick Harris  <rick.harris@rackspace.com>

	Auto-migrate if the tables don't exist yet.

2011-05-27  Rick Harris  <rick.harris@rackspace.com>

	Auto-migrate if tables don't exist

2011-05-27  jaypipes@gmail.com

	Call stop_servers() for those 2 test cases missing it.

2011-05-27  jaypipes@gmail.com

	Add missing stop_servers() calls to two functional test cases.

2011-05-25  jaypipes@gmail.com

	Documentation for new results filtering in the API and client.

2011-05-25  jaypipes@gmail.com

	Fix tiny typo

2011-05-25  jaypipes@gmail.com

	Documentation for new results filtering in the API and client.

2011-05-25  jaypipes@gmail.com

	Merge trunk

2011-05-25  Brian Waldon  <brian.waldon@rackspace.com>

	Adding support for query filtering from the glance client library. 

2011-05-24  Brian Waldon  <brian.waldon@rackspace.com>

	renaming query_params to params

2011-05-24  Brian Waldon  <brian.waldon@rackspace.com>

	abstracting out filters query param serialization into BaseClient.do_request

2011-05-24  Brian Waldon  <brian.waldon@rackspace.com>

	renaming tests to resolve conflict

2011-05-24  Brian Waldon  <brian.waldon@rackspace.com>

	adding filters param to get_images and get_images_detailed in glance client

2011-05-18  Brian Waldon  <brian.waldon@rackspace.com>

	Adding support for api query filtering
	- equality testing on select attributes: name, status, container_format, disk_format
	- relative comparison of size attribute with size_min, size_max
	- equality testing on user-defined properties (preface property name with "property-" in query)

2011-05-17  Brian Waldon  <brian.waldon@rackspace.com>

	docstring fix

2011-05-16  Brian Waldon  <brian.waldon@rackspace.com>

	removing some unnecessary imports

2011-05-16  Brian Waldon  <brian.waldon@rackspace.com>

	making registry db api filters more structured; adding in a bit of sqlalchemy code to filter image properties more efficiently

2011-05-16  Brian Waldon  <brian.waldon@rackspace.com>

	consolidating image_get_all_public and image_get_filtered in registry db api

2011-05-15  Brian Waldon  <brian.waldon@rackspace.com>

	adding test case for multiple parameters from command line

2011-05-15  Brian Waldon  <brian.waldon@rackspace.com>

	adding custom property api filtering

2011-05-15  Brian Waldon  <brian.waldon@rackspace.com>

	adding size_min and size_max api query filters

2011-05-14  Brian Waldon  <brian.waldon@rackspace.com>

	implemented api filtering on name, status, disk_format, and container_format

2011-05-14  jaypipes@gmail.com

	Adds versioning to the Glance API.
	
	I'd like to just get comments on my approach and go from there. Thanks in advance for review comments!

2011-05-13  jaypipes@gmail.com

	Add test and fix for /v1.2/images not properly returning version choices.

2011-05-12  jaypipes@gmail.com

	Add more tests for version URIs and accept headers and fix up some of Brian's review comments

2011-05-11  jaypipes@gmail.com

	Fix merge conflict...

2011-05-11  jaypipes@gmail.com

	Changes versioned URIs to be /v1/ instead of /v1.0/
	
	Adds middleware that detects versioned URIs and also
	detects media types in the Accept: header and attempts
	to determine the API controller to return for the
	client request.
	
	Adds a bunch of functional test cases for variations
	of calling the versioned and unversioned URIs with and
	without Accept: headers.

2011-05-10  jaypipes@gmail.com

	Doc and docstring fixes from Dan's review

2011-05-09  jaypipes@gmail.com

	Removed some test config files that slipped in...

2011-05-09  jaypipes@gmail.com

	Fix up find_config_file() to accept an app_name arg. Update all documentation referencing config files.

2011-05-05  jaypipes@gmail.com

	Adds versioning to Glance's API.
	
	Important notes:
	
	* Split API and Registry configuration files out into 2 files
	Therefore, we need to update the packaging/upstart scripts
	and documentation
	* The paste.deploy stuff is now ready to go for pipeline-style
	middleware that is coming with authentication
	* /images -> /v1.0/images
	* /versions endpoint added
	* Split out the starting/stopping of servers into a Server class
	in tests.functional.FunctionalTestCase. This was really useful
	to get different configuration files working well.

2011-05-11  jaypipes@gmail.com

	Improve logging configuration docs...

2011-04-26  jaypipes@gmail.com

	Improve logging configuration docs...

2011-05-05  jaypipes@gmail.com

	Changes glance index to return all public images
	in any status other than 'killed'. This should allow
	tools like euca-describe-images to show images while
	they are in a saving/untarring/decrypting state.
	
	One line fix. 110 line test case. :)

2011-05-04  jaypipes@gmail.com

	Fix numbering in comment...

2011-05-04  jaypipes@gmail.com

	Fixed doh. Updates test case to test for condition that should have failed with status!='active'

2011-05-03  jaypipes@gmail.com

	Changes glance index to return all public images
	in any status other than 'killed'. This should allow
	tools like euca-describe-images to show images while
	they are in a saving/untarring/decrypting state.
	
	One line fix. 110 line test case. :)

2011-04-29  Brian Waldon  <brian.waldon@rackspace.com>

	Adding prefilled Authors, mailmap files
	Adding test to validate Authors file is properly set up

2011-04-27  Brian Waldon  <brian.waldon@rackspace.com>

	adding Authors functionality; fixing one rogue pep8 violation

2011-04-29  jaypipes@gmail.com

	Documentation updates to make glance add command clearer, hopefully :)

2011-04-22  jaypipes@gmail.com

	Documentation updates to make glance add command clearer, hopefully :)

2011-04-26  Brian Waldon  <brian.waldon@rackspace.com>

	Prevent users from uploading images with a bad or missing store. Allow deletion from registry when backend cannot be used.

2011-04-26  Brian Waldon  <brian.waldon@rackspace.com>

	adding comment

2011-04-22  Brian Waldon  <brian.waldon@rackspace.com>

	catching NotFound to prevent failure on bad location

2011-04-22  Brian Waldon  <brian.waldon@rackspace.com>

	Prevent requests with invalid store in location param

2011-04-22  Brian Waldon  <brian.waldon@rackspace.com>

	Allow registry deletion to succeed if store deletion fails

2011-04-26  jaypipes@gmail.com

	Fix for bug #768969: glance index shows non-active images; glance show <ID> does not show status.

2011-04-22  jaypipes@gmail.com

	Fix for LP Bug #768969.
	
	Two things were happening that this patch corrects:
	
	a) If adding an image fails, the glance add output says that
	adding the image failed, however, doing a glance index would
	show the image. This was because the call to get all public
	images was not correctly filtering the result for 'active'
	status images. The image failing to be added causes the image
	status to be 'killed', and so killed images should not appear
	in the output of glance index or glance detail.
	b) glance show <ID> was not showing the status of the image, so
	it was not clear that the image, while not added successfully,
	was still in the registry, but in a 'killed' status.
	
	I added a note to the output of the failed add command that the
	Glance registry may still have an image record, but the status
	would likely be in the 'killed' state.
	
	Added a functional test case that verified the behaviour in the bug
	and verified the fix, once coded.

2011-04-22  Brian Waldon  <brian.waldon@rackspace.com>

	Expanding user confirmation default behavior.

2011-04-22  Brian Waldon  <brian.waldon@rackspace.com>

	removing excessive exception handling

2011-04-22  Brian Waldon  <brian.waldon@rackspace.com>

	pep8 fixes

2011-04-22  Brian Waldon  <brian.waldon@rackspace.com>

	docstring and exception handling

2011-04-22  Brian Waldon  <brian.waldon@rackspace.com>

	Expanding user_confirm default behavior

2011-04-21  Joseph Suh  <jsuh@bespin>

	I modified documentation to show more first-time user friendly examples on using glance. With the previous examples, I followed it as a first-time user and had to spend more than necessary time to figure out how to use it. With this modification, other first-time users would make it work on their systems more quickly.

2011-04-18  Joseph Suh  <jsuh@bespin>

	resolve merge conflicts

2011-04-13  Joseph Suh  <jsuh@bespin>

	change output from glance-registry

2011-04-13  Joseph Suh  <jsuh@bespin>

	get latest from lp:glance

2011-03-31  Jinwoo 'Joseph' Suh  <jsuh@isi.edu>

	changed to more typical examples

2011-04-18  Joseph Suh  <jsuh@bespin>

	chnaged output

2011-04-21  Brian Waldon  <brian.waldon@rackspace.com>

	- Require user confirmation for "bin/glance clear" and "bin/glance delete <id>"
	- Allow for override with -f/--force command-line option

2011-04-20  Brian Waldon  <brian.waldon@rackspace.com>

	adding --force option to test_add_clear

2011-04-19  Brian Waldon  <brian.waldon@rackspace.com>

	fixing spacing in help text

2011-04-19  Brian Waldon  <brian.waldon@rackspace.com>

	adding confirmation on image delete/clear; adding user_confirm functionality

2011-04-20  jaypipes@gmail.com

	Adds a test case for updating an image's Name attribute. glance update was not regarding 'name' as a top-level modifiable attribute...

2011-04-20  jaypipes@gmail.com

	Name is an attribute that is modifiable in glance update, too..

2011-04-20  Dan Prince  <dan.prince@rackspace.com>

	Mark image properties as deleted when deleting images.
	Added a unit test to verify public images and their properties get deleted when running a 'glance clear' command.

2011-04-20  Dan Prince  <dan.prince@rackspace.com>

	Update tests and .bzrignore to use tests.sqlite instead of glance.sqlite.

2011-04-20  Dan Prince  <dan.prince@rackspace.com>

	Only modify the connection URL in runs_sql if the original connection
	string starts with 'sqlite'.

2011-04-20  Dan Prince  <dan.prince@rackspace.com>

	Merge in code from lp:~jaypipes/glance/clear_image_props to make a nice
	decorator function we can use for tests that need to run backend SQL
	commands. This should keep our tests zippy but provide us the access we
	need for disk based DB access.

2011-04-20  jaypipes@gmail.com

	Create a decorator that handles setting the SQL store to a disk-based SQLite database when arbitrary SQL statements need to be run against the registry database during a test case

2011-04-20  Dan Prince  <dan.prince@rackspace.com>

	Docstring update on the run_sql_command function.

2011-04-20  Dan Prince  <dan.prince@rackspace.com>

	Mark image properties as deleted when deleting images.
	Added a unit test to verify public images and their properties get deleted
	when running a 'glance clear' command.

2011-04-19  jaypipes@gmail.com

	Add log_file to example glance.conf

2011-04-19  jaypipes@gmail.com

	Add log_file to example glance.conf

2011-04-19  jaypipes@gmail.com

	Make sure we use get_option() when dealing with boolean values
	read from configuration files...otherwise "False" is True :(

2011-04-19  jaypipes@gmail.com

	Make sure we use get_option() when dealing with boolean values
	read from configuration files...otherwise "False" is True :(

2011-04-19  Eldar Nugaev  <enugaev@griddynamics.com>

	Fixing tests.
	Sorry for late response. 
	
	Rick Harris wrote on 2011-04-12
	Really nice job, Eldar.
	
	> 46	+        image_swift = StringIO.StringIO("nevergonnamakeit")
	> 47	+        options = SWIFT_OPTIONS.copy()
	> 48	+        del options['swift_store_user']
	> 49	+        self.assertRaises(BackendException,
	> 50	+                          SwiftBackend.add,
	> 51	+                          2, image_swift, options)
	
	Might be better to DRY up the code some by adding a helper-method, like:
	
	def assertOptionRequiredForSwift(self, key):
	image_swift = StringIO.StringIO("nevergonnamakeit")
	options = SWIFT_OPTIONS.copy()
	del options[key]
	self.assertRaises(BackendException,
	SwiftBackend.add,
	2, image_swift, options)
	
	Marking as Needs Fixing, but if you don't like the idea, I'd be willing to set this as Approved (since the suggestion is so minor :-)

2011-04-14  Eldar Nugaev  <enugaev@griddynamics.com>

	fixing after review

2011-04-15  Thierry Carrez  <thierry@openstack.org>

	Open Diablo release.

2011-04-15  Thierry Carrez  <thierry@openstack.org>

	Diablo versioning

2011-04-15  Soren Hansen  <soren@openstack.org>

	Fake merge with ancient trunk. This is only so that people who "accidentally" have been following lp:~hudson-openstack/glance/trunk will not have problems updating to this.

2011-02-02  Thierry Carrez  <thierry@openstack.org>

	Hopefully-final versioning (0.1.7), no review needed

2011-02-02  Thierry Carrez  <thierry@openstack.org>

	Final versioning, no review needed

2011-04-14  Thierry Carrez  <thierry@openstack.org>

	Final versioning for Cactus

2011-04-13  Thierry Carrez  <thierry@openstack.org>

	Final cactus versioning

2011-04-13  jaypipes@gmail.com

	Removes capture of exception from eventlet in _upload_and_activate(), which catches the exceptions that come from the _safe_kill() method properly.
	
	Also fixes an incorrect call to _safe_kill() with mapping instead of image ID in the block of code that kills an image if a bad checksum is given.
	
	Fixes bug #759018.

2011-04-13  jaypipes@gmail.com

	RickH fixups from review

2011-04-13  jaypipes@gmail.com

	Add catch-all except: block in _upload()

2011-04-13  jaypipes@gmail.com

	Removes capture of exception from eventlet in _upload_and_activate(), which
	catches the exceptions that come from the _safe_kill() method properly.
	
	Also fixes an incorrect call to _safe_kill() with mapping instead of image
	ID in the block of code that kills an image if a bad checksum is given.
	
	Fixes bug #759018.

2011-04-13  jaypipes@gmail.com

	Ensures that configuration values for debug and verbose are used if command-line options are not set.

2011-04-13  jaypipes@gmail.com

	Fix Thierry's notice about switched debug and verbose

2011-04-12  jaypipes@gmail.com

	Logging was not being setup with configuration file values for debug/verbose

2011-04-12  jaypipes@gmail.com

	Merge trunk

2011-04-13  Eldar Nugaev  <enugaev@griddynamics.com>

	Fix logging in swift

2011-04-11  Eldar Nugaev  <enugaev@griddynamics.com>

	fix logging in swift

2011-04-13  jaypipes@gmail.com

	Change parsing of headers to accept 'True', 'on', 1 for boolean truth values.

2011-04-12  jaypipes@gmail.com

	OK, fix docs to make it clear that only the string 'true' is allowed for boolean headers. Add False-hood unit tests as well.

2011-04-11  jaypipes@gmail.com

	Change parsing of headers to accept 'True', 'on', 1 for boolean truth values.

2011-04-12  jaypipes@gmail.com

	Fix up the way the exception is raised from _safe_kill()... When I "fixed" bug 729726, I mistakenly used the traceback as the message. doh.

2011-04-11  jaypipes@gmail.com

	Changed raise of exception to avoid displaying incorrect error message in _safe_kill()

2011-04-11  Soren Hansen  <soren@linux2go.dk>

	Add the migration sql scripts to MANIFEST.in. The gets them included in not only the tarball, but also by setup.py install.

2011-04-11  Soren Hansen  <soren@linux2go.dk>

	Add the migration sql scripts to MANIFEST.in. The gets them included in not only the tarball, but also by setup.py install.

2011-04-11  jaypipes@gmail.com

	Changes "key" column in image_properties to "name".

2011-04-07  jaypipes@gmail.com

	Merge trunk, resolve conflicts, and 005 -> 006 the migration scripts.

2011-04-04  jaypipes@gmail.com

	Changes "key" column in image_properties to "name".
	
	As with all things migration, this was a pain in the ass.
	
	MySQL doesn't support RENAME INDEX, so a custom SQL migration
	file for it was needed.
	
	Likewise, SQLite doesn't support either RENAME INDEX or
	ALTER TABLE CHANGE COLUMN, so it also needed a custom migration
	script.

2011-03-28  jaypipes@gmail.com

	Merge trunk

2011-04-11  Dan Prince  <dan.prince@rackspace.com>

	Updated properties should be marked as deleted=0. This allows previously deleted properties to be reactivated on an update.
	
	Add unit tests to check the above condition.
	
	Also updated the help for bin/glance's 'update' command so that it explicitly states:
	
	Metadata fields that are not specified in the update command will be deleted.

2011-04-07  Dan Prince  <dan.prince@rackspace.com>

	Update the docs in bin/glance so that help for the 'update' command states
	that metadata not specified will be deleted.

2011-04-07  Dan Prince  <dan.prince@rackspace.com>

	Merge w/ trunk.

2011-04-06  Dan Prince  <dan.prince@rackspace.com>

	Updated properties should be marked as deleted=0.
	Add unit tests.

2011-04-11  jaypipes@gmail.com

	Adds --config-file option to common options processing.
	
	Updates glance-manage to use configuration files as well
	as command line options.
	
	Completes documentation on configuring Glance's servers
	and CLI tools.

2011-04-07  jaypipes@gmail.com

	Fix config test fixtures and pep8 error in bin/glance-manage

2011-04-07  jaypipes@gmail.com

	Merge trunk

2011-04-04  jaypipes@gmail.com

	Updates glance-manage to use configuration files as well
	as command line options.
	
	Completes documentation on configuring Glance's servers
	and CLI tools.

2011-04-06  Donal Lafferty  <donal.lafferty@citrix.com>

	Provide revised schema and migration scripts for turning 'size' column in 'images' table to BIGINT. This overcomes a 2 gig limit on images sizes that can be downloaded from Glance.

2011-04-04  jaypipes@gmail.com

	Moved migration into Python script, otherwise PostgreSQL was not migrated. Added changes to the functional test base class to reset the data store between tests. GLANCE_SQL_CONNECTION env variable is now GLANCE_TEST_SQL_CONNECTION.

2011-04-01  jaypipes@gmail.com

	Merge Donal

2011-03-31  Donal Lafferty  <donal.lafferty@citrix.com>

	Add migration scripts for revising the datatype of the 'size' column in the images table.

2011-03-31  Donal Lafferty  <donal.lafferty@citrix.com>

	Changes to database schema required to support images larger than 2Gig on MySQL.  Does not update the migration scripts.

2011-04-01  jaypipes@gmail.com

	Merge trunk

2011-04-06  jaypipes@gmail.com

	Use logging module, not echo, for logging SQLAlchemy. Fixes bug 746435.

2011-04-06  jaypipes@gmail.com

	Change order of setting debug/verbose logging. Thanks for spotting this, Elgar.

2011-04-06  jaypipes@gmail.com

	Use logging module, not echo, for logging SQLAlchemy. Fixes bug 746435.

2011-04-04  jaypipes@gmail.com

	Use logging module, not echo for logging SQLAlchemy.

2011-04-05  jaypipes@gmail.com

	Ensure we don't ask the backend store to delete an image if the image is in a queued or saving state, since clearly the backend state has yet to completely store the image.

2011-04-04  jaypipes@gmail.com

	Ensure we don't ask a backend store to delete an image if the image is queued or saving.

2011-03-29  Dan Prince  <dan.prince@rackspace.com>

	Updates to the Registry API such that only external requests to
	update image properties purge existing properties. The update_image
	call now contains an extra flag to purge_props which is set to
	True for external requests but False internally.
	
	This resolves with revision 99 where Glance API incidentally deleted
	image metadata when uploading new images.

2011-03-29  Dan Prince  <dan.prince@rackspace.com>

	Updates to the Registry API such that only external requests to
	update image properties purge existing properties. The update_image
	call now contains an extra flag to purge_props which is set to
	True for external requests but False internally.
	
	This resolves with revision 99 where Glance API incedentally deleted
	image metadata when uploading new images.

2011-03-28  Dan Prince  <dan.prince@rackspace.com>

	Update the glance registry so that it marks properties as deleted if they are no longer exist when images are updated.

2011-03-23  Dan Prince  <dan.prince@rackspace.com>

	Update the glance registry so that it marks properties as deleted if
	they are no longer in the update list.

2011-03-25  jaypipes@gmail.com

	Simple one.. just add back the Changelog I removed by accident in r94. Fixes bug #742353

2011-03-25  jaypipes@gmail.com

	Add ChangeLog back to MANIFEST.in

2011-03-25  jaypipes@gmail.com

	Adds checksumming to Glance.
	
	When adding an image (or uploading an image during PUT operations),
	you may now supply an optional X-Image-Meta-Checksum header. When
	storing the uploaded image, the backend image stores now are required
	to return a checksum of the data they just stored. The optional
	X-Image-Meta-Checksum header is compared against this generated checksum
	and returns a 409 Bad Request if there is a mismatch.
	
	The ETag header is now properly set to the image's checksum now
	for all GET /images/<ID>, HEAD /images/<ID>, POST /images and
	PUT /images/<ID> operations.
	
	Adds unit tests verifying the checksumming behaviour in the API, and
	in the Swift and Filesystem backend stores.
	
	Includes migration script.
	
	NOTE: This does not include the DB migration script. Separate bug will be filed for that.

2011-03-25  jaypipes@gmail.com

	Uhhhm, stop_servers() should stop servers, not start them! Thanks to Cory for uncovering this copy/paste fail.

2011-03-25  jaypipes@gmail.com

	Fix up test case after merging in bug fixes from trunk... expected results were incorrect in curl test

2011-03-25  jaypipes@gmail.com

	Merge trunk

2011-03-23  jaypipes@gmail.com

	Add migration script for checksum column

2011-03-23  jaypipes@gmail.com

	Merge fix from bug730213

2011-03-23  jaypipes@gmail.com

	Merge bug730213 (Migration fixes and tests)

2011-03-23  jaypipes@gmail.com

	Merge trunk and resolve conflicts

2011-03-08  jaypipes@gmail.com

	Make it clear that the checksum is an MD5 checksum in docs.

2011-03-08  jaypipes@gmail.com

	Adds checksumming to Glance.
	
	When adding an image (or uploading an image during PUT operations),
	you may now supply an optional X-Image-Meta-Checksum header. When
	storing the uploaded image, the backend image stores now are required
	to return a checksum of the data they just stored. The optional
	X-Image-Meta-Checksum header is compared against this generated checksum
	and returns a 409 Bad Request if there is a mismatch.
	
	The ETag header is now properly set to the image's checksum now
	for all GET /images/<ID>, HEAD /images/<ID>, POST /images and
	PUT /images/<ID> operations.
	
	Adds unit tests verifying the checksumming behaviour in the API, and
	in the Swift and Filesystem backend stores.

2011-03-08  jaypipes@gmail.com

	Merge trunk with 713126 and image-format

2011-02-24  jaypipes@gmail.com

	Merge test cases for missing and invliad disk and container formats

2011-02-24  jaypipes@gmail.com

	Make disk_format and container_format required

2011-02-24  jaypipes@gmail.com

	Merge image-format

2011-03-24  jaypipes@gmail.com

	Add migration testing and migration for disk_format/container_format

2011-03-24  jaypipes@gmail.com

	tests.unit.test_misc.execute -> tests.utils.execute after merge

2011-03-24  jaypipes@gmail.com

	Allow someone to set the GLANCE_TEST_MIGRATIONS_CONF environment
	variable to override the config file to run for the migrations
	unit test:
	
	pipes@serialcoder:~/repos/glance/bug730213$ GLANCE_TEST_MIGRATIONS_CONF=/tmp/glance_test_migrations.conf ./run_tests.sh -V tests.unit.test_migrations
	TestMigrations
	test_no_data_loss_2_to_3_to_2                               OK
	test_walk_versions                                          OK
	
	----------------------------------------------------------------------
	Ran 2 tests in 2.744s
	
	This will make Monty happy so that Hudson can test more than just SQLite...

2011-03-23  jaypipes@gmail.com

	Fixed an oops. Didn't realized Repository.latest returned a 0-based version number, and forgot to reversed() the downgrade test

2011-03-23  jaypipes@gmail.com

	OK, migrations are finally under control and properly tested.
	
	Don't think I need to stress how painful this was. I reworked
	the TestMigrations test case to properly test walking the
	upgrade and downgrade paths for multiple databases. The databases
	used in test_migrations are now configurable by placing sql connection
	strings in the /tests/unit/test_migrations.conf file, which defaults
	to SQLite-only but has an example of MySQL as well. I'll work with
	Monty to set up MySQL and PostgreSQL on the Jenkins box so we can
	verify migrate scripts on all major target DB platforms.
	
	There are a number of bugs in SA-Migrate that have workarounds in
	this patch. Issue 99 (http://code.google.com/p/sqlalchemy-migrate/issues/detail?id=99)
	means that MySQL change scripts cannot contain >1 SQL statement, which
	essentially means for MySQL, you *have* to use a Python change script.
	However, Issue 117 (http://code.google.com/p/sqlalchemy-migrate/issues/detail?id=117)
	points out that you *cannot* use a Python change script when your
	database is SQLite and you need to ALTER a table by adding or dropping
	a column and the table has secondary indexes on it (which, by chance,
	Glance registry's images table did have (on is_public and deleted columns).
	So, for SQLite in these situations, you *must* use a SQL changescript, which
	is why you see both a 003_add_disk_format.py Python change script, which
	is used for MySQL/PostgreSQL and 003_sqlite_downgrade.sql and 003_sqlite_upgrade.sql
	scripts in the migrate repo.
	
	There is a new test case verifies that data is not lost when moving
	from schema v2 to v3, where the type column is removed from the images
	table. I place the values that were in the type column into the image_properties
	table as records with a key column values of 'type'. The test case verifies
	that on upgrade from v2 to v3, the type column values are preserved as
	image properties, and on downgrade from v3 to v2, the type properties
	are re-inserted into the images.type column.
	
	Phew.

2011-03-20  jaypipes@gmail.com

	Re-raise _safe_kill() exception in non-3-arg form to avoid pep8 deprecation error.

2011-03-23  jaypipes@gmail.com

	Start eventlet WSGI server with a logger to avoid stdout output.
	
	Resubmitted to depend on the lp:~jaypipes/glance/bug731304 branch and not the lp:~jaypipes/glance/bug736295 branch, since lp:~jaypipes/glance/bug731304 contains all those fixes for bug736295.

2011-03-18  jaypipes@gmail.com

	Start eventlet WSGI server with a logger to avoid stdout output

2011-03-23  jaypipes@gmail.com

	Adds robust functional testing to Glance.

2011-03-21  jaypipes@gmail.com

	Remove non-existing files from MANIFEST.in

2011-03-21  jaypipes@gmail.com

	Merge trunk

2011-03-19  jaypipes@gmail.com

	Merge trunk and fix from Ewan

2011-03-18  jaypipes@gmail.com

	Pass boolean values to glance.client as strings, not integers

2011-03-17  jaypipes@gmail.com

	Small adjustment on wait_for_servers()... fixed infinite loop possibility

2011-03-17  jaypipes@gmail.com

	Adds robust functional testing to Glance.
	
	- Add /tests/functional/*
	- tests.functional.FunctionalTest is the base class for
	any test that needs to execute against *actual* Glance
	API and registry servers instead of stubbed out fakes.
	- Adds functional test case that uses cURL to execute a
	series of actions against the API server
	- Adds functional test case that uses bin/glance to
	execute a series of actions against the API server

2011-03-17  jaypipes@gmail.com

	Ensure Content-type set to application/octet-stream for GET /images/<ID>

2011-03-17  jaypipes@gmail.com

	Ensure Content-Length sent for GET /images/<ID>

2011-03-17  jaypipes@gmail.com

	HTTPBackend.get() needed options in kwargs

2011-03-21  Andrey Brindeyev  <abrindeyev@griddynamics.com>

	Removed glance-combined. Fixed README

2011-03-21  Andrey Brindeyev  <abrindeyev@griddynamics.com>

	Removed glance-commit

2011-03-19  Ewan Mellor  <ewan.mellor@citrix.com>

	Bug #737979: glance-control uses fixed path to Python interpreter, breaking virtualenv
	
	Change #!/usr/bin/python to #!/usr/bin/env python.

2011-03-19  Ewan Mellor  <ewan.mellor@citrix.com>

	Bug #737979: glance-control uses fixed path to Python interpreter, breaking virtualenv
	
	Change #!/usr/bin/python to #!/usr/bin/env python.

2011-03-18  jaypipes@gmail.com

	Removes glance-combined and fixes TypeError from bad function calls in glance-manage.

2011-03-17  jaypipes@gmail.com

	Remove glance-combined (use glance-control all start). Fix glance-manage to call the setup_logging() and add_logging_options() methods according to the way they are called in glance-api and glance-registry

2011-03-16  jaypipes@gmail.com

	Support account:user:key in Swift URIs. Adds unit tests for various calls to parse_swift_tokens()

2011-03-16  jaypipes@gmail.com

	Support account:user:key in Swift URIs. Adds unit tests for various calls to parse_swift_tokens()

2011-03-16  jaypipes@gmail.com

	Cherry pick r86 from bug720816

2011-03-16  jaypipes@gmail.com

	Cherry pick r87 from bug720816

2011-03-16  jaypipes@gmail.com

	Adds documentation on configuring logging and a unit test for checking simple log output

2011-03-16  jaypipes@gmail.com

	Fixed run_tests.py addError() method since I noted it was faulty in another branch...

2011-03-16  jaypipes@gmail.com

	Tiny pep8'ers

2011-03-16  jaypipes@gmail.com

	Merge trunk and resolve conflict

2011-03-09  jaypipes@gmail.com

	Remove spurios comment in test file

2011-03-08  jaypipes@gmail.com

	Adds documentation on configuring logging and a test that log_file works. It didn't, so this also inludes fixes for setting up log handling :)

2011-03-16  Taku Fukushima  <tfukushima@dcl.info.waseda.ac.jp>

	I stole the colorized code from nova.

2011-03-16  Taku Fukushima  <tfukushima@dcl.info.waseda.ac.jp>

	Fix typo

2011-03-11  Taku Fukushima  <tfukushima@dcl.info.waseda.ac.jp>

	[Add] colorization stolen from nova

2011-03-15  Monty Taylor  <mordred@inaugust.com>

	A quick patch to allow running the test suite on an alternate db backend.

2011-03-14  Monty Taylor  <mordred@inaugust.com>

	Merged trunk -resolved conflicts.

2011-03-09  Monty Taylor  <mordred@inaugust.com>

	Changed to have 2 slashes.

2011-03-08  Monty Taylor  <mordred@inaugust.com>

	Only clean up in the cleanup method. Also, we don't need the separate URI
	now.

2011-03-08  Monty Taylor  <mordred@inaugust.com>

	Use unregister_models instead of os.unlink to clean up after ourselves.

2011-03-08  Monty Taylor  <mordred@inaugust.com>

	Fixed unregister_models to actually work.

2011-03-08  Monty Taylor  <mordred@inaugust.com>

	Fixed migration test to use a second DB URL

2011-03-08  Monty Taylor  <mordred@inaugust.com>

	Replaced use of has_key with get + default value.

2011-03-07  Monty Taylor  <mordred@inaugust.com>

	Whoops! Left out a self.db_path.

2011-03-07  Monty Taylor  <mordred@inaugust.com>

	Allow tests to run on an alternate dburi given via environment variables.

2011-03-09  Rick Harris  <rick.harris@rackspace.com>

	Don't require swift module for unit-tests

2011-03-09  Rick Harris  <rick.harris@rackspace.com>

	Pep8 fix

2011-03-09  Rick Harris  <rick.harris@rackspace.com>

	Backing out unit-test workaround

2011-03-09  Rick Harris  <rick.harris@rackspace.com>

	Allow unit-tests to run without swift module

2011-03-09  jaypipes@gmail.com

	Add Glance CLI tool

2011-03-09  jaypipes@gmail.com

	Silly mistake when resolving merge conflict...fixed

2011-03-08  jaypipes@gmail.com

	Merge trunk and resolve conflicts

2011-03-06  jaypipes@gmail.com

	Quick fixup on registry.get_client()

2011-03-06  jaypipes@gmail.com

	Public? => Public: per Cory's comment. Added a little more robust exception handling to some methods in bin/glance

2011-03-06  jaypipes@gmail.com

	Merge trunk and resolve conflicts from utils and client patch from Vishy

2011-03-01  jaypipes@gmail.com

	Adds bin/glance to setup.py

2011-02-25  jaypipes@gmail.com

	Couple tiny cleanups noticed when readin merge diff..

2011-02-25  jaypipes@gmail.com

	bin/glance-admin => bin/glance, since it's really just the CLI tool to interact with Glance. Added lots of documentation and more logging statements in some critical areas (like the glance.registry calls...

2011-02-25  jaypipes@gmail.com

	Merge trunk

2011-02-23  jaypipes@gmail.com

	Adds an admin tool to Glance (bin/glance-admin) that allows
	a user to administer the Glance server:
	
	* add images
	* update image metadata
	* delete images and metadata
	* delete all images (clear)
	* show an image
	* list public images
	* show detailed info on public images
	
	Adds documentation for the tool and cleans up a few issues
	that came up in initial testing.

2011-02-23  jaypipes@gmail.com

	Merge fixups to validate_image

2011-02-23  jaypipes@gmail.com

	Merge api-image-format

2011-02-23  jaypipes@gmail.com

	Merge fix for bug 704854

2011-02-23  jaypipes@gmail.com

	Merge fix for bug 704854

2011-02-21  jaypipes@gmail.com

	Merge trunk

2011-01-28  jaypipes@gmail.com

	Merge glance-combined

2011-01-28  jaypipes@gmail.com

	Merge in use-optparse changes.

2011-01-28  jaypipes@gmail.com

	Tiny pep8 fixup in setup.py

2011-01-28  jaypipes@gmail.com

	Merge trunk

2011-01-24  jaypipes@gmail.com

	Merge trunk

2011-03-08  Vishvananda Ishaya  <vishvananda@gmail.com>

	Fixes passing of None values in metadata by turning them into strings.  Also fixes the passing of the deleted column by converting it to and from a bool.  The test for passing metadata was updated to include these values.

2011-03-08  Vishvananda Ishaya  <vishvananda@gmail.com>

	fix data passing

2011-03-08  Vishvananda Ishaya  <vishvananda@gmail.com>

	add failing test for None and deleted

2011-03-08  Rick Harris  <rick.harris@rackspace.com>

	Uses logger instead of logging in migration.py

2011-03-08  Rick Harris  <rick.harris@rackspace.com>

	Using logger in migration api instead of logging directly

2011-03-08  jaypipes@gmail.com

	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-03-07  jaypipes@gmail.com

	Remove last vestiges of account in Swift store

2011-03-06  jaypipes@gmail.com

	Fixes for Devin and Rick's reviews

2011-03-06  jaypipes@gmail.com

	Merge trunk

2011-03-05  jaypipes@gmail.com

	Merge trunk

2011-03-04  jaypipes@gmail.com

	Put account in glance.conf.sample's swift_store_auth_address, use real swift.common.client.ClientException, ensure tests work with older installed versions of Swift (which do not have, for example, swift.common.client.Connection.get_auth method)

2011-03-01  jaypipes@gmail.com

	Fixes from Rick's review #1

2011-02-27  jaypipes@gmail.com

	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-03-06  jaypipes@gmail.com

	Adds disk_format and container_format to Image, and
	removes the type column.
	
	Needs a migrate script, but having trouble getting sqlalchemy
	migrate to work with any call to drop_column(). :(

2011-03-05  jaypipes@gmail.com

	Final review fixes. Makes disk_format and container_format optional. Makes glance-upload --type put the type in properties

2011-03-05  jaypipes@gmail.com

	Merge trunk

2011-02-25  jaypipes@gmail.com

	Adds lots of unit tests for verifying exceptions are raised
	properly with invalid or mismatched disk and container formats.
	
	Adds documentation on disk and container formats. Updates
	existing documentation to remove references to the now-gone
	type column and replaces these references with disk_format
	and container_format.
	
	Reworked the validates_image() method in the registry.db.api
	to be like what Rick was describing in reviews.

2011-02-25  jaypipes@gmail.com

	Merge trunk

2011-02-24  jaypipes@gmail.com

	Add test cases for missing and invalid disk and container formats

2011-02-24  jaypipes@gmail.com

	Make disk_format and container_format required

2011-02-23  jaypipes@gmail.com

	Make sure validate_image() doesn't throw exception on missing status when updating image.

2011-02-23  jaypipes@gmail.com

	Merge fix for bug 704854

2011-02-23  jaypipes@gmail.com

	Adds disk_format and container_format to Image, and
	removes the type column.
	
	Needs migrate script, but having trouble getting sqlalchemy
	migrate to work with any call to drop_column(). :(

2011-02-22  jaypipes@gmail.com

	Merge fix for bug704854

2011-02-21  jaypipes@gmail.com

	Merge trunk

2011-03-05  Vishvananda Ishaya  <vishvananda@gmail.com>

	Fixes client update_image to work like create_image.  Also fixes some messed up exceptions that were causing a try, except to reraise.

2011-03-05  Vishvananda Ishaya  <vishvananda@gmail.com>

	remove test skip

2011-03-01  Rick Harris  <rick.harris@rackspace.com>

	Work around Eventlet exception clearing by memorizing exception context and re-raising using 3-arg form.

2011-02-28  Rick Harris  <rick.harris@rackspace.com>

	Work around Eventlet exception clearing

2011-03-01  Rick Harris  <rick.harris@rackspace.com>

	Reverts Image `type` back to the old behavior of being nullable.
	
	Necessary because Nova creates Glance image records without knowing which `type` they will be up-front.

2011-02-25  Rick Harris  <rick.harris@rackspace.com>

	Removing image_type required behavior

2011-02-28  Soren Hansen  <soren@linux2go.dk>

	Add sys.path mangling to glance-upload.

2011-02-28  Soren Hansen  <soren@linux2go.dk>

	Add sys.path adjustment magic to glance-upload.

2011-02-25  Rick Harris  <rick.harris@rackspace.com>

	Makes --kernel and --ramdisk required arguments for glance-upload since Nova currently requires them.
	
	The `null_kernel` concept in Nova is slated to be removed, so this is really just a stop gap measure.

2011-02-24  Rick Harris  <rick.harris@rackspace.com>

	Removing requirement to pass kernel and ramdisk

2011-02-24  Rick Harris  <rick.harris@rackspace.com>

	Requiring kernel and ramdisk args in glance-upload

2011-02-23  jaypipes@gmail.com

	This adds a test case for LP Bug 704854 -- Exception
	raised by Registry server gets eaten by API server.
	
	The test involves spinning up an API server and a registry
	server, firing cURL and glance-upload against the API
	server with invalid requests, and verifying that appropriate
	exception messages are contained in the response. 
	
	I should probably rebase this commit considering all the previous
	commits weren't actually addressing the issue. The fact that I
	had glance-api and glance-registry installed on my local machine
	was causing the test runs to improperly return a passing result.
	
	It just so happens that the glance-api and glance-registry that
	I had installed to my /usr/local/bin were the very same programs
	that were from a previous branch I had locally where I fixed the
	root cause of this issue, which was that the sqlalchemy @validates
	decorator does NOT fire for *new* objects, only existing ones, which
	resulted in image_create() improperly storing NULL data in type, name,
	and other non-nullable fields in the database. This then set off
	a domino effect which caused the next call from
	glance.server._upload_and_activate() to die a horrible death due to
	the @validates decorator then firing on the already-created Image
	object. This horrible death was improperly being raised from the
	glance.client as a BadRequest instead of exception.Invalid, which
	caused the API server to ignore the text in the actual Invalid
	exception coming from the registry server.
	
	In short, this patch finally fixes the root of the problem by
	placing a validate_image() function guard which throws exception.Invalid
	for any invalid data coming into the _image_update() method in the db
	API. It also adds a bunch of logging statements and ensures that
	exceptions throughout the call stack between the API server to the
	glance.registry.Client to the Registry server are properly handled and
	that the text of those exceptions isn't thrown away willy-nilly.

2011-02-23  jaypipes@gmail.com

	Add debugging output to assert in test_misc. Trying to debug what Hudson fails on...

2011-02-23  jaypipes@gmail.com

	Fixups from Rick's review

2011-02-22  jaypipes@gmail.com

	Removes now-unnecessary @validates decorator on model.

2011-02-22  jaypipes@gmail.com

	I should probably rebase this commit considering all the previous
	commits weren't actually addressing the issue. The fact that I
	had glance-api and glance-registry installed on my local machine
	was causing the test runs to improperly return a passing result.
	
	It just so happens that the glance-api and glance-registry that
	I had installed to my /usr/local/bin were the very same programs
	that were from a previous branch I had locally where I fixed the
	root cause of this issue, which was that the sqlalchemy @validates
	decorator does NOT fire for *new* objects, only existing ones, which
	resulted in image_create() improperly storing NULL data in type, name,
	and other non-nullable fields in the database. This then set off
	a domino effect which caused the next call from
	glance.server._upload_and_activate() to die a horrible death due to
	the @validates decorator then firing on the already-created Image
	object. This horrible death was improperly being raised from the
	glance.client as a BadRequest instead of exception.Invalid, which
	caused the API server to ignore the text in the actual Invalid
	exception coming from the registry server.
	
	In short, this patch finally fixes the root of the problem by
	placing a validate_image() function guard which throws exception.Invalid
	for any invalid data coming into the _image_update() method in the db
	API. It also adds a bunch of logging statements and ensures that
	exceptions throughout the call stack between the API server to the
	glance.registry.Client to the Registry server are properly handled and
	that the text of those exceptions isn't thrown away willy-nilly.

2011-02-21  jaypipes@gmail.com

	Use Nova's path trick in all bins...

2011-02-21  jaypipes@gmail.com

	Add path to glance-control

2011-02-18  jaypipes@gmail.com

	Merge trunk

2011-02-16  jaypipes@gmail.com

	Add %default for image type in glance-upload

2011-02-16  jaypipes@gmail.com

	Cleanups from Soren's review

2011-02-16  jaypipes@gmail.com

	This adds a test case for LP Bug 704854 -- Exception
	raised by Registry server gets eaten by API server.
	
	The test involves spinning up an API server and a registry
	server, firing cURL and glance-upload against the API
	server with invalid requests, and verifying that appropriate
	exception messages are contained in the response.
	
	I cannot reproduce 704854 now. Not sure what changed in
	the code that actually fixed this, but the test case verifies
	that the behaviour described in the bug does not occur any more.

2011-02-16  jaypipes@gmail.com

	Merge --pid-file option for glance-control

2011-02-16  jaypipes@gmail.com

	Merge fix for bug 719834

2011-02-17  Rick Harris  <rick.harris@rackspace.com>

	Removes image type validation in the Glance registry.
	
	Nova xs-unified-images requires adding a new image type 'vhd' along side of 'machine', 'raw', etc. Since image_type isn't used by Glance itself (it merely stores the value and hands it back to Nova), Glance shouldn't be the arbiter of what values are acceptable-- Nova should. This promotes loose-coupling and ensures that Glance won't have to change in lock-step with Nova.
	
	More to the point, this a stop-gap to make Glance work with the new xs-unified-images branch until we get proper `container_format` and `disk_format` modeling in Glance. When that happens, we may end up ditching `image_type` altogether.

2011-02-17  Rick Harris  <rick.harris@rackspace.com>

	Adding vhd as recognized image type

2011-02-17  Rick Harris  <rick.harris@rackspace.com>

	Reverting the removal of validation

2011-02-17  Rick Harris  <rick.harris@rackspace.com>

	Removing image type validation

2011-02-16  jaypipes@gmail.com

	Adds --pid-file option to bin/glance-control

2011-02-16  jaypipes@gmail.com

	Adds --pid-file option to bin/glance-control

2011-02-16  jaypipes@gmail.com

	Merge fix for bug 719834

2011-02-16  jaypipes@gmail.com

	Adds Location: header to return from API server for POST /images, per APP spec

2011-02-16  jaypipes@gmail.com

	Adds Location: header to return from API server for POST /images, per APP spec

2011-02-16  jaypipes@gmail.com

	Merge fix for bug 719834

2011-02-16  jaypipes@gmail.com

	Add an ImportError check when importing migrate.exceptions, as the location of that module changed in a recent version of the sqlalchemy-migrate library.

2011-02-16  jaypipes@gmail.com

	Add an ImportError check when importing migrate.exceptions, as the location of that module changed in a recent version of the sqlalchemy-migrate library.

2011-02-11  Rick Harris  <rick.harris@rackspace.com>

	Adds sql_idle_timeout to reestablish connections to database after given period of time.  
	
	Fixes MySQL Gone Away exceptions.

2011-02-11  Rick Harris  <rick.harris@rackspace.com>

	Add sql_idle_timeout

2011-02-10  jaypipes@gmail.com

	Removes lockfile and custom python-daemon server initialization
	in favour of paste.deploy.

2011-02-09  jaypipes@gmail.com

	Review 3 fixups.

2011-02-09  jaypipes@gmail.com

	Remove get_config_file_options() from glance-control

2011-02-09  jaypipes@gmail.com

	Fixes for Rick review #2

2011-02-09  jaypipes@gmail.com

	Merge trunk

2011-02-09  jaypipes@gmail.com

	Remove no-longer-needed imports...

2011-02-09  jaypipes@gmail.com

	Remove extraneous debug import...

2011-02-09  jaypipes@gmail.com

	Changes the server daemon programs to be configured only via
	paste.deploy configuration files. Removed ability to configure
	server options from CLI options when starting the servers with
	the exception of --verbose and --debug, which are useful during
	debugging.
	
	Updated the documentation controllingservers.rst.

2011-02-08  jaypipes@gmail.com

	Fix merge conflicts

2011-02-06  jaypipes@gmail.com

	Merge trunk

2011-02-05  jaypipes@gmail.com

	Use fix_path on find_config_file() too.

2011-02-05  jaypipes@gmail.com

	Merge latest config parser changes...

2011-02-04  jaypipes@gmail.com

	Merge trunk

2011-02-04  jaypipes@gmail.com

	Adds bin/glance-control program server daemonization wrapper
	program based on Swift's swift-init script.
	
	Adds a crap-ton of documentation on installing Glance and
	controlling Glance's server programs.
	
	This was necessary since when glance.common.server was removed
	from Glance and paste.deploy used, we lost the ability to control
	server daemonization with CLI options. This adds back some of that
	functionality while still using paste.deploy like Swift does.

2011-02-04  jaypipes@gmail.com

	Ignore build and deploy-related files

2011-02-03  jaypipes@gmail.com

	Had to reverse search order of directories for finding config files.

2011-02-03  jaypipes@gmail.com

	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-09  Rick Harris  <rick.harris@rackspace.com>

	Adds glance-combined and glance-manage to setup.py

2011-02-08  Rick Harris  <rick.harris@rackspace.com>

	Adds glance-combined and glance-manage to setup.py

2011-02-07  jaypipes@gmail.com

	Fixes bug 714454.
	
	ReStructured Text files need to end in .rst, not .py ;)

2011-02-07  jaypipes@gmail.com

	ReStructure Text files need to end in .rst, not .py ;)

2011-02-06  Rick Harris  <rick.harris@rackspace.com>

	Update README, remove some vestigial directories, and other small tweaks.

2011-02-05  Rick Harris  <rick.harris@rackspace.com>

	Removing dubious advice

2011-02-05  Rick Harris  <rick.harris@rackspace.com>

	Including tests/ in pep8

2011-02-04  Rick Harris  <rick.harris@rackspace.com>

	Typo fixes, clarifying

2011-02-04  Rick Harris  <rick.harris@rackspace.com>

	Updating README, rmdir some empty dirs

2011-02-05  jaypipes@gmail.com

	Adds facilities for configuring Glance's servers via
	configuration files.
	
	glance-api, glance-registry, and glance-combined now process
	a set of configuration files in order, with options read from
	later files overriding values in earlier files:
	
	/etc/glance.cnf
	/etc/glance/glance.conf
	~/glance.cnf
	~/.glance/glance.cnf
	./glance.cnf
	
	The new glance.common.config.get_config_file_options() function
	processes these config files into a mapping of key/value
	option pairs. This mapping can now be passed to the
	glance.common.config.parse_options() function as default values
	
	Adds a sample glance.cnf to the etc/ directory

2011-02-05  jaypipes@gmail.com

	Fixups from Rick's review

2011-02-02  jaypipes@gmail.com

	Adds facilities for configuring Glance's servers via
	configuration files.
	
	glance-api, glance-registry, and glance-combined now process
	a set of configuration files in order, with options read from
	later files overriding values in earlier files:
	
	/etc/glance.cnf
	/etc/glance/glance.conf
	~/glance.cnf
	~/.glance/glance.cnf
	./glance.cnf
	
	The new glance.common.config.get_config_file_options() function
	processes these config files into a mapping of key/value
	option pairs. This mapping can now be passed to the
	glance.common.config.parse_options() function as default values
	
	Adds a sample glance.cnf to the etc/ directory

2011-02-03  Rick Harris  <rick.harris@rackspace.com>

	Adds sqlalchemy migrations.
	
	Also adds a glance-manage utility for managing migrations.
	
	Potentially glance-manage (and glance-upload) could be merged into glance-admin when that lands.

2011-02-02  Rick Harris  <rick.harris@rackspace.com>

	Creating indexes

2011-02-02  Rick Harris  <rick.harris@rackspace.com>

	Adding migration test

2011-02-02  Rick Harris  <rick.harris@rackspace.com>

	Fixing migration import errors

2011-02-02  Rick Harris  <rick.harris@rackspace.com>

	Small cleanups

2011-02-02  Rick Harris  <rick.harris@rackspace.com>

	glance-manage uses common options

2011-02-02  Rick Harris  <rick.harris@rackspace.com>

	Merging in glance/cactus

2011-02-02  Rick Harris  <rick.harris@rackspace.com>

	Pep8 fix

2011-02-02  Rick Harris  <rick.harris@rackspace.com>

	Adding db_sync to mirror nova

2011-02-02  Rick Harris  <rick.harris@rackspace.com>

	Adding some basic documentation

2011-02-02  Rick Harris  <rick.harris@rackspace.com>

	Better logging

2011-02-02  Rick Harris  <rick.harris@rackspace.com>

	Adding image_properties migration

2011-02-02  Rick Harris  <rick.harris@rackspace.com>

	Adding migration for images table

2011-02-02  Rick Harris  <rick.harris@rackspace.com>

	Adding migration management commands

2011-02-03  jaypipes@gmail.com

	Fix bug 712575. Make BASE = models.BASE

2011-02-03  jaypipes@gmail.com

	Make sure BASE is the models.BASE, not a new declarative_base() object.

2011-02-02  jaypipes@gmail.com

	Merge Rick's Super-Cool Option Group Extravanganza.

2011-02-02  Rick Harris  <rick.harris@rackspace.com>

	Pep8 fixes

2011-02-02  Rick Harris  <rick.harris@rackspace.com>

	Refactoring into option groups

2011-02-01  jaypipes@gmail.com

	Merge round 1 logging.

2011-02-01  jaypipes@gmail.com

	Merge cactus trunk and resolve conflicts

2011-02-01  jaypipes@gmail.com

	Remove debugging output that wasn't supposed to go into this branch (yet) :)

2011-02-01  jaypipes@gmail.com

	Adds --debug option for DEBUG-level logging. --verbose now only
	outputs INFO-level log records.
	
	Adds --log-date-format option for greater control over the log
	record date format.
	
	Makes config.setup_logging() set up all loggers, not just an application's
	specific logger. Fixes issue Rick brought up about logging config file
	being overridden by adding a return statement after logging.config stuff
	is done.

2011-02-01  jaypipes@gmail.com

	Fixes from Rick's review. Thanks, Rick.

2011-02-01  jaypipes@gmail.com

	First round of logging functionality:
	
	* Adds option group for logging-only configuration settings
	* Adds /etc and /etc/logging.cnf.sample as an example of setting
	up logging configuration directly with a config file
	* Adds to glance.common.config a couple function useful in
	adding logging options and setting up the logger(s)
	
	Next round will include the addition of a --debug option and
	lots more debugging output to the loggers.

2011-02-01  jaypipes@gmail.com

	Merge fix from Rick for Bug #711385

2011-02-01  Rick Harris  <rick.harris@rackspace.com>

	Typo add_option -> add_options

2011-02-01  Rick Harris  <rick.harris@rackspace.com>

	Adds --sql-connection option

2011-01-31  jaypipes@gmail.com

	Merge glance-combined

2011-01-31  jaypipes@gmail.com

	Merge use-optparse

2011-01-31  jaypipes@gmail.com

	pep8-er in bin/glance-combined

2011-01-31  jaypipes@gmail.com

	Merge yagni-db-adapter and use-optparse

2011-01-28  jaypipes@gmail.com

	Adds bin/glance-combined. Useful in testing...

2011-01-31  jaypipes@gmail.com

	Merged use-optparse

2011-01-31  jaypipes@gmail.com

	Removes glance.common.db.sqlalchemy and moves registration of models and create_engine into glance.registry.db.api.

2011-01-31  jaypipes@gmail.com

	Merge yagni-db-adapter and resolve conflicts.

2011-01-31  jaypipes@gmail.com

	Fixes lp710789 - use-optparse breaks daemonized process stop
	
	Fix was simple. args = FLAGS(argv) returns ALL argv's including
	the program name. optparse.OptionParser.parse_args() does not
	return the program name as args[0], instead it returns args[1:].
	
	In glance.common.server.serve(), we were checking:
	
	action = 'start':
	if len(args) > 1:
	action = args.pop()
	
	Changing this to if len(args): fixed the problem.

2011-01-28  jaypipes@gmail.com

	Rework what comes back from parse_options()[0] to not stringify option values. Keep them typed.

2011-01-28  jaypipes@gmail.com

	Merge trunk

2011-01-28  jaypipes@gmail.com

	Remove use of gflags entirely. Use optparse.

2011-01-27  jaypipes@gmail.com

	Merge versioning patches

2011-01-27  jaypipes@gmail.com

	Merge Bexar r56

2011-01-27  jaypipes@gmail.com

	Makes Glance's versioning non-static. Uses Nova's versioning scheme.

2011-01-31  jaypipes@gmail.com

	Merge yagni-db-adapter removal from rick.

2011-01-28  Rick Harris  <rick.harris@rackspace.com>

	Removing unecessary param to get_all_public

2011-01-28  Rick Harris  <rick.harris@rackspace.com>

	Merging trunk

2011-01-28  Rick Harris  <rick.harris@rackspace.com>

	Adding back some missing code

2011-01-28  Rick Harris  <rick.harris@rackspace.com>

	Cleaning up some code

2011-01-27  Rick Harris  <rick.harris@rackspace.com>

	Removing sqlalchemy dir

2011-01-27  Rick Harris  <rick.harris@rackspace.com>

	Removed methods from sqlalchemy/api

2011-01-27  Rick Harris  <rick.harris@rackspace.com>

	Refactor update/create

2011-01-27  Rick Harris  <rick.harris@rackspace.com>

	Refactoring destroy

2011-01-28  jaypipes@gmail.com

	Merge bexar trunk final changes

2011-01-27  Cerberus  <matt.dietz@rackspace.com>

	Adds/updates the copyright info on most of the files in glance and copies over the Authors check from Nova.

2011-01-26  Cerberus  <matt.dietz@rackspace.com>

	Messed up a permission somehow

2011-01-26  Cerberus  <matt.dietz@rackspace.com>

	feh

2011-01-26  Cerberus  <matt.dietz@rackspace.com>

	A few more

2011-01-26  Cerberus  <matt.dietz@rackspace.com>

	A few more I missed

2011-01-26  Cerberus  <matt.dietz@rackspace.com>

	Merge conflicts and merge from trunk

2011-01-26  Cerberus  <matt.dietz@rackspace.com>

	Merge prop fixes and a few missed things

2011-01-26  Cerberus  <matt.dietz@rackspace.com>

	Removing authors test for now

2011-01-26  Cerberus  <matt.dietz@rackspace.com>

	Merge prop fixes

2011-01-25  Cerberus  <matt.dietz@rackspace.com>

	Added bzr to pip-requires and refixed some pep8 stuff

2011-01-24  Cerberus  <matt.dietz@rackspace.com>

	Authors check

2011-01-24  Cerberus  <matt.dietz@rackspace.com>

	A few more copyrights

2011-01-24  Cerberus  <matt.dietz@rackspace.com>

	Copyright year change

2011-01-24  Cerberus  <matt.dietz@rackspace.com>

	Pylint cleanup

2011-01-24  Cerberus  <matt.dietz@rackspace.com>

	Added copyright info

2011-01-27  jaypipes@gmail.com

	version bumped after tarball cut. no review needed...

2011-01-26  jaypipes@gmail.com

	Bump version

2011-01-26  jaypipes@gmail.com

	Merge trunk

2011-01-26  jaypipes@gmail.com

	Merge trunk

2011-01-26  Josh Kearney  <josh.kearney@rackspace.com>

	PEP8 cleanup.

2011-01-26  Josh Kearney  <josh.kearney@rackspace.com>

	PEP8 cleanup

2011-01-26  Monty Taylor  <mordred@inaugust.com>

	Should fix the sphinx issue.

2011-01-25  Monty Taylor  <mordred@inaugust.com>

	Make sphinx conditional.

2011-01-26  jaypipes@gmail.com

	Adds architecture docs and enables Graphviz sphinx extension. Also cleans up source code formatting in docs.

2011-01-24  jaypipes@gmail.com

	Adds architecture docs and enables Graphviz sphinx extension. Also cleans up source code formatting in docs.

2011-01-25  jaypipes@gmail.com

	bumps version after tarball release of 0.1.4

2011-01-25  jaypipes@gmail.com

	Bump version

2011-01-25  jaypipes@gmail.com

	Merge trunk with pip-requires fixes

2011-01-24  jaypipes@gmail.com

	bumps release version. ready for Bexar final release.
	
	no need to review...just sending this to trunk now.

2011-01-24  jaypipes@gmail.com

	Version bump after release

2011-01-23  jaypipes@gmail.com

	Version bump for release

2011-01-23  Ken Pepple  <ken.pepple@gmail.com>

	added sphinx and argparse into tools/pip-requires so that setup.py works.
	this bug also prevents nova from creating a virtualenv.

2011-01-23  Ken Pepple  <ken.pepple@gmail.com>

	fixes setup install pip dependencies

2011-01-23  jaypipes@gmail.com

	Fixes bug #706636: Make sure pep8 failures will return failure for run_tests.sh

2011-01-23  jaypipes@gmail.com

	Make run_tests.sh return failure when pep8 returns fail, and fix the pep8 error in /bin/glance-upload

2011-01-23  Rick Harris  <rick.harris@rackspace.com>

	This patch:
	* Converts dashes to underscores when extracting image-properties from HTTP headers (we already do this for 'regular' image attributes
	* Update image_properties on image PUTs rather than trying to create dups
	
	Bonus:
	* Remove useless test_data file (no longer needed now that we can actually use Glance API via glance/client.py)
	* Add glance_upload.py which we can use to add raw/extra-kernel images (this might be able to go away once we have a full-blown glance-admin tool. However, for now, this is useful for testing Glance <-> Nova integration.

2011-01-22  Rick Harris  <rick.harris@rackspace.com>

	Adding Apache license, fixing long line

2011-01-22  Rick Harris  <rick.harris@rackspace.com>

	Making glance-upload a first-class binary

2011-01-22  Rick Harris  <rick.harris@rackspace.com>

	Revove useless test_data.py file, add image uploader

2011-01-22  Rick Harris  <rick.harris@rackspace.com>

	Fix property create

2011-01-23  Rick Harris  <rick.harris@rackspace.com>

	This patch replaces some remaining references to req.body (which buffers the entire request body into memory!) with the util.has_body method which can determine whether a body is present without reading any of it into memory.

2011-01-22  Rick Harris  <rick.harris@rackspace.com>

	Dont buffer entire image stream on PUT

2011-01-21  jaypipes@gmail.com

	Adds man pages for glance-registry and glance-api programs. Adds Getting Started guide to the Glance documentation.
	
	Fixes Bug #704842

2011-01-21  jaypipes@gmail.com

	Duh, it helps to import the class you are inheriting from....

2011-01-20  jaypipes@gmail.com

	Pull in typo fix

2011-01-20  jaypipes@gmail.com

	Quick typo fix in docs.

2011-01-20  jaypipes@gmail.com

	Add in manpage installation hook. Thanks Soren :)

2011-01-19  jaypipes@gmail.com

	Adds man pages for glance-registry and glance-api. Adds Getting Started guide to Glance docs.

2011-01-21  jaypipes@gmail.com

	Fixes LP Bug #700162: Images greater than 2GB cannot be uploaded
	using glance.client.Client.

2011-01-21  jaypipes@gmail.com

	OK, found a solution to our test or functional dilemma. w00t.

2011-01-21  jaypipes@gmail.com

	Merge Rick's changes and correct small bug that was affecting test cases.

2011-01-21  Rick Harris  <rick.harris@rackspace.com>

	Make compat with chunked transfer

2011-01-20  jaypipes@gmail.com

	Fixes LP Bug #700162: Images greater than 2GB cannot be uploaded
	using glance.client.Client.
	
	This patch introduces chunked-transfer encoding to the client
	classes. When the glance.client.BaseClient.do_request() method
	is called and the method is either POST or PUT and the body
	argument is a file-like object, then the do_request() method
	builds a chunked-transfer encoded request and send()s chunks of
	the body file-like object over the httplib connection.
	
	Not sure how we fully test this, since we'd have to pack up
	a very large file for use in testing, but I'm open to suggestions :)

2011-01-20  jaypipes@gmail.com

	Merge removal of twisted

2011-01-20  jaypipes@gmail.com

	Removes the last vestiges of Twisted from Glance.
	
	Bonus: shaves a full 45 seconds off of run_tests.sh -V -f now that a giant twisted tarball doesn't need to be downloaded.

2011-01-20  jaypipes@gmail.com

	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  jaypipes@gmail.com

	Remove last little vestiges of twisted.

2011-01-20  Soren Hansen  <soren@linux2go.dk>

	Add run_tests.py to tarball.

2011-01-20  Soren Hansen  <soren@linux2go.dk>

	Also include run_tests.py in tarball.

2011-01-19  jaypipes@gmail.com

	Fixes bug #696375: x-image-meta-size not optional despite documentation saying so.

2011-01-19  jaypipes@gmail.com

	PEP8 fixes in /glance/store/__init__.py
	
	Also makes run_tests.sh automatically call pep8.
	Pulls in Nova's run_tests.py wrapper for prettying
	up output from nosetests...

2011-01-18  jaypipes@gmail.com

	Fixes Bug#696375: x-image-meta-size is not optional, contrary to
	documentation. 
	
	The image's size is set to zero now during reservation of the image ID if the
	image's size is not passed in with headers. In addition,
	glance.store.Backend.add() now returns a tuple of (location, size) and
	the image's size attribute in the registry is updated to this value if 
	previously set to zero.
	
	Adds a new test case that ensures the size attribute is set properly
	when not included in the image meta headers.
	
	Adds documentation for the new _reserve(), _upload(), and _activate()
	methods in glance.server.Controller.

2011-01-18  jaypipes@gmail.com

	Merge trunk

2011-01-17  jaypipes@gmail.com

	Cleanup of RST documentation and addition of docs on an image's status

2011-01-19  jaypipes@gmail.com

	Fix Bug #704038: Unable to start or connect to register server on anything other than 0.0.0.0:9191

2011-01-18  jaypipes@gmail.com

	Fix Bug #704038: Unable to start or connect to register server on anything other than 0.0.0.0:9191

2011-01-18  Monty Taylor  <mordred@inaugust.com>

	upgrade version...

2011-01-18  Monty Taylor  <mordred@inaugust.com>

	Increase version after release.

2011-01-17  Monty Taylor  <mordred@inaugust.com>

	Cut 0.1.2.

2011-01-17  Monty Taylor  <mordred@inaugust.com>

	Files missing from the tarball (and you probably need to cut a 0.1.2.)

2011-01-15  Monty Taylor  <mordred@inaugust.com>

	Include some files that were left out.

2011-01-14  jaypipes@gmail.com

	Implements the S3 store to the level of the swift store.
	
	This branch is Chris' work with a merge of trunk, fix of merge conflicts from trunk, and moving the import of boto into a conditional block so tests can run with the fakes when boto is not installed on the local machine.

2011-01-14  jaypipes@gmail.com

	Merge trunk, resolve conflicts, and move import of boto into conditional block to prevent import errors when running tests and not having boto installed.

2011-01-12  Christopher MacGown  <chris@slicehost.com>

	Fixes suggested by JayPipes review. Did not modify docstrings in non-related files.

2011-01-05  Christopher MacGown  <chris@slicehost.com>

	Merge in upstream to avoid merge conflict.

2011-01-05  Christopher MacGown  <chris@slicehost.com>

	Fixed pylint/pep8 for glance.store.s3

2011-01-05  Christopher MacGown  <chris@slicehost.com>

	Implement S3 to the level of swift

2011-01-13  jaypipes@gmail.com

	fixes bug698318.
	
	Work done by Ewan Mellor; I just fixed a conflict after merging trunk...

2011-01-13  jaypipes@gmail.com

	Merge trunk and resolve conflict in server.py

2011-01-06  Ewan Mellor  <ewan.mellor@citrix.com>

	Bug #698316: Glance reads the whole image into memory when handling a POST
	/images request
	
	Change the store API so that add takes a file-like object, not a string.
	This avoids loading the whole request body into memory before writing it out,
	and allows us to stream it instead.

2011-01-12  Rick Harris  <rick.harris@rackspace.com>

	This merge is in conjunction with lp:~rconradharris/nova/xs-snap-return-image-id-before-snapshot
	
	The patch does the following:
	
	* Image Create (POST) is broken up into 3 steps (reserve, upload and activate); reserve is used to allow the OpenStack API to return metadata about an image where the data has not been uploaded yet
	* Image Update (PUT) now takes image data as the request body and metadata as headers (just like POST); state is enforced so that image data can only be uploaded once.
	* Image statuses were changed to match the OpenStack API (queued, saving, active, killed); NOTE: preparing is not used
	* update_image and add_image client calls now return metadata instead of just the id

2011-01-11  Rick Harris  <rick.harris@rackspace.com>

	Updating docs

2011-01-11  Rick Harris  <rick.harris@rackspace.com>

	Merging trunk

2011-01-07  Rick Harris  <rick.harris@rackspace.com>

	PEP-8 Fixes

2011-01-06  Rick Harris  <rick.harris@rackspace.com>

	Fixing eventlet-raise issue

2011-01-05  Rick Harris  <rick.harris@rackspace.com>

	Merging trunk

2011-01-04  Rick Harris  <rick.harris@rackspace.com>

	removing old methods

2011-01-04  Rick Harris  <rick.harris@rackspace.com>

	refactoring so update can take image_data

2011-01-10  Cory Wright  <cory.wright@rackspace.com>

	Clean up the rest of Glance's PEP8 problems.

2011-01-04  Cory Wright  <cory.wright@rackspace.com>

	More PEP8 fixes

2011-01-04  Ewan Mellor  <ewan.mellor@citrix.com>

	Fix all Glance's pep8 problems.

2011-01-02  Ewan Mellor  <ewan.mellor@citrix.com>

	Bug #696385: Glance is not pep8-clean
	
	Fix all Glance's pep8 problems.

2011-01-04  Ewan Mellor  <ewan.mellor@citrix.com>

	Remove incorrect doccomments about there being a default for the host
	parameter, fix misdocumented default port, and remove handling of missing
	parameters in BaseClient, because the values are always specified by the
	subclass's __init__.

2011-01-02  Ewan Mellor  <ewan.mellor@citrix.com>

	Bug #696382: Glance client parameter defaults misdocumented
	
	Remove incorrect doccomments about there being a default for the host
	parameter, fix misdocumented default port, and remove handling of missing
	parameters in BaseClient, because the values are always specified by the
	subclass's __init__.

2010-12-28  jaypipes@gmail.com

	Fixes a number of things that came up during initial
	coding of the admin tool:
	
	* Fix client constructor to behave like httplib.HTTPConnection
	instead of accepting a URL, it now accepts host, port, and
	use_ssl boolean switch that turns on HTTPSConnection
	* Adds headers properly to the request in client.do_request().
	Previously, was erroneously calling httplib.HTTPConnection.putheader
	after calling httplib.HTTPConnection.request, which was incorrect
	* Now returns type and size of images in index
	* Webob.Response and httplib.HTTPResponse have slightly different
	ways of accessing headers. Fixed an attribute error that was coming
	up because the tests assume webob.

2010-12-27  jaypipes@gmail.com

	Made review changes from Rick.

2010-12-26  jaypipes@gmail.com

	Duh, use_ssl should not use HTTPConnection...

2010-12-26  jaypipes@gmail.com

	Remove final debugging statement

2010-12-25  jaypipes@gmail.com

	merge trunk

2010-12-25  jaypipes@gmail.com

	Remove debugging statements

2010-12-25  jaypipes@gmail.com

	Fixes a number of things that came up during initial
	coding of the admin tool:
	
	* Fix client constructor to behave like httplib.HTTPConnection
	instead of accepting a URL, it now accepts host, port, and
	use_ssl boolean switch that turns on HTTPSConnection
	* Adds headers properly to the request in client.do_request().
	Previously, was erroneously calling httplib.HTTPConnection.putheader
	after calling httplib.HTTPConnection.request, which was incorrect
	* Now returns type and size of images in index
	* Webob.Response and httplib.HTTPResponse have slightly different
	ways of accessing headers.  Fixed an attribute error that was coming
	up because the tests assume webob.

2010-12-26  Ewan Mellor  <ewan.mellor@citrix.com>

	fix bug 694382

2010-12-26  Ewan Mellor  <ewan.mellor@citrix.com>

	Bug #694382: setup.py refers to parallax-server and teller-server, when these have been renamed
	
	Fix script references, following earlier rename.

2010-12-23  jaypipes@gmail.com

	documentation cleanup and matching to other OpenStack projects.  Glance is no longer the red-headed documentation stepchild in OpenStack...

2010-12-23  jaypipes@gmail.com

	review fixes

2010-12-22  jaypipes@gmail.com

	Update sphinx conf to match other OpenStack projects

2010-12-22  jaypipes@gmail.com

	Documentation cleanup. Splits out index.rst into multiple section docs.

2010-12-23  Rick Harris  <rick.harris@rackspace.com>

	Converts timestamp attributes to datetime objects before persisting.
	
	Refactors image_update and image_create to use the same basic code.

2010-12-23  Rick Harris  <rick.harris@rackspace.com>

	Adding __protected_attributes__, some PEP8 cleanups

2010-12-22  Rick Harris  <rick.harris@rackspace.com>

	Converting to datetime before saving image

2010-12-21  jaypipes@gmail.com

	Enhances POST /images call to, you know, actually make it work...
	
	Contains Rick's additions as well.

2010-12-21  jaypipes@gmail.com

	Merge Rick's additions branch and make tiny fixups

2010-12-20  Rick Harris  <rick.harris@rackspace.com>

	Make directory for filesystem backend

2010-12-20  jaypipes@gmail.com

	Adds POST /images work that saves image data to a store backend

2010-12-20  jaypipes@gmail.com

	Update docs for adding image...

2010-12-20  jaypipes@gmail.com

	Fix Chris minor nit on docstring

2010-12-20  jaypipes@gmail.com

	doing the merge of this again...somehow the trunk branch never got rev26 :(

2010-12-18  jaypipes@gmail.com

	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-17  jaypipes@gmail.com

	Major refactoring...

2010-12-16  jaypipes@gmail.com

	Fix testing/debug left in

2010-12-16  jaypipes@gmail.com

	Fixes from review

2010-12-14  jaypipes@gmail.com

	Documentation updates and GlanceClient -> Client

2010-12-14  jaypipes@gmail.com

	Refactor a bunch of stuff around the image files collection
	
	* Removes ImageFile table
	* Places restriction on clients and server requests to ensure
	that the image metadata location is set, or the body of the request
	is image data
	* Refactors the FilesystemBackend to be a bit more robust and throw
	NotFound properly and return a real object instead _file_iter.
	* Move some repetitive code around injecting and building x-image-meta
	HTTP headers into /glance/util.py

2010-12-14  jaypipes@gmail.com

	Cleanup around x-image-meta and x-image-meta-property HTTP headers in GET/HEAD

2010-12-14  jaypipes@gmail.com

	Update /glance/client.py to have GlanceClient do all operations
	that RegistryClient does.
	
	Update glance.server.Controller.create() to return image metadata
	in x-image-meta- headers instead of the response body.
	
	Move RegistryClient to /glance/registry/client.py
	
	Next steps:
	
	* Change GlanceClient.add_image() calls to insert metadata
	into HTTP headers and optionally send image data in the
	request body.

2010-12-13  jaypipes@gmail.com

	Merges Glance API with the registry API:
	* Makes HEAD /images/<ID> return metadata in headers
	* Make GET /images/<ID> return image data with metadata
	in headers
	Updates docs some (more needed)
	
	Next steps:
	
	* Update main GlanceClient class to encapsulate entire Glance API
	and hide RegistryClient from normal usage
	* Refactor registry database API and schema

2010-12-13  jaypipes@gmail.com

	Second step in simplifying the Glance API.
	
	* Removes the notion of Parallax
	* Renames parallax stuff to just "registry"
	
	Next steps:
	
	* Refactor the registry database API to not be so abstract
	and remove the Nova DB super-abstraction layer. Add more
	attributes to the registry database tables, including
	image size_in_bytes
	* Merge Glance API with the registry API:
	** Make HEAD /images/<ID> return metadata in headers
	** Make GET /images/<ID> return image data with metadata
	in headers
	* Update client classes to hide registry client fully within
	/glance/registry/
	* Update docs and tests

2010-12-13  jaypipes@gmail.com

	This is the first part of simplifying the Glance API and
	consolidating the Teller and Parallax APIs into a single,
	unified Glance API.
	
	The following changes were made:
	* Change the bin/teller-server to bin/glance-api
	* Remove the notion of Teller as something the user
	has to be aware of. Call the previous "Teller backends"
	simple "stores".
	* Moves /glance/teller/controllers.py to /glance/server.py
	* Break out the filesystem store into a separate file
	
	Next steps:
	* Hide Parallax behind a unified API
	* Update docs and wiki
	* Refactor image registry database to include more
	information about images
	* Refactor notion of an image identifier to be a Glance URI

2010-12-11  jaypipes@gmail.com

	Adds DELETE call to Teller API

2010-12-08  jaypipes@gmail.com

	Don't leak implementation details in Swift backend. Return None on successful delete_object call

2010-12-06  jaypipes@gmail.com

	Adds call to Swift's DELETE

2010-12-06  jaypipes@gmail.com

	Typo fixed and tiny cleanups

2010-12-06  jaypipes@gmail.com

	Adds DELETE to Teller's API.

2010-12-06  jaypipes@gmail.com

	Merge trunk

2010-12-09  Rick Harris  <rick.harris@rackspace.com>

	Fixes Swift URL Parsing in Python 2.6.5 by adding back netloc.

2010-12-08  Rick Harris  <rick.harris@rackspace.com>

	Fix Swift URL parsing for Python 2.6.5

2010-12-09  Rick Harris  <rick.harris@rackspace.com>

	Moving imports into main which will only be executed after we daemonize thus avoiding the premature initialization of epoll.

2010-12-08  Rick Harris  <rick.harris@rackspace.com>

	Delaying eventlet import until after daemonization

2010-12-05  Rick Harris  <rick.harris@rackspace.com>

	Just some small cleanups, fixing:
	* Swapped port numbers (Parallax Port <=> Teller port)
	* Removing extraneous routes in Teller API
	* Adding required slashes to do_request
	
	Ran unit-tests and they passed.
	
	Tested functionally using curl and tests/test_data.py, everything worked.

2010-12-02  Rick Harris  <rick.harris@rackspace.com>

	Fixing swapped port numbers, removing extraneous routes in Teller controller, adding required slash for do_request calls

2010-12-05  jaypipes@gmail.com

	* Changes Teller API to use REST with opaque ID sent in
	API calls instead of a "parallax URI". This hides the
	URI stuff behind the API layer in communication between
	Parallax and Teller.
	* Adds unit tests for the only complete Teller API call so
	far: GET images/<ID>, which returns a gzip'd string of
	image data
	
	I want to get feedback on these new unit tests and the
	changes to the Teller API to remove the parallax URI from
	the API calls.

2010-12-01  jaypipes@gmail.com

	* Changes Teller API to use REST with opaque ID sent in
	API calls instead of a "parallax URI".  This hides the
	URI stuff behind the API layer in communication between
	Parallax and Teller.
	* Adds unit tests for the only complete Teller API call so
	far: GET images/<ID>, which returns a gzip'd string of
	image data
	
	I want to get feedback on these new unit tests and the
	changes to the Teller API to remove the parallax URI from
	the API calls.

2010-11-29  jaypipes@gmail.com

	Add files attribute to Parallax client tests

2010-11-24  jaypipes@gmail.com

	Adds client classes for Parallax and Teller and fixes some issues where our controller was not returning proper HTTP response codes on errors...

2010-11-23  jaypipes@gmail.com

	Cleanup/fixes for Rick review

2010-11-22  jaypipes@gmail.com

	Adds client classes ParallaxClient and (stubbed) TellerClient
	to new glance.client module.
	
	Updates test cases for Parallax API to properly raise HTTP
	exceptions (which the client classes convert to Nova/Glance
	exception classes)

2010-10-21  jaypipes@gmail.com

	packaging fixups preparing for release candidate

2010-10-21  jaypipes@gmail.com

	Remove symlinks in bin/

2010-10-21  jaypipes@gmail.com

	Packaging fixups

2010-10-18  jaypipes@gmail.com

	awesomeness. merging into trunk since my parallax-api is already in trunk I believe. :)

2010-10-17  Rick Harris  <rick.harris@rackspace.com>

	Moving ATTR helpers into db module

2010-10-17  Rick Harris  <rick.harris@rackspace.com>

	PUTing and POSTing using image key

2010-10-15  jaypipes@gmail.com

	Quick fix...gives base Model an update() method to make it behave like a dict.

2010-10-15  jaypipes@gmail.com

	Merge trunk:

2010-10-15  jaypipes@gmail.com

	Make returned mapping have an 'image' key to help in XML serialization

2010-10-15  jaypipes@gmail.com

	Ignore virtualenv directory in bzr

2010-10-14  jaypipes@gmail.com

	Adds DELETE to the Parallax REST API.

2010-10-14  jaypipes@gmail.com

	Implements the REST call for updating image metadata in the Parallax API

2010-10-15  Rick Harris  <rick.harris@rackspace.com>

	This patch removes unique index on the 'key' column of image_metadatum and replaces it with a compound UniqueConstraint on 'image_id' and 'key'. The 'key' column remains indexed.
	
	Adds tests to ensure that two different images can use the same key, while preventing a single image from having two keys with the same name.

2010-10-15  Rick Harris  <rick.harris@rackspace.com>

	Adds compound unique constraint to ImageMetadatum

2010-10-15  Rick Harris  <rick.harris@rackspace.com>

	Fixes lp653358
	
	Using swift.common.client rather than python-cloudfiles for Teller's Swift backend.

2010-10-15  Rick Harris  <rick.harris@rackspace.com>

	Renaming is_cloudfiles_available -> is_swift_available

2010-10-14  Rick Harris  <rick.harris@rackspace.com>

	Using swift.common.client rather than python-cloudfiles in Teller's Swift backend

2010-10-13  jaypipes@gmail.com

	Implements Parallax API call to register a new image
	
	* Adds unit test for Parallax API controller
	* Adds stubouts for glance.parallax.db.sqlalchemy.api calls
	regarding images
	* Adds unittest for bad status on image creation
	* Adds --logging-clear-handlers arg to nosetests in run_tests.sh to
	prevent extra output in running tests when tests complete successfully

2010-10-13  jaypipes@gmail.com

	Adds a /images/detail route to the Parallax controller, adds a unit test for it, and cleans up Michael's suggestions.

2010-10-12  jaypipes@gmail.com

	Adds tests for bad status set on image

2010-10-12  jaypipes@gmail.com

	Implements Parallax API call to register a new image
	
	* Adds unit test for Parallax API controller
	* Adds stubouts for glance.parallax.db.sqlalchemy.api calls
	regarding images
	* Adds --logging-clear-handlers arg to nosetests in run_tests.sh to
	prevent extra output in running tests when tests complete successfully

2010-10-12  Rick Harris  <rick.harris@rackspace.com>

	Works around non-RFC compliance in Python (< 2.6.5) urlparse library.

2010-10-12  Rick Harris  <rick.harris@rackspace.com>

	Workaround for bug in Python 2.6.1 urlparse library

2010-10-11  jaypipes@gmail.com

	This patch overhauls the testing in Glance:
	
	* Adds Nova-like run_tests.sh and tools/* files to automatically run unit tests in a virtual environment.  Just do ./run_tests.sh -V from project root.  All required dependencies will be installed into a new virtual environment at .glance-venv.
	* Adds proper mocking and stubouts using pymox.  This removes the need for all the FakeParallaxAdapter and similar code.  Unit tests now call stubs.stub_out_parallax(), etc instead of having swiftfakehttp.py and similar code.

2010-10-11  jaypipes@gmail.com

	unittest2 -> unittest. For now, since not using unittest2 features yet.

2010-10-11  jaypipes@gmail.com

	Fixes up test_teller_api.py to use stubout correctly. Fixes a few bugs that showed up in the process, and remove the now-unnecessary FakeParallaxAdapter.

2010-10-08  jaypipes@gmail.com

	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-05  Rick Harris  <rick.harris@rackspace.com>

	With this patch Parallax and teller now work end-to-end with the Swift backend.
	
	bash-3.2$ curl localhost:9292/image?uri=http://localhost:9191/images/2 > testimg.tar.gz
	% Total % Received % Xferd Average Speed Time Time Time Current
	Dload Upload Total Spent Left Speed
	100 189M 0 189M 0 0 203k 0 --:--:-- 0:15:52 --:--:-- 214k
	
	bash-3.2$ md5 testimg.tar.gz
	MD5 (testimg.tar.gz) = ef6c5db4f55b0030828b71dd253a2384

2010-10-04  Rick Harris  <rick.harris@rackspace.com>

	Adding missing backend files, fixing typos in comments

2010-10-01  Rick Harris  <rick.harris@rackspace.com>

	Improving symmetry between teller and parallax

2010-10-01  Rick Harris  <rick.harris@rackspace.com>

	Fixing swift authurl

2010-10-04  Rick Harris  <rick.harris@rackspace.com>

	This patch: 
	* Decouples Controller for ParallaxAdapter implementation by adding generic RegistryAdapter and providing a lookup function
	* Adds base model attributes to Parallax's JSON (created_at, etc)

2010-10-01  Rick Harris  <rick.harris@rackspace.com>

	Add RegistryAdapter, include ModelBase attributes

2010-10-01  Rick Harris  <rick.harris@rackspace.com>

	Fixing Teller image tests

2010-10-01  Rick Harris  <rick.harris@rackspace.com>

	Created teller-server.py in bin/

2010-10-01  Rick Harris  <rick.harris@rackspace.com>

	Merge trunk

2010-10-01  Rick Harris  <rick.harris@rackspace.com>

	Cleaning up Teller backend

2010-10-01  Rick Harris  <rick.harris@rackspace.com>

	Adding Image index call, nesting the Image show dict to facilitate XML serialization

2010-10-01  Rick Harris  <rick.harris@rackspace.com>

	Moving parallax models out of common and into the parallax module

2010-10-01  Christopher MacGown  <chris@slicehost.com>

	Rewrote ImageController to inherit from the work Rick Harris did in glance.common. Moved it into teller/api/images.py to make teller match parallax. Fixed tests. Renamed them to distinguish if any parallax tests ever get written.

2010-09-30  Christopher MacGown  <chris@slicehost.com>

	Updated tests

2010-09-30  Christopher MacGown  <chris@slicehost.com>

	Reimplements server.py as a wsgi api inheriting from glance.common

2010-09-30  Rick Harris  <rick.harris@rackspace.com>

	This patch:
	* pulls in a number of useful libraries from Nova under the common/ path (we can factor those out to a shared library in Bexar-release)
	* Defines the models in common.db.sqlalchemy.models.py (this should be factored out into the parallax package soon)
	* Adds the parallax api-server under /bin (if PyPI was used to pull python-daemon and python-lockfile, you may need to apply a patch I have against it)

2010-09-29  Rick Harris  <rick.harris@rackspace.com>

	ImageChunk -> ImageFile, merging APIRouter into API for now

2010-09-29  Rick Harris  <rick.harris@rackspace.com>

	Adding Apache header to test_data.py

2010-09-29  Rick Harris  <rick.harris@rackspace.com>

	Merge trunk

2010-09-29  Rick Harris  <rick.harris@rackspace.com>

	Small cleanups

2010-09-29  Rick Harris  <rick.harris@rackspace.com>

	Reconciling parallax modifications with modulization of glance

2010-09-28  Rick Harris  <rick.harris@rackspace.com>

	Adding Images controller

2010-09-28  Rick Harris  <rick.harris@rackspace.com>

	Adding API directory and server.py

2010-09-28  Rick Harris  <rick.harris@rackspace.com>

	Adding files from Nova

2010-09-30  Christopher MacGown  <chris@slicehost.com>

	Changes the obj['uri'] to obj['location'] to better sync with the representation within Nova. Adds the image_lookup_fn = ParallaxAdapter.lookup to teller.server

2010-09-29  Christopher MacGown  <chris@slicehost.com>

	Parallax will return obj['location'] instead of obj['uri'], also maybe a parallax lookup fn would be nice?

2010-09-29  Christopher MacGown  <chris@slicehost.com>

	Implements a Parallax adapter for looking up images requested from nova. Adds a size check to SwiftBackend to ensure that the chunks haven't been truncated or anything.

2010-09-28  Christopher MacGown  <chris@slicehost.com>

	Modulify the imports

2010-09-28  Christopher MacGown  <chris@slicehost.com>

	Merge with trunk

2010-09-28  Christopher MacGown  <chris@slicehost.com>

	Implements Parallax adapter for lookups from Teller, also adds size expectations to the backend adapters.

2010-09-28  jaypipes@gmail.com

	Makes glance a module, containing teller and parallax sub-modules.
	
	Makes tests and tests.unit packages so nosetests will find the unit tests.

2010-09-27  jaypipes@gmail.com

	libify glance into teller and parallax modules. Make nosetests work by making tests and tests/unit/ into packages.

2010-09-27  Monty Taylor  <mordred@inaugust.com>

	Rearranged the code a little. Added a setup.py. Added sphinx doc skeleton.

2010-09-26  Monty Taylor  <mordred@inaugust.com>

	Added setup.py and sphinx docs.

2010-09-26  Monty Taylor  <mordred@inaugust.com>

	Reorg to make Monty's build pedanticness side happier.

2010-09-24  jaypipes@gmail.com

	Merge Chris' swift work.

2010-09-24  jaypipes@gmail.com

	Implements Swift backend for teller

2010-09-24  jaypipes@gmail.com

	ignore all .pyc files

2010-09-22  Rick Clark  <rclark@chat-blanc>

	Merging ricks changes

2010-08-25  Rick Harris  <rick.harris@rackspace.com>

	Adding basic image controller and mock backends

2010-08-23  Cory Wright  <cory.wright@rackspace.com>

	Adding description of registry data structure

2010-08-11  Cory Wright  <cory.wright@rackspace.com>

	Adding teller_server

2010-08-11  Cory Wright  <cory.wright@rackspace.com>

	adding filesystem and http backends

2010-08-05  Rick Harris  <rick@quasar.racklabs.com>

	Initial check-in

