Unreleased Versions


New Features

  • Added new option for Connection, strict_proxies. When set to True, Connection will throw a ServiceDiscoveryException if the endpoint for a given service doesn’t work. This is useful for OpenStack services using sdk to talk to other OpenStack services where it can be expected that the deployer config is correct and errors should be reported immediately.


New Features

  • Adds support for fetching specific fields when getting bare metal Node, Port, PortGroup, Chassis and Allocation resources.

  • Added support for setting global_request_id on a Connection. If done, this will cause all requests sent to send the request id header to the OpenStack services. Since Connection can otherwise be used multi-threaded, add a method global_request that returns a new Connection based on the old Connection but on which the new global_request_id has been set. Since a Connection can be used as a context manager, this also means the global_request method can be used in with statements.


Bug Fixes

  • Fixed issue where the dns methods were returning False instead of None when resources were not found.

  • Fixed jsonification under python3.

Other Notes

  • Update betacloud region for Germany


New Features

  • Implements add/remove/set traits API for bare metal nodes.


Bug Fixes

  • Basic networking list calls in the cloud layer been fixed to return an empty list if neutron is not running.

  • Fixed a bug related to metadata’s key name. An exception was raised when setting it to “delete”,” clear” or “key”


Bug Fixes

  • Updated the Rackspace vendor entry to use “False” for the value of xenapi_use_agent instead of false, because that’s what the remote side expects. The recent update to use the Resource layer exposed the incorrect setting causing image uploads to Rackspace to fail.


New Features

  • has_{service_type} is a boolean config option that allows asserting that a given service does not exist or should not be used in a given cloud. Doing this will now cause the corresponding service Proxy object to not be created and in its place is an object that will throw exceptions if used.

  • {service_type}_disabled_reason is a new string config option that can be set to indicate a reason why a service has been disabled. This string will be used in exceptions or log warnings emitted.

Bug Fixes

  • The baremetal calls wait_for_nodes_provision_state, wait_for_allocation and the baremetal introspection call wait_for_introspection now raise ResourceFailure on reaching an error state instead of a generic SDKException.


New Features

  • Added the ability to create a Connection from an oslo.config CONF object. This is primarily intended to be used by OpenStack services using SDK for inter-service communication.


New Features

  • Add support for staging image data.

  • Add possibility to automatically invoke vendor hooks. This can be done either through extending profile (vendor_hook), or passing vendor_hook parameter to the connection. The format of the vendor_hook is the same as in the setuptools (module.name:function_name). The hook will get connection as the only parameter.

  • Allows updating name and extra fields of a baremetal allocation.

  • Added dns_domain parameter into the create_network and update_network methods.


New Features

  • Adds support for dns service.

  • Add floating IP Port Forwarding related methods.

  • Add image service info discovery (import constraints and supported stores)

  • In microversion 1.1, Masakari returns recovery_workflow_details information of the notification in GET /notifications/{notification_id} API. Added recovery_workflow_details attribute to Notification class to read the recovery_workflow_details of the notification.

  • When generating a config drive for baremetal, “mkisofs” and “xorrisofs” are now supported beside the already available “genisoimage” binary. This is useful on environment where the “genisoimage” binary is not available but “mkisofs” and/or “xorrisofs” are available.

  • Adds support for the bare metal introspection service.

  • Implements updating the baremetal Node’s maintenance_reason.

  • Adds support for changing bare metal resources by providing a JSON patch. Adds the following calls to the bare metal proxy: patch_node, patch_port, patch_port_group and patch_chassis.

  • Supports Bare Metal API version 1.56, which allows building a config drive on the server side from a provided dictionary.

  • Added methods to manage object store temp-url keys and generate signatures needed for FormPost middleware.

  • The auth_url will be used for the default value of identity_endpoint_override in the absence of project or system-scope information. This should simplify some actions such as listing available projects.

  • Added support for collecting and reporting stats on calls made to statsd and prometheus.

Upgrade Notes

  • When a known service cannot be resolved to a supported version, an exception is now thrown instead of just returning a blank Proxy object. This allows returning sane errors to users.

Deprecation Notes

  • The set_node_instance_info call is deprecated, use patch_machine with the same arguments instead.

  • The purge_node_instance_info call is deprecated, use patch_machine or update_machine instead.

  • Requesting volumes or backups with details from block_storage will return objects of classes Volume and Backup correspondingly, instead of VolumeDetail and BackupDetail.

  • Listing servers with details servers(details=True) will return instances of the Server class instead of ServerDetails.

Bug Fixes

  • The get_server_by_id method is supposed to return None if the server in question can’t be found, but a regression was introduced causing it to raise ResourceNotFound instead. This has been corrected and get_server_by_id returns None correctly again.

  • Fixes openstack.baremetal.configdrive.build to actually handle the network_data argument.

Other Notes

  • openstack.resource.Resource.find now can use the database back-end to filter by name. If the resource class has “name” in the query parameters, this function will add this filter parameter in the “list” command, instead of retrieving the whole list and then manually filtering.


New Features

  • Add image attributes is_hidden, hash_algo, hash_value

  • Add support for schema resource in image service.

  • Adds Octavia (load_balancer) support for the flavor APIs.

  • Adds Octavia (load_balancer) support for the flavor profile APIs.

  • Adds Octavia (load_balancer) support for the providers APIs.

  • Adds Octavia (load_balancer) support for the amphora APIs.

  • Added Octavia (load_balancer) load balancer failover.

  • Add ability to create image without upload data at the same time

  • Add support for interoperable image import process as introduced in the Image API v2.6 at [1] [1]https://developer.openstack.org/api-ref/image/v2/index.html#interoperable-image-import

  • Adds support for the baremetal allocation API.

  • Adds support for network_data when building baremetal configdrives.

Upgrade Notes

  • The zone attribute on compute Service objects has been renamed to availability_zone to match all of the other resources, and also to better integrate with the Resource.location attribute.