5 Commits

Author SHA1 Message Date
Mark McLoughlin
57c4e9b6c6 Convert glance to use the new cfg module
The changes here are substantial and widespread, but in summary:

  - We use cfg to parse the CLI and config files, rather than optparse
    and PasteDeploy

  - A schema is defined for all configuration options close to the code
    which uses the option

  - 2 ConfigOpts sub-classes are added to config.py basically just
    defining how to find config files; this means we can now use e.g.
    glance.conf for base config values which glance-api.conf can
    override

  - load_paste_app() is changed to load the paste app from the last
    config file in the stack and pass the app the ConfigOpts instance

  - The generic app and filter factories in wsgi.py are modified to
    pass a ConfigOpts instance to the apps and filters

  - A ConfigOpts subclass is added for the unit tests which writes out
    config values to a temporary config file and uses cfg to parse that

I've tried to keep the switch as unobtrusive as possible leaving further
cleanups for later e.g.

  - Moving PasteDeploy config out of the config files - I think it would
    be good to aim for having users modify the PasteDeploy config files
    only in fairly rare circumstances. To achieve this, we might define
    a number of common pipelines in the PasteDeploy config and allow
    the user to choose between those pipelines in the glance config.

  - We should add help strings to all the opts, even just for the sake
    of documenting them

  - We should move a bunch of the options into groups - e.g. all the
    rabbit options

  - We no longer rely on config files for default values, so the default
    config files could contain nothing but comments - i.e. explaining
    each option and showing what the default for it is - making it
    obvious where a user has explicitly set a value

There are a couple of behavioural changes which I don't think are
signifcant but are worth mentioning:

  - We used to support passing a config file as a positional argument
    but don't anymore; AFAICT, it was only used by glance-manage when
    launching servers and I've changed that to pass --config-file

  - log_opt_values() doesn't log unknown opts, so won't log any values
    for opts which get registered at runtime later

Change-Id: Iafa998a2a8d860f1ad57e2cd2afee69686ed58ba
2011-12-08 22:32:52 +00:00
Mark McLoughlin
1f979ca757 Allow glance-cache-* find their config files
By default, glance-cache-cleaner looks for glance-cleaner.conf but
its actual config file is glance-cache.conf.

Change the find_config_file() argument to conf_name and make it an
optional argument to load_paste_app(). This allows us to specify
a different config file for the glance apps than their app name.

find_config_file() is also changed to raise an exception if no
config file is found.

Change-Id: Iec71218f5b2f0a7f057ea02f4549bd743892cc65
2011-11-09 22:51:20 +00:00
Jay Pipes
2a5a0e9a35 Fixes LP Bug#878411 - No docs for image cache
Adds documentation on managing the image cache

Adds a simple CLI program to queue an image for
caching.

Change-Id: I2b4c9708c521fdcfaf1c6b8f07505e130923c4b7
2011-11-09 13:40:49 -05:00
Justin Shepherd
8a33e24311 Addresses glance/+spec/i18n
Added gettext.install to glance endpoints, setup.py, and run_tests.py. Wrapped all exceptions in common/exception.py with gettext.

Included fix for bug lp:823676.

Change-Id: Ied4381e1676227afea857acd01f4754e6a181106
2011-08-10 09:09:56 -05:00
Rick Harris
b796cb70f9 Removing bin/image_cache directory 2011-07-22 17:20:59 -05:00