Victoria Series Release Notes


New Features

  • Integrate get_osc_show_columns_for_sdk_resource function to ease showing SDK resources.

Upgrade Notes

  • The osc_lib.command.commandmanager.CommandManager class is a direct subclass of cliff.commandmanager.CommandManager. The extra osc_lib functionality has been shifted upstream into cliff.


Bug Fixes

  • Save the results from the early authentication so double authentication can be avoided.

Other Notes

  • Removed Babel from requirements as it is not a runtime requirement.


New Features

  • Add KeyValueAppendAction that allows key-value arguments to be specified multiple times. For example: --property key1=value1 --property key1=value2.

Upgrade Notes

  • Python 2.7 support has been dropped. The minimum version of Python now supported by osc-lib is Python 3.6.


Bug Fixes

  • Fix format_columns.format_dict() to properly re-format nested dicts. [Bug 2006480]


Bug Fixes

  • Fixes incorrect error when using auth_type: none in clouds.yaml.

  • Respects the <service type>_endpoint_override configuration options, similarly to openstacksdk.


Bug Fixes

  • Allow using a user ID for authentication in place of a username/domain combination. This fixes the use of --os-user-id option and OS_USER_ID environment variable. [Bug 2004898]


Upgrade Notes

  • The dependency on os-client-config has been removed in favor of direct use of openstacksdk.


New Features

  • Adds osc_lib.cli.identity.find_project(). This function can be used to look up a project ID from command-line options like:

                 parsed_args.project, parsed_args.project_domain)
  • Adds osc_lib.cli.identity.add_project_owner_option_to_parser() to register project and project domain options to CLI.

Bug Fixes

  • It is now possible to specify the none auth type (via --os-auth-type CLI argument or OS_AUTH_TYPE environment variable). To use it, --os-endpoint CLI argument or OS_ENDPOINT environment variable must be specified. See the bug for more detail.


New Features

  • Added new options –os-service-provider, –os-remote-project-name, –os-remote-project-domain-name, –os-remote-project-domain-id, and –os-remote-project-id. These can also be loaded from their respective ENV variables (ex. OS_SERVICE_PROVIDER and OS_REMOTE_PROJECT_ID) and allow issuing of commands to a federated cloud using keystone-to-keystone identity federation. More information about keystone-to-keystone can be found here.


New Features

  • --os-profile argument can be loaded from OS_PROFILE environment variables to avoid repeating --os-profile in openstack commands.



Security Issues

  • This release contains the fix for bug 1630822 so that passwords are no longer leaked when using the --debug or -vv options.


Bug Fixes

  • Add additional precedence fixes to the argument precedence problems in os-client-config 1.18.0 and earlier. This all will be removed when os-client-config 1.19.x is the minimum allwed version in OpenStack’s global requirements.txt.



osc-lib was extracted from the main OpenStackClient repo after the OSC 2.4.0 release. A number of the lower-layer modules were simply renamed into the osc_lib namespace:

* openstackclient.api.api -> osc_lib.api.api
* openstackclient.api.auth -> osc_lib.api.auth
* openstackclient.api.utils -> osc_lib.api.utils
* openstackclient.common.command -> osc_lib.command.command
* openstackclient.common.exceptions -> osc_lib.exceptions
* openstackclient.common.logs -> osc_lib.logs
* openstackclient.common.parseractions -> osc_lib.cli.parseractions
* openstackclient.common.session -> osc_lib.session
* openstackclient.common.utils -> osc_lib.utils
* openstackclient.i18n -> osc_lib.i18n

The higher-layer components, such as the OpenStackShell and ClientManager objects, have had significant changes made to them to streamline interaction with os-client-config and keystoneauth in addition to the rename:

* openstackclient.common.commandmanager -> osc_lib.command.commandmanager
* ->

New Features

  • Add utils.find_min_match() function to filter a list based on a set of minimum values of attributes. For example, selecting all compute flavors that have a minimum amount of RAM and disk and VCPUs.

  • Add cli.client_config.OSC_Config as a subclass of os_client_config.config.OpenStackConfig to collect all of the configuration option special cases in OSC into one place and insert into the os-client-config handling.

Bug Fixes

  • The parseractions.KeyValueAction class now raises a argparse.ArgumentTypeError exception when the argument is not in the form <key>=<value>.

  • Change utils.find_resource() to handle client managers that lack a find() method. Raise an exceptions.CommandError exception when multiple matches are found.

  • Change utils.find_resource() to handle glanceclient’s HTTPNotFound exception.

  • Change utils.find_resource() to attempt lookups as IDs first, falling back to find() methods when available.

  • Refactor ClientManager class to remove OSC-specific logic and move all option special-cases into cli.client_config.OSC_Config. Also change some private attributes to public (region_name, interface, cacert, verify and remove _insecure).

  • Refactor OpenStackShell to handle only global argument processing and setting up the ClientManager with configuration from os-client-config. Command and plugin loading remain in OSC.

  • Prevent null key setting for key-value pairs in the KeyValueAction and MultiKeyValueAction parser actions. [Bug 1558690]

  • Decode argv into Unicode on Python 2 in OpenStackShell.main() [OSC Bug 1603494]