Merge "Expose privsep options for config-generator"

This commit is contained in:
Zuul 2019-01-23 19:07:07 +00:00 committed by Gerrit Code Review
commit 225e975abf
2 changed files with 31 additions and 1 deletions

View File

@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
import copy
import enum
import functools
import logging
@ -69,6 +69,33 @@ _ENTRYPOINT_ATTR = 'privsep_entrypoint'
_HELPER_COMMAND_PREFIX = ['sudo']
def _list_opts():
"""Returns a list of oslo.config options available in the library.
The returned list includes all oslo.config options which may be registered
at runtime by the library.
Each element of the list is a tuple. The first element is the name of the
group under which the list of elements in the second element will be
registered. A group name of None corresponds to the [DEFAULT] group in
config files.
The purpose of this is to allow tools like the Oslo sample config file
generator to discover the options exposed to users by this library.
:returns: a list of (group_name, opts) tuples
"""
# This is the default group name, but that can be overridden by the caller
group = cfg.OptGroup('privsep',
title='oslo.privsep options',
help='Configuration options for the oslo.privsep '
'daemon. Note that this group name can be '
'changed by the consuming service. Check the '
'service\'s docs to see if this is the case.'
)
return [(group, copy.deepcopy(OPTS))]
@enum.unique
class Method(enum.Enum):
FORK = 1

View File

@ -39,6 +39,9 @@ warning-is-error = 1
console_scripts =
privsep-helper = oslo_privsep.daemon:helper_main
oslo.config.opts =
oslo.privsep = oslo_privsep.priv_context:_list_opts
[upload_sphinx]
upload-dir = doc/build/html