Stein Series Release Notes


Bug Fixes

  • Fixes 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

  • 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.


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]

  • 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.


New Features

  • Added load balancer and listener get statistics methods.

  • Add tags support for the Octavia (load_balancer) objects.

  • Added support for the Octavia (load_balancer) L7 Policy “redirect_prefix” capability.

Bug Fixes

  • Fixed the Octavia (load_balancer) load balancer objects to have “flavor_id” instead of the nonexistent “flavor” field.

  • Changes the baremetal.attach_vif_to_node call to retry HTTP CONFLICT by default. While it’s a valid error code when a VIF is already attached to a node, the same code is also used when the target node is locked. The latter happens more often, so the retries are now on by default and can be disabled by setting retry_on_conflict to False.

  • Fixed a regression in deleting Node and Cluster resources in clustering caused by the addition of the location property to all resource objects. Previously the delete calls had directly returned the location field returned in the headers from the clustering service pointing to an Action resource that could be fetched to get status on the delete operation. The delete calls now return an Action resource directly that is correctly constructed so that wait_for_status and wait_for_deleted work as expected.

  • Corrected the location property on the Server resource to use the project_id from the remote resource rather than the information from the token of the user.


New Features

  • Added support for block storage v3.


Bug Fixes

  • Fixed a regression with sub-dicts of server objects were not usable with object notation.


New Features

  • Add propagate_uplink_status attribute to port resource. Users can set this attribute to True or False. If it is set to True, uplink status propagation is enabled. Otherwise, it is disabled. Neutron server needs to have the API extension uplink-status-propagation in order to support this feature. This feature can be used in SRIOV scenario, in which users enable uplink status propagation of the SRIOV port so that the link status of the VF will follow the PF.

  • Implement block-storage.v2 Backup resource with restore functionality.

  • Vendor profiles can now be fetched from an RFC 5785 compliant URL on a cloud, namely, A cloud can manage their own vendor profile and serve it from that URL, allowing a user to simply list as the profile name.

  • Added the newly supported description parameter and the missing domain_id parameter to Role resource.

Bug Fixes

  • Fixes specifying fields when listing bare metal resources.


New Features

  • Basic CRUD functionality was added on Host Aggregates. Actions are not implemented yet (adding/removing hosts from Host Aggregates).

  • The objects returned by baremetal detailed listing functions (connection.baremetal.{nodes,ports,chassis,port_groups}) are now fully functional, e.g. can be directly updated or deleted.

  • The installed version can now be quickly checked with python -m openstack version.

Deprecation Notes

  • The following baremetal resource classes are no longer used and will be removed in a future release: NodeDetail, PortDetail, ChassisDetail and PortGroupDetail. The regular Node, Port, Chassis and PortGroup are now used instead.

Bug Fixes

  • Fixed incorrect neutron endpoint mangling for the cases when the catalog contains a versioned neutron endpoint.


New Features

  • Added the unified limits basic CRUD methods. It includes two kinds of resources: registered_limit and limit.

  • Add the ability to extend a volume size with extend_volume method.

  • Client-side rate limiting is now directly exposed via rate_limit and concurrency parameters. A single value can be given that applies to all services, or a dict of service-type and value if different client-side rate or concurrency limits should be used for different services.

Bug Fixes

  • Fixed a regression in image upload when the cloud uses the task upload method. A refactor led to attempting to update the disk_format and container_format values after the image had been imported.

  • Fix a regression where the TaskManager.post_run_task elapsed_time argument was not reflecting the time taken by the actual task.


Bug Fixes

  • Fixed a regression in the new TaskManager code which caused programs that were passing in a TaskManager that they had been running start on to fail due to a double call.


New Features

  • The networking API v2 specification, which is implemented by OpenStack Neutron, features an optional routes parameter - when updating a router (PUT requests). Static routes are crucial for routers to handle traffic from subnets not directly connected to a router. The routes parameter has now been added to the OpenStackCloud.update_router method as a list of dictionaries with destination and nexthop parameters.

  • The OpenStackCloud bare metal NIC calls now support all microversions supported by the SDK. Previously version 1.6 was hardcoded.

  • Added wait_for_node_reservation to the baremetal proxy.

  • The bare metal operations now retry HTTP 409 and 503 by default. The number of retries can be changes via the baremetal_status_code_retries configuration option (defaulting to 5).

  • Adds support for bare metal node validation to the bare metal proxy.

  • Implements VIF attach/detach API for bare metal nodes.

  • Containers are now searchable both with a JMESPath expression or a dict of container attributes via the openstack.connection.Connection.search_containers function.

  • Implement fwaas v2 resources for managing firewall groups, rules and policies.

  • Added get_object_raw method for downloading an object from swift and returning a raw requests Response object.

  • The get_machine, update_machine and patch_machine calls now support all Bare Metal API microversions supported by the SDK. Previously they used 1.6 unconditionally.

  • create_network now exposes the mtu api option in accordance to network v2 api. This allows the operator to adjust the given MTU value which is needed in various complex network deployments.

  • Add support for networks being configured as the primary nat_source in clouds.yaml.

  • Objects are now searchable both with a JMESPath expression or a dict of object attributes via the openstack.connection.Connection.search_object function.

  • Added stream_object method for getting object content in an iterator.

  • Added a new property, ‘port_security_enabled’ which is a boolean to enable or disable port_secuirty during network creation. The default behavior will enable port security, security group and anti spoofing will act as before. When the attribute is set to False, security group and anti spoofing are disabled on the ports created on this network.

Upgrade Notes

  • When using the Image API, it is no longer possible to set arbitrary properties, not known to the SDK, via image.update_image API.

  • The baremetal API now returns available as provision state for nodes available for deployment. Previously, None could be returned for API version 1.1 (early Kilo) and older.

  • openstack.connection.Connection.create_object no longer creates a container if one doesn’t exist. It is the user’s responsibility to create a container before using it.

  • In anticipation of the upcoming 1.0 release, all the things that have been marked as deprecated have been removed.

  • openstack.profile.Profile has been removed. openstack.config should be used directly instead.

  • openstack.resource.Resource.get has been renamed to openstack.resource.Resource.fetch to prevent conflicting with a dict method of the same name. While most consumer code is unlikely to call this method directly, this is a breaking change.

  • openstack.resource.Resource.update has been renamed to openstack.resource.Resource.commit to prevent conflicting with a dict method of the same name. While most consumer code is unlikely to call this method directly, this is a breaking change.

  • The base Resource field location is no longer drawn from the Location HTTP header, but is instead a dict containing information about cloud, domain and project. The location dict is a feature of shade objects and is being added to all objects as part of the alignment of shade and sdk.

Deprecation Notes

  • The OpenStackCloud wait_for_baremetal_node_lock call is deprecated. Generally, users should not have to call it. The new wait_for_node_reservation from the baremetal proxy can be used when needed.

  • The OpenStackCloud.validate_node call was deprecated in favor of OpenStackCloud.validate_machine.

Bug Fixes

  • Adds support for error messages from the bare metal service.

  • Correct updating bare metal resources. Previously an incorrect body used to be sent.

  • Fixed an issue where passing an iterator to the data parameter of create_object for chunked uploads failed due to attempting to calculate the length of the data.

  • Re-added support for v4-fixed-ip and v6-fixed-ip in the nics parameter to create_server. These are aliaes for fixed_ip provided by novaclient which shade used to use. The switch to REST didn’t include support for these aliases, resulting in a behavior regression.