From 8a02cf035c830736f3475fd282bbb7cd33b950bf Mon Sep 17 00:00:00 2001 From: Ian Cordasco Date: Mon, 15 Dec 2014 16:05:23 -0600 Subject: [PATCH] Generate glance-manage.conf As specified in the blueprint, we are only going to set log_file in the configuration file for now, and we read it last in glance.cmd.manage. This allows glance-manage to use the appropriate log-file and still retain the settings it needs in glance-api.conf and glance-registry.conf DocImpact Change-Id: I87595a29634e6ffda4e1581d42a92dfe6f84044b Implements: blueprint create-glance-manage-conf Closes-bug: #1391211 --- doc/source/configuring.rst | 18 +++- doc/source/man/glancemanage.rst | 16 ++- etc/glance-manage.conf | 174 ++++++++++++++++++++++++++++++++ glance/cmd/manage.py | 2 + 4 files changed, 207 insertions(+), 3 deletions(-) create mode 100644 etc/glance-manage.conf diff --git a/doc/source/configuring.rst b/doc/source/configuring.rst index 976802b66d..0124c940a0 100644 --- a/doc/source/configuring.rst +++ b/doc/source/configuring.rst @@ -127,6 +127,20 @@ The numeric prefixes in the example above are only necessary if a specific parse ordering is required (i.e. if an individual config option set in an earlier fragment is overridden in a later fragment). +Note that ``glance-manage`` currently loads configuration from three files: + +* ``glance-registry.conf`` +* ``glance-api.conf`` +* and the newly created ``glance-manage.conf`` + +By default ``glance-manage.conf`` only specifies a custom logging file but +other configuration options for ``glance-manage`` should be migrated in there. +**Warning**: Options set in ``glance-manage.conf`` will override options of +the same section and name set in the other two. Similarly, options in +``glance-api.conf`` will override options set in ``glance-registry.conf``. +This tool is planning to stop loading ``glance-registry.conf`` and +``glance-api.conf`` in a future cycle. + Configuring Server Startup Options ---------------------------------- @@ -366,7 +380,7 @@ Optional. Default: ``file`` Can only be specified in configuration files. Sets the storage backend to use by default when storing images in Glance. -Available options for this option are (``file``, ``swift``, ``s3``, ``rbd``, ``sheepdog``, +Available options for this option are (``file``, ``swift``, ``s3``, ``rbd``, ``sheepdog``, ``cinder`` or ``vsphere``). Configuring Glance Image Size Limit @@ -1164,7 +1178,7 @@ to be run via cron on a regular basis. See more about this executable in Configuring the Glance Registry ------------------------------- -There are a number of configuration options in Glance that control how +There are a number of configuration options in Glance that control how this registry server operates. These configuration options are specified in the ``glance-registry.conf`` config file in the section ``[DEFAULT]``. diff --git a/doc/source/man/glancemanage.rst b/doc/source/man/glancemanage.rst index 692d40a65c..6e5132259a 100644 --- a/doc/source/man/glancemanage.rst +++ b/doc/source/man/glancemanage.rst @@ -62,7 +62,7 @@ COMMANDS it first if necessary. OPTIONS -======== +======= **General Options** @@ -73,3 +73,17 @@ OPTIONS `here `_ .. include:: footer.rst + +CONFIGURATION +============= + +The following paths are searched for a ``glance-manage.conf`` file in the +following order: + +* ``~/.glance`` +* ``~/`` +* ``/etc/glance`` +* ``/etc`` + +All options set in ``glance-manage.conf`` override those set in +``glance-registry.conf`` and ``glance-api.conf``. diff --git a/etc/glance-manage.conf b/etc/glance-manage.conf new file mode 100644 index 0000000000..f23b38233a --- /dev/null +++ b/etc/glance-manage.conf @@ -0,0 +1,174 @@ +[DEFAULT] + +# +# From glance.manage +# + +# DEPRECATED. TO BE REMOVED IN THE JUNO RELEASE. Whether or not to +# enforce that all DB tables have charset utf8. If your database +# tables do not have charset utf8 you will need to convert before this +# option is removed. This option is only relevant if your database +# engine is MySQL. (boolean value) +#db_enforce_mysql_charset = true + +# Print debugging output (set logging level to DEBUG instead of +# default WARNING level). (boolean value) +#debug = false + +# The name of a logging configuration file. This file is appended to +# any existing logging configuration files. For details about logging +# configuration files, see the Python logging module documentation. +# (string value) +# Deprecated group/name - [DEFAULT]/log_config +#log_config_append = + +# Format string for %%(asctime)s in log records. Default: %(default)s +# . (string value) +#log_date_format = %Y-%m-%d %H:%M:%S + +# (Optional) The base directory used for relative --log-file paths. +# (string value) +# Deprecated group/name - [DEFAULT]/logdir +#log_dir = + +# (Optional) Name of log file to output to. If no default is set, +# logging will go to stdout. (string value) +# Deprecated group/name - [DEFAULT]/logfile +log_file = /var/log/glance/manage.log + +# DEPRECATED. A logging.Formatter log message format string which may +# use any of the available logging.LogRecord attributes. This option +# is deprecated. Please use logging_context_format_string and +# logging_default_format_string instead. (string value) +#log_format = + +# Syslog facility to receive log lines. (string value) +#syslog_log_facility = LOG_USER + +# Use syslog for logging. Existing syslog format is DEPRECATED during +# I, and will change in J to honor RFC5424. (boolean value) +#use_syslog = false + +# (Optional) Enables or disables syslog rfc5424 format for logging. If +# enabled, prefixes the MSG part of the syslog message with APP-NAME +# (RFC5424). The format without the APP-NAME is deprecated in I, and +# will be removed in J. (boolean value) +#use_syslog_rfc_format = false + +# Print more verbose output (set logging level to INFO instead of +# default WARNING level). (boolean value) +#verbose = false + + +[database] + +# +# From oslo.db +# + +# The back end to use for the database. (string value) +# Deprecated group/name - [DEFAULT]/db_backend +#backend = sqlalchemy + +# The SQLAlchemy connection string to use to connect to the database. +# (string value) +# Deprecated group/name - [DEFAULT]/sql_connection +# Deprecated group/name - [DATABASE]/sql_connection +# Deprecated group/name - [sql]/connection +#connection = + +# Verbosity of SQL debugging information: 0=None, 100=Everything. +# (integer value) +# Deprecated group/name - [DEFAULT]/sql_connection_debug +#connection_debug = 0 + +# Add Python stack traces to SQL as comment strings. (boolean value) +# Deprecated group/name - [DEFAULT]/sql_connection_trace +#connection_trace = false + +# If True, increases the interval between database connection retries +# up to db_max_retry_interval. (boolean value) +#db_inc_retry_interval = true + +# Maximum database connection retries before error is raised. Set to +# -1 to specify an infinite retry count. (integer value) +#db_max_retries = 20 + +# If db_inc_retry_interval is set, the maximum seconds between +# database connection retries. (integer value) +#db_max_retry_interval = 10 + +# Seconds between database connection retries. (integer value) +#db_retry_interval = 1 + +# Timeout before idle SQL connections are reaped. (integer value) +# Deprecated group/name - [DEFAULT]/sql_idle_timeout +# Deprecated group/name - [DATABASE]/sql_idle_timeout +# Deprecated group/name - [sql]/idle_timeout +#idle_timeout = 3600 + +# If set, use this value for max_overflow with SQLAlchemy. (integer +# value) +# Deprecated group/name - [DEFAULT]/sql_max_overflow +# Deprecated group/name - [DATABASE]/sqlalchemy_max_overflow +#max_overflow = + +# Maximum number of SQL connections to keep open in a pool. (integer +# value) +# Deprecated group/name - [DEFAULT]/sql_max_pool_size +# Deprecated group/name - [DATABASE]/sql_max_pool_size +#max_pool_size = + +# Maximum number of database connection retries during startup. Set to +# -1 to specify an infinite retry count. (integer value) +# Deprecated group/name - [DEFAULT]/sql_max_retries +# Deprecated group/name - [DATABASE]/sql_max_retries +#max_retries = 10 + +# Minimum number of SQL connections to keep open in a pool. (integer +# value) +# Deprecated group/name - [DEFAULT]/sql_min_pool_size +# Deprecated group/name - [DATABASE]/sql_min_pool_size +#min_pool_size = 1 + +# The SQL mode to be used for MySQL sessions. This option, including +# the default, overrides any server-set SQL mode. To use whatever SQL +# mode is set by the server configuration, set this to no value. +# Example: mysql_sql_mode= (string value) +#mysql_sql_mode = TRADITIONAL + +# If set, use this value for pool_timeout with SQLAlchemy. (integer +# value) +# Deprecated group/name - [DATABASE]/sqlalchemy_pool_timeout +#pool_timeout = + +# Interval between retries of opening a SQL connection. (integer +# value) +# Deprecated group/name - [DEFAULT]/sql_retry_interval +# Deprecated group/name - [DATABASE]/reconnect_interval +#retry_interval = 10 + +# The SQLAlchemy connection string to use to connect to the slave +# database. (string value) +#slave_connection = + +# The file name to use with SQLite. (string value) +# Deprecated group/name - [DEFAULT]/sqlite_db +#sqlite_db = oslo.sqlite + +# If True, SQLite uses synchronous mode. (boolean value) +# Deprecated group/name - [DEFAULT]/sqlite_synchronous +#sqlite_synchronous = true + +# Enable the experimental use of database reconnect on connection +# lost. (boolean value) +#use_db_reconnect = false + +# +# From oslo.db.concurrency +# + +# Enable the experimental use of thread pooling for all DB API calls +# (boolean value) +# Deprecated group/name - [DEFAULT]/dbapi_use_tpool +#use_tpool = false diff --git a/glance/cmd/manage.py b/glance/cmd/manage.py index 3395ea9921..78ae806d76 100755 --- a/glance/cmd/manage.py +++ b/glance/cmd/manage.py @@ -268,6 +268,8 @@ def main(): prog='glance-registry') cfg_files.extend(cfg.find_config_files(project='glance', prog='glance-api')) + cfg_files.extend(cfg.find_config_files(project='glance', + prog='glance-manage')) config.parse_args(default_config_files=cfg_files, usage="%(prog)s [options] ") log.setup('glance')