[release-announce] sushy 4.0.0 (yoga)

no-reply at openstack.org no-reply at openstack.org
Mon Nov 29 11:21:46 UTC 2021


We are overjoyed to announce the release of:

sushy 4.0.0: Sushy is a small Python library to communicate with
Redfish based systems

This release is part of the yoga release series.

The source is available from:

    https://opendev.org/openstack/sushy

Download the package from:

    https://tarballs.openstack.org/sushy/

Please report issues through:

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

For more details, please see below.

4.0.0
^^^^^


Prelude
*******

Sushy now exposes Python enums instead of simple string constants.
Please check the upgrade notes before updating to this version.


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

* Adds the "Revision" property to the "Drive" resource.

* Adds support for the NetworkAdapter resource to the library.

* Adds support for the NetworkDeviceFunction and NetworkPort
  resource to the library.

* Adds basic support for "CertificateService".

* Allows reading and changing the virtual media fields
  "TransferMethod" and "VerifyCertificate".

* Allows reading the virtual media field "UserName".


Upgrade Notes
*************

* Python enumerations (https://docs.python.org/3/library/enum.html)
  are now used instead of strings for all Sushy constants. The old
  names are kept but now point to enumerated values, so e.g.
  "sushy.POWER_STATE_ON" is an alias for "sushy.PowerState.ON".
  Consumers of the library may see breakages in two cases:

  * Relying on literal values of the old constants. Use constants
    instead.

  * Relying on the fact that Sushy constants are strings (e.g.
    storing them in a database). You can either use the "value"
    attribute to get the underlying string or create your own mapping.


Deprecation Notes
*****************

* The old constant names (not based on enumerations) are now
  deprecated. For example, use "sushy.PowerState.ON" instead of
  "sushy.POWER_STATE_ON".

* "resources.task_monitor.TaskMonitor" and
  "resources.taskservice.taskmonitor.TaskMonitor" that were deprecated
  in Wallaby are now removed. Use "taskmonitor.TaskMonitor" instead.

* Methods "create_volume", "delete_volume", "initialize_volume" in
  volume module that were deprecated in Wallaby are now removed. Use
  "create", "delete" and "initialize" instead.


Bug Fixes
*********

* Changing boot device string for virtual media from "Cd" to "UsbCd"
  on SuperMicro machines to match their specific naming convention.

Changes in sushy 3.12.0..4.0.0
------------------------------

e7274e5 Finalize the enum migration
404309a Updating yoga tested python versions in classifier
fec3071 Migrate System Network to enums
76be83e Migrate Fabric to enums
69c4b38 Migrate Chassis to enums
fe840ed [Trivial] Fix docstring typo: s/SECORE/SECURE/g
a8adf55 Migrate Manager constants to enums
6ca3ced Migrate CompositionService, EventService and TaskService to enums
9ec2786 Run Ironic unit tests to avoid regressions
f9c2e3b Add support for additional network resources.
d0ee9b9 Add support for NetworkAdapter resources
7b8e6bb Migrate System Storage constants to enums
519e54b Migrate System constants to enums
f7c873f Changing boot device string for vmedia on SuperMicro
fa2e001 Add basic support for CertificateService
ff11a20 Add some VirtualMedia fields from 1.3.0 and 1.4.0
95be2b1 Migrate Protocol constants to enums
559e3ed Migrate common constants to enums
4b99f93 Prepare the ground to use enums instead of strings
69b03d8 Remove deprecated Task monitors and Volume methods
5b62aae Add revision for drive resource
933b889 Add Python3 yoga unit tests
733d223 Update master for stable/xena


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

.../notes/add-drive-revision-a0c069fff236479d.yaml |   4 +
.../add-network-adapter-26d01d8d9fb1d7ad.yaml      |   4 +
...-device-function-and-port-e880d8f461e3723d.yaml |   4 +
.../certificate-collection-acc67488c240274c.yaml   |   4 +
.../notes/change-bootdev-smc-ab30317eaf5c37d9.yaml |   5 +
releasenotes/notes/enums-3aff03d940012f33.yaml     |  21 +
...-deprecated-task-monitors-58c505d43e1fa6a7.yaml |  10 +
.../notes/vmedia-1.4.0-9957460fed59d85c.yaml       |   7 +
releasenotes/source/index.rst                      |   1 +
releasenotes/source/xena.rst                       |   6 +
setup.cfg                                          |   3 +-
sushy/__init__.py                                  |   4 +
sushy/main.py                                      |  19 +
sushy/resources/base.py                            |  70 ++-
sushy/resources/certificateservice/__init__.py     |   0
sushy/resources/certificateservice/certificate.py  |  93 ++++
.../certificateservice/certificateservice.py       |  98 ++++
sushy/resources/certificateservice/constants.py    | 100 ++++
sushy/resources/chassis/chassis.py                 |  59 ++-
sushy/resources/chassis/constants.py               | 226 ++++----
sushy/resources/chassis/mappings.py                |  48 --
sushy/resources/chassis/power/constants.py         | 112 ++--
sushy/resources/chassis/power/mappings.py          |  40 --
sushy/resources/chassis/power/power.py             |  17 +-
sushy/resources/chassis/thermal/constants.py       |  23 +-
sushy/resources/chassis/thermal/thermal.py         |  10 +-
sushy/resources/common.py                          |  12 +-
sushy/resources/compositionservice/constants.py    |  91 +++-
sushy/resources/compositionservice/mappings.py     |  40 --
.../resources/compositionservice/resourceblock.py  |   6 +-
sushy/resources/constants.py                       | 586 +++++++++++++++------
sushy/resources/eventservice/constants.py          |  45 +-
sushy/resources/eventservice/eventservice.py       |   9 +-
sushy/resources/eventservice/mappings.py           |  24 -
sushy/resources/fabric/constants.py                | 144 +++--
sushy/resources/fabric/endpoint.py                 |  23 +-
sushy/resources/fabric/fabric.py                   |   5 +-
sushy/resources/fabric/mappings.py                 |  64 ---
sushy/resources/ipaddresses.py                     |  83 +++
sushy/resources/manager/constants.py               | 195 +++++--
sushy/resources/manager/manager.py                 |  37 +-
sushy/resources/manager/mappings.py                |  75 ---
sushy/resources/manager/virtual_media.py           |  67 ++-
sushy/resources/mappings.py                        | 128 -----
.../thermal/mappings.py => registry/constants.py}  |  14 +-
sushy/resources/registry/message_registry.py       |   8 +-
sushy/resources/settings.py                        |   5 +-
sushy/resources/system/bios.py                     |  14 +-
sushy/resources/system/constants.py                | 488 ++++++++++++-----
sushy/resources/system/ethernet_interface.py       |   6 +-
sushy/resources/system/mappings.py                 | 165 ------
sushy/resources/system/network/adapter.py          |  93 ++++
sushy/resources/system/network/constants.py        | 120 +++++
sushy/resources/system/network/device_function.py  | 188 +++++++
sushy/resources/system/network/port.py             |  66 +++
sushy/resources/system/processor.py                |  13 +-
sushy/resources/system/secure_boot.py              |  16 +-
sushy/resources/system/secure_boot_database.py     |  14 +-
sushy/resources/system/simple_storage.py           |   2 +-
sushy/resources/system/storage/constants.py        | 260 +++++----
sushy/resources/system/storage/drive.py            |  23 +-
sushy/resources/system/storage/mappings.py         |  52 --
sushy/resources/system/storage/storage.py          |  11 +-
sushy/resources/system/storage/volume.py           | 131 +----
sushy/resources/system/system.py                   | 114 ++--
sushy/resources/task_monitor.py                    | 120 -----
sushy/resources/taskservice/constants.py           |  37 +-
sushy/resources/taskservice/mappings.py            |  43 --
sushy/resources/taskservice/task.py                |  12 +-
sushy/resources/taskservice/taskmonitor.py         |  43 --
sushy/resources/taskservice/taskservice.py         |   4 +-
sushy/resources/updateservice/constants.py         |  61 ++-
sushy/resources/updateservice/mappings.py          |  33 --
sushy/resources/updateservice/updateservice.py     |  11 +-
sushy/taskmonitor.py                               |  43 --
.../unit/json_samples/certificate_locations.json   |  15 +
.../unit/json_samples/certificateservice.json      |  21 +
.../json_samples/network_adapter_collection.json   |  13 +
.../unit/json_samples/network_device_function.json |  83 +++
.../network_device_function_collection.json        |  16 +
.../unit/json_samples/network_port_collection.json |  16 +
.../unit/resources/certificateservice/__init__.py  |   0
.../certificateservice/test_certificate.py         |  62 +++
.../certificateservice/test_certificateservice.py  |  87 +++
.../compositionservice/test_compositionservice.py  |   4 +-
.../compositionservice/test_resourceblock.py       |   8 +-
.../compositionservice/test_resourcezone.py        |   4 +-
.../resources/eventservice/test_eventservice.py    |  33 +-
.../unit/resources/manager/test_virtual_media.py   |  48 +-
.../resources/registry/test_message_registry.py    |  51 +-
.../unit/resources/system/network/__init__.py      |   0
.../unit/resources/system/network/test_adapter.py  | 189 +++++++
.../system/network/test_device_function.py         | 163 ++++++
.../unit/resources/system/network/test_port.py     | 115 ++++
.../unit/resources/system/storage/test_drive.py    |  11 +-
.../unit/resources/system/storage/test_storage.py  |  19 +-
.../unit/resources/system/storage/test_volume.py   | 150 +-----
.../resources/system/test_ethernet_interfaces.py   |   6 +-
.../unit/resources/system/test_secure_boot.py      |  29 +-
.../resources/system/test_secure_boot_database.py  |  21 +-
.../unit/resources/system/test_simple_storage.py   |   6 +-
.../unit/resources/taskservice/test_taskmonitor.py | 179 -------
.../unit/resources/taskservice/test_taskservice.py |   6 +-
.../updateservice/test_softwareinventory.py        |   8 +-
.../resources/updateservice/test_updateservice.py  |  15 +-
tools/generate-enum.py                             |  83 +++
zuul.d/project.yaml                                |   4 +-
126 files changed, 4443 insertions(+), 2834 deletions(-)







More information about the Release-announce mailing list