24 Commits

Author SHA1 Message Date
Jay Pipes
eec5c1afa1 Adds SSL configuration params to the client
* Adds SSL configuration params to all client classes
* Adds unit test for bad SSL client configuration
* Refactors the registry methods to no longer need
  configuration options passed, and to configure the
  registry client once, on images.Controller.__init__
* Adds glance-api.conf options for SSL support in
  registry client connections.
* Adds SSL CA file socket wrappers via a client auth
  HTTPS connection class
* Adds server SSL support, but not functional tests
  for SSL support yet. Still need to research self-signed
  cert generation for tests...
* Updates documentation for bind and startup options
* Adds functional test case for secure communication
  with API server stood up with SSL supprt. Note it is
  not very DRY. There is some DRY cleanup to do in the
  future...

TODO: Integrate options with bin/glance CLI tool

Change-Id: Ie9fcd36337cc93fd5beeabb9186ad5e93ae2a0f0
2011-10-11 16:40:06 -04: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
jaypipes@gmail.com
75575b41c6 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-08 16:52:38 -05:00
jaypipes@gmail.com
bb5f1229ef Use Nova's path trick in all bins... 2011-02-21 17:11:27 -05:00
jaypipes@gmail.com
ff8586d685 Remove no-longer-needed imports... 2011-02-09 15:24:59 -05:00
jaypipes@gmail.com
610499b5ff 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-09 15:02:13 -05:00
jaypipes@gmail.com
66f4b78234 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 18:59:52 -05:00
jaypipes@gmail.com
294228aacb Removes lockfile and custom python-daemon server initialization
in favour of paste.deploy.

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

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

NOTE: Due to http://trac.pythonpaste.org/pythonpaste/ticket/379, we
removed the CLI option --log-format and use a hard-coded DEFAULT_LOG_FORMAT.
You are still able to adjust the log format using the --log-config-file
option, however, and setting the format string in the log config file.
2011-02-03 10:23:48 -05:00
jaypipes@gmail.com
9b95532069 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-02 21:17:38 -05:00
Rick Harris
cc06221694 Refactoring into option groups 2011-02-02 10:40:57 -06:00
jaypipes@gmail.com
3551512d5b Merge cactus trunk and resolve conflicts 2011-02-01 16:44:30 -05:00
jaypipes@gmail.com
3bf2b100b9 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 16:22:49 -05:00
Rick Harris
6efe7213f1 Typo add_option -> add_options 2011-02-01 19:53:58 +00:00
Rick Harris
fe363898ce Adds --sql-connection option 2011-02-01 19:29:50 +00:00
jaypipes@gmail.com
61711e0378 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 13:18:40 -05:00
jaypipes@gmail.com
daa4a429f7 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-31 13:21:30 -05:00
jaypipes@gmail.com
604a843357 Remove use of gflags entirely. Use optparse. 2011-01-28 15:54:34 -06:00
Cerberus
21d3c72224 A few more I missed 2011-01-26 22:04:29 -06:00
Cerberus
5afa9e2b18 Merge prop fixes 2011-01-26 11:26:54 -06:00
Cerberus
84a6d4cd0e Added copyright info 2011-01-24 15:48:03 -06:00
jaypipes@gmail.com
c9d93d2219 Fix Bug #704038: Unable to start or connect to register server on anything other than 0.0.0.0:9191 2011-01-18 16:01:49 -05:00
Ewan Mellor
f11c8c4c07 Bug #696385: Glance is not pep8-clean
Fix all Glance's pep8 problems.
2011-01-02 02:47:59 +00:00
jaypipes@gmail.com
9c2a8f25d9 Fixes binaries, updates WSGI file to more recent version from Nova, and fixes an issue in SQLAlchemy API that was being hidden by stubs and only showed up when starting up the actual binaries and testing... 2010-12-18 13:00:21 -05:00
jaypipes@gmail.com
f45dc713d4 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 21:23:42 -05:00