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(-)
participants (1)
-
no-reply@openstack.org