66 lines
2.3 KiB
Python
66 lines
2.3 KiB
Python
# Copyright 2015 OpenStack Foundation
|
|
# All Rights Reserved.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
# not use this file except in compliance with the License. You may obtain
|
|
# a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations
|
|
# under the License.
|
|
|
|
import copy
|
|
|
|
from oslo_config import cfg
|
|
from oslo_db import options as oslo_db_opts
|
|
|
|
main_db_group = cfg.OptGroup(
|
|
name='database',
|
|
title='Main Database Options',
|
|
help="""
|
|
The *Nova Database* is the primary database which is used for information
|
|
local to a *cell*.
|
|
|
|
This group should **not** be configured for the ``nova-compute`` service.
|
|
""")
|
|
|
|
api_db_group = cfg.OptGroup(
|
|
name='api_database',
|
|
title='API Database Options',
|
|
help="""
|
|
The *Nova API Database* is a separate database which is used for information
|
|
which is used across *cells*. This database is mandatory since the Mitaka
|
|
release (13.0.0).
|
|
|
|
This group should **not** be configured for the ``nova-compute`` service.
|
|
""")
|
|
|
|
# NOTE(stephenfin): We cannot simply use 'oslo_db_options.database_opts'
|
|
# directly. If we reuse a db config option for two different groups
|
|
# ("api_database" and "database") and deprecate or rename a config option in
|
|
# one of these groups, "oslo.config" cannot correctly determine which one to
|
|
# update. That's why we copy these.
|
|
main_db_opts = copy.deepcopy(oslo_db_opts.database_opts)
|
|
api_db_opts = copy.deepcopy(oslo_db_opts.database_opts)
|
|
|
|
# We don't support the experimental use of database reconnect on connection
|
|
# lost, so remove the config option that would suggest we do
|
|
main_db_opts = [opt for opt in main_db_opts if opt.name != 'use_db_reconnect']
|
|
api_db_opts = [opt for opt in main_db_opts if opt.name != 'use_db_reconnect']
|
|
|
|
|
|
def register_opts(conf):
|
|
conf.register_opts(main_db_opts, group=main_db_group)
|
|
conf.register_opts(api_db_opts, group=api_db_group)
|
|
|
|
|
|
def list_opts():
|
|
return {
|
|
main_db_group: main_db_opts,
|
|
api_db_group: api_db_opts,
|
|
}
|