Commit Graph

9 Commits

Author SHA1 Message Date
Mark McLoughlin
1038a19a32 Add cfg's new global CONF object
Implements blueprint cfg-global-object

Begin adopting cfg's global CONF object pattern rather than passing
a conf object around everywhere.

This iterations does just enough to have each of the glance programs
initialize CONF and get the unit tests working.

Change-Id: Ia34959b3ba52cbe933d5d347f31319271b2e14f9
2012-06-05 21:50:55 +01:00
Brian Waldon
8b23d4faaf Integrate openstack-common using update.py
* Update all cfg and setup imports to point to new location
* Fixes bug 987968

Change-Id: If2fbf126e0b241e80ee59fa4e43bb5af6eb879a8
2012-04-30 14:01:13 -07:00
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
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
Jason Koelker
4587c9b762 use runs_sql instead of hackery 2011-07-22 18:08:43 -05:00
Jason Kölker
71174b6575 also allow for daemon in the config file so that we can test it easier 2011-06-15 10:42:50 -05:00
Jason Kölker
e201d6baf9 default to non-daemon mode 2011-06-15 10:35:16 -05:00
Jason Kölker
aa4433af4c call it a Daemon, cuz it is 2011-06-13 12:21:35 -05:00
Jason Kölker
8dbb9b501f add the scrubber startup script 2011-06-10 13:43:47 -05:00