Yoga Series Release Notes


Bug Fixes

  • Adding the missing HostDomain config option. Previously this available type couldn’t been imported because no related config option was defined.


New Features

  • Add a --check-defaults flag to oslo-config-validator. When set, oslo-config-validator will compare the input-file with the sample generated configuration and flag any discrepancies. It also obeys the standard --exclude-group and --fatal-warning options.


Upgrade Notes

  • Support for Python 2.7 has been dropped. The minimum version of Python now supported is Python 3.6.


Upgrade Notes

  • Positional options are now required by default, to match argparse’s default behavior. To revert this behavior (and maintain optional positional arguments), you need to explicitly specify positional=True, required=False as part of the options definition.

Bug Fixes

  • On the command line, oslo.config now returns command usage information from argparse (instead of dumping a backtrace) when required arguments are missing.


New Features

  • The oslo-config-validator tool now has a new option, --exclude-group, that allows deployers to ignore certain groups that might not appear in the sample config data, perhaps because the name of the group depends on other configuration values. This way the validator can still be used on the known groups.


New Features

  • Support for accessing configuration data in environment variables via the environment backend driver, enabled by default. The environment is checked after command line options, but before configuration files.

    Environment variables are checked for any configuration data. The variable names take the form:

    • A prefix of OS_

    • The group name, uppercased

    • Separated from the option name by a __ (double underscore)

    • Followed by the name

    For an option that looks like this in the usual INI format:

    connection = sqlite:///

    the corresponding environment variable would be OS_PLACEMENT_DATABASE__CONNECTION.


New Features

  • A validator for config files is now available. When run against a config file, it will report an error for any options present that aren’t defined in the service and will report a warning for any deprecated options in the file. In order to discover the available options for a service, it can either use the sample config generator configuration file or a machine-readable sample config generated elsewhere.


New Features

  • oslo.config now supports the fatal-deprecations option from oslo.log. This behavior is only enabled if oslo.log is installed, but oslo.log is still not a hard requirement to avoid a circular dependency.

Upgrade Notes

  • Because support for fatal-deprecations was added in this release, users who have fatal-deprecations enabled and have deprecated config opts in use (which previously was not a problem because oslo.config didn’t respect the fatal-deprecations option) will need to resolve that before upgrading or services may fail to start.


New Features

  • String, Number, Integer, Float and Port now support value-description tuples in the interable provided for the choice parameter. Support for value-only definitions is retained.

  • StringOpt and PortOpt now support a value-description tuples in the iterable provided for the choice parameter. Support for value-only definitions is retained.

  • oslo-config-generator and the Sphinx extension will now output descriptions for option choices where provided. This will impact tooling that relies on the yaml and json output of the former.


New Features

  • The sample config generator can now generate machine-readable formats of the sample config data. This can be consumed by deployment tools to automatically generate configuration files that contain all of the information in the traditional sample configs.


New Features

  • When a deprecated option is used, the message warning that the option is deprecated now includes the reason for the deprecation, if there is one given.



Configuration option type of HostAddressOpt added to accept and validate both IP addresses and hostnames. Please refer to the features section for more information.

New Features

  • Configuration option type of HostAddressOpt added to accept both valid IP address (IPv4 and IPv6) values as well as hostnames. The HostAddressOpt will accept both IPv4 and IPv6 addresses and ensure that strict checks are performed on the IP versions. This option type will also accept and accurately validate hostnames ensuring that no invalid IP passes as a valid hostname.


New Features

  • Add default config-dir paths if no –config-dir switches are given on the command line. This is similar to the default config-file handling oslo.config already supports. If no –config-dir switches are given, oslo.config searches now in a couple of directories (depending on the given project name) for config file snippets. Non-existing directories are simply skipped. The directories, if no project name is given, are:

    • ~/${prog}.conf.d/

    • /etc/${prog}.conf.d/

    Only the first directory is used if that is available. If a project is given, the directories searched is a bit more complicated. 2 directories are searched, first search is for the project related dir:

    • ~/.${project}/${project}.conf.d/

    • ~/${project}.conf.d/

    • /etc/${project}/${project}.conf.d/

    • /etc/${project}.conf.d/

    Then for the program name related configs, the following directories are searched:

    • ~/.${project}/${prog}.conf.d/

    • ~/${prog}.conf.d/

    • /etc/${project}/${prog}.conf.d/

    • /etc/${prog}.conf.d/

Upgrade Notes

  • Similar to ‘default_config_files’, ‘default_config_dirs’ is no longer an allowed config key. If that key is used, a ValueError() will be raised.

Other Notes

  • Adding some default config-dirs makes it possible to use config dir snippets also in wsgi environments (like Apache) where it is not easily possible to pass command line parameters to a wsgi app.


New Features

  • Integer and Float now support min, max and choices. Choices must respect min and max (if provided).

  • Added Port type as an Integer in the closed interval [0, 65535].


New Features

  • Added minimum and maximum value limits to FloatOpt.


Other Notes

  • Start using reno for managing release notes.