2023.1 Series Release Notes¶
1.0.0¶
Prelude¶
This is a final R1.0 release of the OpenStackSDK. A few technical issues caused us not to reach this milestone cleanly, therefore we decided to one more time explicitly log everything what should be considered as R1.0. For detailed list of changes please see individual release notes from 0.99.0 to 0.103.0. Most important changes are explicitly repeated here. There were issues with maintainability of multiple available access interfaces, which forced us to consider what we are able to maintain in the long run and what we can not. That means that certain things were dropped, which is why we are releasing this as a major release. R1.0 is considered as a first major release with corresponding promise regarding backwards-compatibility.
New Features¶
The
find_snapshot
andfind_backup
methods have been added to the v2 block storage proxy API. These were previously only available for the v3 proxy API.
The
openstack.image.Image.import_image
method andimport_image
image proxy method now accept the following additional paramters:remote_region
remote_image_id
remote_service_interface
These are required to support the
glance-download
image import method.
A number of APIs support passing an admin-only
all_projects
filter when listing certain resources, allowing you to retrieve resources from all projects rather than just the current projects. This filter is now explicitly supported at the proxy layer for services and resources that support it. These are:Block storage (v2)
find_snapshot
snapshots
find_volume
volumes
Block storage (v3)
find_snapshot
snapshots
find_volume
volumes
Compute (v2)
find_server
find_server_group
server_groups
Workflow (v2)
find_cron_triggers
cron_triggers
Add BGP Speaker and BGP Peer resources, and introduce support for CRUD operations for these. Additional REST operations introduced for speakers: add_bgp_peer, remove_bgp_peer, add_gateway_network, remove_gateway_network, get_advertised_routes, get_bgp_dragents, add_bgp_speaker_to_draget, remove_bgp_speaker_from_dragent. One new REST method is added to agents to cover the features of Dynamic Routing Agents schedulers: get_bgp_speakers_hosted_by_dragent
Add
Tap Service
andTap Flow
resources, and introduce support for CRUD operations for these.
Adds
get_boot_device
andget_supported_boot_devices
toopenstack.baremetal.v1.Node
.
Adds
get_node_boot_device
andget_node_supported_boot_devices
to the baremetal Proxy.
Adds
get_console
andset_console_state
toopenstack.baremetal.v1.Node
.
Adds
get_node_console
,enable_node_console
anddisable_node_console
to the baremetal Proxy.
Adds
inject_nmi
openstack.baremetal.v1.Node
.
Adds
inject_nmi_to_node
to the baremetal Proxy.
Cloud layer is now consistently returning
Resource
class objects. Previously this was not always the case.
API response caching is implemented deep inside the code which will minimize roundtrips for repeated requests.
The majority of services were verified and adapted to the latest state of the API.
Certain code reorganization to further help in code reduction has been made (metadata, tag and quota support moved to standalone common classes).
The following proxy
find_*
operations will now retrieve a detailed resource by default when retrieving by name:Block storage (v2)
find_volume
find_snapshot
find_backup
Block storage (v3)
find_volume
find_snapshot
find_backup
find_group
find_group_snapshot
Compute (v2)
find_image
find_server
find_hypervisor
Add search_resources method implementing generic search interface accepting resource name (as “service.resource”), name_or_id and list of additional filters and returning 0 or many resources matching those. This interface is primarily designed to be used by Ansible modules.
Server actions such as reboot and resize will now default to the latest microversion instead of 2.1 as before.
Convert container_infrastructure_management cloud operations to rely fully on service proxy with all resource classes created.
Upgrade Notes¶
No Munch conversion and normalization of the floating ips is happening anymore. For Neutron network a pure FloatingIP object is being returned, for Nova still munch object.
The signatures of the
openstack.image.v2.import_image
has changed. All arguments exceptimage
andmethod
are now kwarg-only.
Cloud layer methods are returning
Resource
class objects instead ofMunch
objects. In some cases this cause renaming of the attributes.Resource
class isMunch
compatible and allows both dictionary and attribute base access.
Some historical methods, which were never properly tested were dropped.
Deprecation Notes¶
The following Compute service proxy methods are now deprecated:
find_image
get_image
delete_image
images
These are proxy APIs for the Image service. You should use the Image service instead via the Image service proxy methods.
search_floating_ips method is deprecated and should not be used anymore. It is going to be dropped approximately after one major cycle.
Munch
is dropped as a dependency. The project has no releases since multiple years and was causing huge performance impact already during import. This has directly no negative imapct to SDK users (it now starts faster), but in the code we copied usedMunch
pieces. They are going to be consistently eliminated in next releases.
0.103.0¶
New Features¶
Add possibility to list users in the group.
Add support for Compute API microversion 2.17, which allows admins to trigger a crash dump for a server. This can be useful for debugging misbehaving guests.
Add workflow CronTrigger resource and proxy methods.
Upgrade Notes¶
The signatures of the various volume attachment-related methods in the compute API proxy layer have changed. These were previously incomplete and did not function as expected in many scenarios. Some callers may need to be reworked. The affected proxy methods are:
create_volume_attachment
delete_volume_attachment
update_volume_attachment
get_volume_attachment
volume_attachments
cloud.get_compute_usage method return instance of compute.usage.Usage class instead of munch.
Bug Fixes¶
Make sure find_server returns server details when looking up by name.
0.102.0¶
New Features¶
Add support for group snapshots to the block storage service.
-| Adds support to query metadef namespaces from glance.
Add support for metadata definition schema resource in image service.
Project cleanup now supports cleaning Swift (object-store). If supported by the server bulk deletion is used. Currently only filtering based on updated_at (last_modified) is supported.
Added support for the updated_at attribute for volume snapshots.
Added
update_volume
to the block storage proxy.
Upgrade Notes¶
Changes the baremetal
create_node
call to be closer to how Ironic behaves. If no provision state is requested, the default state of the current microversion is used (which usually meansenroll
). If theavailable
state is requested, the node does not go through cleaning (it won’t work without creating ports), an old API version is used to achieve this provision state.
The default behavior of the
register_machine
call has been modified to run cleaning by default, if enabled in Ironic. You can passprovision_state="enroll"/"manageable"
to avoid it.