[release-announce] openstacksdk 0.28.0 (train)

no-reply at openstack.org no-reply at openstack.org
Thu May 16 06:58:36 UTC 2019


We are pumped to announce the release of:

openstacksdk 0.28.0: An SDK for building applications to work with
OpenStack

This release is part of the train release series.

The source is available from:

    https://opendev.org/openstack/openstacksdk

Download the package from:

    https://pypi.org/project/openstacksdk

Please report issues through:

    https://storyboard.openstack.org/#!/project/760

For more details, please see below.

0.28.0
^^^^^^


New Features
************

* Adds support for dns (https://developer.openstack.org/api-
  ref/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.

Changes in openstacksdk 0.26.0..0.28.0
--------------------------------------

1e810595 Continue refactoring of the image
364b17e2 Workaround older octavia version discovery
f9483e5d Skip attaching FloatingIP if it is already attached
bc0cff52 Add support for all_tenants in OpenStackInventory
21bb881d fixing timing
83cd4f9d Uncap jsonschema
790fefbc Add "name" filter in "list" call when retrieving a single register
769646c5 Update compute.server resource
9fb79904 Deduplicate next-page URL's query params
737bcb0e Finish updating links to point to opendev
f1983475 OpenDev Migration Patch
598c994e Support for the baremetal introspection service
d6a53c92 Remove now unused task_manager file
667fc55b Update baremetal to use proxy logger
d8db601f Actually pass on network_data when building configdrive
e8e99af4 Return None from get_server_by_id on 404
1c051733 Try to fix the masakari CI job
842d3caa Support microversion 2.61 for nova flavors
5c06d139 Add logger to Proxy object
0df7372b Removing region La1 from the list of regions.
8fed470b baremetal: Add support for mkisofs and xorrisofs for configdrive
8bbd44c9 Add floating IP port forwarding related methods
d1f880fc Clarify error if no version can be found
be753eac Bail earlier on a version mismatch for a supported service
e9a5d45e Expand on a brief error message
16afacbc Move Orchestration methods into Proxy
6c81f736 Expose locked status for Server
0aabfb0a Remove and rearrange object bonged proxy tests
af8888af Move set_temp_url_key logic into resource objects
fdd364ee Add support for generating form-post signatures
3fe09b84 Allow replacing service implementation
7f0a6087 Cleanup split of openstackcloud
9ace77e6 Make PATCH a first class operation and support it for baremetal
a0ec8ef7 Do not disregard tags when updating stacks
7f2efade Adds missing "params" attribute for creating a Mistral workflow execution
1a4ed826 Split OpenStackCloud into reasonable pieces
b3723bed add python 3.7 unit test job
82aaf190 Update master for stable/stein
4b89bc25 Fix wait_for_server docstring
e8622646 Create runtime descriptor for new service
6dcf92fc Add unit tests for connection.add_service
16f2dbe3 Add proxy API reference to baremetal user guide
bde55433 baremetal: implement the correct update of the maintenance_reason field
72504d7f Use auth_url as identity endpoint when not project scoped
55235c5c Replace openstack.org git:// URLs with https://
c8b96cdd Collect request stats
f9b09111 Collapse OpenStackSDKAdapter into Proxy
b548c0ee added support for binding:profile parameter in create_port/update_port
e7a9b529 Revert "Revert "Replace TaskManager with a keystoneauth concurrency""
8748f4a4 Move pep8 requirements in to test-requirements
cf583cca Fix some typos
ddd8d84c Deprecate ServerDetails class
334f8acb Remove outdated devstack section from docs
bb8b4bf5 Swap human-facing links to use opendev.org
0eaf2c95 Deprecate VolumeDetail and BackupDetail classes
baa70256 Move object methods to object_store proxy
371db82c baremetal: support server-side configdrive building (API 1.56)
8d14cbaa Add DNS support
a49f2056 Get rid of setUpClass and block it for forever
e9e1bbe9 Add image.service_info resources
45629a9e Test _alternate_id logic


Diffstat (except docs and test files)
-------------------------------------

.gitreview                                         |     2 +-
.zuul.yaml                                         |    30 +-
CONTRIBUTING.rst                                   |     4 +-
HACKING.rst                                        |    14 +-
README.rst                                         |     2 +-
devstack/plugin.sh                                 |     2 +-
.../user/proxies/baremetal_introspection.rst       |    25 +
.../resources/baremetal_introspection/index.rst    |     7 +
.../baremetal_introspection/v1/introspection.rst   |    13 +
.../user/resources/block_storage/v2/backup.rst     |     9 -
.../user/resources/block_storage/v2/volume.rst     |     9 -
.../user/resources/image/v2/service_info.rst       |    20 +
.../cloud/_heat => examples/dns}/__init__.py       |     0
examples/dns/list.py                               |    24 +
lower-constraints.txt                              |     6 +-
openstack/_adapter.py                              |   162 -
openstack/_hacking.py                              |    44 +
openstack/baremetal/configdrive.py                 |    40 +-
openstack/baremetal/v1/_proxy.py                   |    96 +-
openstack/baremetal/v1/allocation.py               |    11 +-
openstack/baremetal/v1/chassis.py                  |     1 +
openstack/baremetal/v1/node.py                     |   106 +-
openstack/baremetal/v1/port.py                     |     1 +
openstack/baremetal/v1/port_group.py               |     1 +
openstack/baremetal_introspection/__init__.py      |     0
.../baremetal_introspection_service.py             |    22 +
openstack/baremetal_introspection/v1/__init__.py   |     0
openstack/baremetal_introspection/v1/_proxy.py     |   130 +
.../baremetal_introspection/v1/introspection.py    |   131 +
openstack/block_storage/v2/_proxy.py               |    24 +-
openstack/block_storage/v2/backup.py               |     9 +-
openstack/block_storage/v2/volume.py               |    43 +-
openstack/block_storage/v3/_proxy.py               |    22 +-
openstack/block_storage/v3/backup.py               |     9 +-
openstack/block_storage/v3/volume.py               |    43 +-
openstack/cloud/_baremetal.py                      |   704 ++
openstack/cloud/_block_storage.py                  |   870 ++
openstack/cloud/_clustering.py                     |   567 +
openstack/cloud/_coe.py                            |   425 +
openstack/cloud/_compute.py                        |  1939 +++
openstack/cloud/_dns.py                            |   296 +
openstack/cloud/_floating_ip.py                    |  1178 ++
openstack/cloud/_identity.py                       |  1534 +++
openstack/cloud/_image.py                          |   384 +
openstack/cloud/_network.py                        |  2566 ++++
openstack/cloud/_network_common.py                 |   370 +
openstack/cloud/_normalize.py                      |    84 +-
openstack/cloud/_object_store.py                   |   837 ++
openstack/cloud/_orchestration.py                  |   254 +
openstack/cloud/_security_group.py                 |   387 +
openstack/cloud/inventory.py                       |     6 +-
openstack/cloud/openstackcloud.py                  | 12006 +------------------
openstack/compute/v2/_proxy.py                     |    59 +-
openstack/compute/v2/flavor.py                     |     7 +
openstack/compute/v2/server.py                     |   177 +-
openstack/config/cloud_region.py                   |   137 +-
openstack/config/defaults.json                     |     1 +
openstack/config/loader.py                         |    22 +-
openstack/config/schema.json                       |     2 +-
openstack/config/vendor-schema.json                |     2 +-
openstack/config/vendors/citycloud.json            |     1 -
openstack/connection.py                            |    83 +-
openstack/dns/__init__.py                          |     0
openstack/dns/dns_service.py                       |    22 +
openstack/dns/v2/__init__.py                       |     0
openstack/dns/v2/_proxy.py                         |   494 +
openstack/dns/v2/floating_ip.py                    |    40 +
openstack/dns/v2/recordset.py                      |    64 +
openstack/dns/v2/zone.py                           |    96 +
openstack/dns/v2/zone_export.py                    |    86 +
openstack/dns/v2/zone_import.py                    |    86 +
openstack/dns/v2/zone_transfer.py                  |    72 +
openstack/image/_base_proxy.py                     |   112 +-
openstack/image/v1/_proxy.py                       |    55 +-
openstack/image/v1/image.py                        |    64 +
openstack/image/v2/_proxy.py                       |   257 +-
openstack/image/v2/image.py                        |    54 +-
openstack/image/v2/service_info.py                 |    36 +
openstack/instance_ha/v1/host.py                   |     5 -
openstack/instance_ha/v1/notification.py           |     5 -
openstack/instance_ha/v1/segment.py                |     5 -
openstack/network/v2/_proxy.py                     |   117 +
openstack/object_store/v1/_base.py                 |     7 +-
openstack/object_store/v1/_proxy.py                |   451 +-
openstack/object_store/v1/account.py               |    16 +
openstack/object_store/v1/container.py             |    27 +-
openstack/object_store/v1/info.py                  |    75 +
openstack/object_store/v1/obj.py                   |    25 +-
openstack/orchestration/util/__init__.py           |     0
.../util}/environment_format.py                    |     2 +-
.../_heat => orchestration/util}/event_utils.py    |     0
.../util}/template_format.py                       |     0
.../_heat => orchestration/util}/template_utils.py |    14 +-
.../{cloud/_heat => orchestration/util}/utils.py   |     4 +-
openstack/orchestration/v1/_proxy.py               |    67 +-
openstack/orchestration/v1/stack.py                |   107 +-
openstack/proxy.py                                 |   164 +-
openstack/resource.py                              |   273 +-
openstack/service_description.py                   |    44 +-
openstack/task_manager.py                          |   290 -
.../functional/baremetal/test_baremetal_chassis.py |    10 +
.../functional/baremetal/test_baremetal_node.py    |   107 +
.../functional/baremetal/test_baremetal_port.py    |    13 +
.../baremetal/test_baremetal_port_group.py         |    10 +
.../load_balancer/v2/test_load_balancer.py         |     9 +-
.../functional/orchestration/v1/test_stack.py      |     8 +-
.../unit/baremetal_introspection/v1/__init__.py    |     0
.../unit/baremetal_introspection/v1/test_proxy.py  |   142 +
.../unit/cloud/test_server_delete_metadata.py      |     2 +
openstack/workflow/v2/execution.py                 |     2 +
playbooks/devstack/legacy-git.yaml                 |     4 +-
releasenotes/notes/add-dns-606cc018e01d40fa.yaml   |     5 +
...ip-portforwarding-methods-cffc14a6283cedfb.yaml |     4 +
.../add-image-service-info-90d6063b5ba0735d.yaml   |     3 +
.../bail-on-failed-service-cf299c37d5647b08.yaml   |     6 +
...igdrive-mkisofs-xorrisofs-075db4d7d80e5a13.yaml |     8 +
.../baremetal-introspection-973351b3ee76309e.yaml  |     4 +
.../baremetal-maintenance-5cb95c6d898d4d72.yaml    |     4 +
.../notes/baremetal-patch-feebd96b1b92f3b9.yaml    |    13 +
.../notes/configdrive-f8ca9f94b2981db7.yaml        |     5 +
.../generate-form-signature-294ca46812f291d6.yaml  |     5 +
.../get-server-by-id-none-3e8538800fa09d82.yaml    |     7 +
.../notes/identity-auth-url-f3ae8ef22d2bcab6.yaml  |     7 +
.../notes/network-data-bd94e4a499ba3e0d.yaml       |     5 +
...ock-store-details-classes-158ab1f46655320a.yaml |     6 +
...ve-serverdetails-resource-f66cb278b224627d.yaml |     5 +
.../removed-glanceclient-105c7fba9481b9be.yaml     |     2 +-
.../notes/request-stats-9d70480bebbdb4d6.yaml      |     5 +
...ource-find-filter-by-name-e647e5c507ff4b6c.yaml |     7 +
releasenotes/source/index.rst                      |     1 +
releasenotes/source/stein.rst                      |     6 +
requirements.txt                                   |     2 +-
test-requirements.txt                              |     8 +-
tox.ini                                            |    20 +-
256 files changed, 20136 insertions(+), 14226 deletions(-)


Requirements updates
--------------------

diff --git a/requirements.txt b/requirements.txt
index 78f75851..6181b554 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -11 +11 @@ os-service-types>=1.2.0 # Apache-2.0
-keystoneauth1>=3.11.0 # Apache-2.0
+keystoneauth1>=3.13.0 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index 54ba19d0..c32f6356 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -3,0 +4,2 @@
+hacking>=1.0,<1.2 # Apache-2.0
+
@@ -7 +9 @@ fixtures>=3.0.0 # Apache-2.0/BSD
-jsonschema<3.0.0,>=2.6.0 # MIT
+jsonschema>=2.6.0 # MIT
@@ -8,0 +11 @@ mock>=2.0.0 # BSD
+prometheus-client>=0.4.2 # Apache-2.0
@@ -11,0 +15 @@ requests-mock>=1.2.0 # Apache-2.0
+statsd>=3.3.0
@@ -15,0 +20,2 @@ testtools>=2.2.0 # MIT
+doc8>=0.8.0  # Apache-2.0
+Pygments>=2.2.0  # BSD license






More information about the Release-announce mailing list