CHANGES
=======

2.1.0
-----

* Add SUSHY\_EMULATOR\_VIRTUAL\_MEDIA\_IP\_FAMILY environment variable support
* Validate JSON content type before parsing manager PATCH requests
* Drop test logic for Python < 3.8
* Add PATCH support for Redfish DateTime fields in Manager resource
* Revert "Replace license classifier"
* Replace license classifier
* Status code 501 for Unsupported/Not implemented
* nova-driver: speed up systems enumeration
* os-vmedia: Ensure delay-eject is cleared on insert
* Pass image ID to \_attempt\_delete\_image\_local\_file
* os-vmedia: Add option to delay rebuild on eject
* Add config option SUSHY\_EMULATOR\_STORAGE\_POOL

2.0.0
-----

* Redefine libvirt domain on Restart
* Openstack vmedia - refactor to pre-defined volumes
* OS vmedia: Update device on eject\_image
* nova driver - get\_secure\_boot volume boot
* Openstack - get/set\_boot\_image support volume boot
* Openstack - get\_boot\_mode support volume boot
* OS vmedia - post rebuild ACTIVE + SHUTOFF is ok
* Openstack - Raise SYS518 server.task\_state != None
* Openstack vmedia - add glance file upload support
* Import needed ironic-lib code
* Minor docs changes for better readability and consistency
* add pyproject.toml to support pip 23.1
* Add TLS option to external notifier
* Drop unnecessary 'x' bit from doc config file
* Remove Python 3.8 support
* Reject node power off requests to align with ironic supporting NCSI

1.3.0
-----

* Translate VM name to UUID to avoid redirect issue
* Extend the fake systems driver with external systems status notifier
* Update irrelevant-files for sushy-jobs
* Add fake system driver docs
* Add support for BIOS update emulation
* Fix httpboot handling and unit tests
* Replace hardcoded BiosVersion with an updatable field
* Python 3.12: do not use ssl.wrap\_socket
* Fix codespell reported errors
* Normalize relative path for emulator config file
* [Libvirt] Support firmware auto-selection
* Add virtual-media-boot to openstack driver

1.2.0
-----

* Add missing whitespaces in test\_virtual\_media\_certificates()
* Force constraints when installing a package during tox test
* Handle nova instance having no image
* [codespell] Adding CI target for Tox Codespell
* [codespell] Adding Tox Target for Codespell
* [codespell] Fixing Spelling Mistakes
* Add Python 3.10 and 3.11 to supported versions
* Remove translation sections from setup.cfg
* Fix broken unit tests with Werkzeug>=2.3.0

1.1.0
-----

* Add feature sets to test with different available feature
* Expose VirtualMedia on Systems in addition to Managers
* Use existing nvram path in libvirt driver to support session daemon mode
* Use a UUID instead of a named identity for httpboot
* Simplify UEFI logic and change the UefiHttp flow
* Add Support testing for HttpBootUri

1.0.1
-----

* Add BiosVersion field to System
* Add new ironic driver
* Use WAL mode for SQLite cache

1.0.0
-----

* Update pep8 deps - now on latest hacking v6
* Ignore FileNotFoundError when ejecting virtual media image
* Add mac address to the fakedriver node
* Fix libvirt forbidden error in set\_boot\_mode
* Save previous hd boot device when setting Pxe
* Fix tox4 error
* Add SecureBoot support to the emulator, all drivers
* Explictily document not for production use

0.21.1
------

* preserve secure information on xml changes

0.21.0
------

* Add Chassis to ServiceRoot
* remove unicode from code
* remove unicode from code
* List network interfaces of all types

0.20.0
------

* Fix for werkzeug 2.2 routing change
* Fix unit tests for Werkzeug 2.2.0
* Replace the netboot job with a local-boot one
* Remove support for Python 3.6 and 3.7
* aarch64/arm64 libvirt VMs should default to SCSI controller
* Document SUSHY\_EMULATOR\_ALLOWED\_INSTANCES
* Fix per-request memoization
* novadriver, don't use instance.flavor.id

0.19.0
------

* Update jobs names
* Use python Zed tests
* Drop lower-constraints.txt and its testing
* vmedia: keep the original URL in Image
* Fix the CI
* Add a fake system driver
* Fewer mandatory methods in AbstractSystemsDriver
* Accept non-string types for BIOS settings
* Test all supported python version
* CertificateService: implement CertificateLocations
* Update pep8 test requirements

0.18.2
------

* Fix passing configuration via WSGI

0.18.1
------

* Fix enabling authentication via --config

0.18.0
------

* Support uploading certificates for virtual media
* Move virtual media endpoint handlers to a separate blueprint
* Clean up error handling in the emulator
* Basic support for vmedia TLS certificates from version 1.4.0
* Add lower-constraints job to current development branch
* Support credentials for virtual media
* Handle HTTP errors when downloading virtual media
* Use correct status code with werkzeug exceptions
* Support HTTP basic auth
* Add additional BIOS Settings
* Fix to handle correct path for BiosRegistry
* Update min version of tox to use allowlist

0.17.0
------

* Use xena jobs
* Use /dev/sdx instead of /dev/sdc when mounting boot images
* Add support for returning message and attribute registries

0.16.0
------

* Allow non-verified HTTPS sources for virtualmedia
* setup.cfg: Replace dashes with underscores
* Return an integer value for Cores and Threads
* Delete temporary file after media ejection

0.15.0
------

* New option to prevent libvirt defining boot order
* Fix Unit test to test for boot index
* Populate System Manufacturer
* Move some test requirements to tox.ini

0.14.0
------

* Add doc/requirements
* Provide correct libvirt name/bus for virtual floppy
* Adding basic support for processors schema
* Remove lower-constraints job

0.13.0
------

* Fix l-c for sushy-tools
* Make memoize behave better in concurrent environments
* Adding status to ethernet interface template
* Allow setting debug mode from command line
* Remove six leftovers
* Use TOX instead of deprecated UPPER constraints

0.12.1
------

* Fix virtual media with q35 machines
* Set safe version of hacking
* Use wallaby jobs
* Handle race conditions when creating a directory for PersistentDict
* Fix race condition initialising persistent dict
* Add Volumes nav property to Storage template
* Fix l-c job

0.12.0
------

* Flatten the emulator resources
* Get rid of Resources cache, store resources on the Application
* Replace the static Manager driver with a new fake one
* Log API errors for easier debugging
* Use property plus abstractmethod for abstractproperty

0.11.1
------

* Fix handling SUSHY\_EMULATOR\_CONFIG when running under a WSGI server
* Update version of hacking
* Set min version of tox to 3.2.1
* Use victoria tests

0.11.0
------

* Support non-ide virtual media buses
* vmedia: fix TypeError when accessing a URL without content-disposition

0.10.0
------

* drop mock from lower-constraints
* Simplify the CI jobs and add a vmedia+UEFI job
* Read current domain state from XML on filesystem
* Switch to newer openstackdocstheme and reno versions
* Fix pdf build
* Update lower-constraints.txt
* Stop using six library

0.9.0
-----

* Restore default netboot boot option
* Fix libvirt test for Python 3.8
* Add pep8 import order check
* Stop configuring install\_command in tox
* Convert sushy-tools tempest to dib
* Cleanup py27 support
* Switch to the new canonical constraints URL on master
* Bump hacking to 3.0.0
* Explicitly set ramdisk type
* Always log via Flask application
* Enforce running tox with correct python version based on env

0.8.0
-----

* Retain boot device selection upon boot image change
* Bring libvirt domain down prior to any change
* Fix libvirt CD image insertion
* Fix \`BootSourceOverrideMode\` enumeration
* Fix emulator socket binding options
* Fix defaults to storage and drive resources
* Fix incorrect parameter description in docstrings
* Fix reading/setting libvirt domain boot device
* Drop python 2.7 support and testing
* Correct doc link to point to sushy-tools docs
* Switch to Ussuri job
* Fix libvirt set-boot-image implementation

0.7.0
-----

* Store virtual media device changes persistently
* Remove obsolete limitation from the doc
* Add Volume resource support
* Build pdf doc
* Add Drive resource support
* Add Storage and Storage Controllers resource support
* Fix non-functional driver configuration on Py2
* Do not reuse sqlite connection
* Add missing six and requests requirements
* Fix TypeError for Indicators resource
* Follow-up fixes
* Add Simple Storage resource support
* Add Thermal resource emulation
* Add \`get/set\_boot\_image\` to libvirt driver
* Add Virtual Media support
* Add Indicator LED resource emulation
* Add state sharing and persistence mechanism
* Add Chassis resource support
* Add Managers resource support
* add local bindep.txt
* Simplify resource initialization
* Update Python 3 test runtimes for Train
* Rename \`drivers\` to \`resources/systems\`
* Add contributor docs on running sushy-tools locally
* Adds \`Name\` field to \`System\` resource response

0.6.0
-----

* Update sphinx requirements
* Add docs on UEFI boot libvirt-based emulation
* Use HTTP code 307 for redirects
* Create libvirt boot loader element if needed
* update git.openstack.org to opendev
* OpenDev Migration Patch
* Ensure non-empty libvirt <loader/> tag
* Include all libvirt domains in Systems
* Fix lower-constraint deps handling

0.5.0
-----

* Fix broken Systems listing in dynamic emulator
* Add memoization to expensive emulator calls
* Move to zuulv3
* Limit instances exposure
* Add configurable libvirt firmware
* Update default templates for docs builds
* Update home-page
* Add configuration file to sushy-emulator
* Remove support for py34
* Fix copyright statement
* Redirect to UUID URLs
* Fix libvirt driver to handle domains by UUID
* Change openstack-dev to openstack-discuss
* Add release notes generation
* Fix nova driver to report on unsupported call
* Escape JSON rendered in templates
* Rename SUSHY\_EMULATOR\_LIBVIRT\_URL environment variable
* Rearrange emulator unit tests
* Fix HTTP response code on errors
* Fix wrong \`set\_server\_metadata\` args
* Fix UEFI firmware path and connection attribute in libvirt driver
* Make external dependencies optional
* Rename \`glance\` for \`image\` service in openstacksdk
* Update the URL in HACKING.rst
* fix bug link in readme
* Bump hacking version to 1.0 (capped by 1.2)
* Support EthernetInterface resource in the emulator
* add python 3.6 unit test job
* import zuul job settings from project-config

0.4.0
-----

* Fix nova unit tests
* Clean up unit tests
* Cleanup libvirt driver for BIOS emulator
* Switch to use stestr for unit test
* Reorder unittest assertions
* Add BIOS resource support
* Add unittests for OpenStack nova driver
* Fix requirements version for Flask
* Cleanup shebang line
* Cleanup usage of 'simulator' and 'cloud-backed' in docs
* Fix ImportError for tox debug environment
* Remove Flask mocking from tests
* Fix return content-type to be JSON
* Fix minor typo in user doc
* Add an option to bind simulators to a local interface
* Document how to run simulators as systemd services
* fix tox python3 overrides
* Fix typo in nova driver attribute name
* tox: Use default Python 3 version, remove pypy
* fix RAM formula, debug level, None returns and docstrings
* fix documentation on simulators
* Add system boot mode support
* documentation on simulators added
* OpenStack cloud driver added
* Clean up unused items from templates
* Simulator processes return rc on exit
* Do not run functional (API) tests in the CI
* update lower-constraints.txt to match \*requirements.txt
* Add unit tests for emulator
* add lower-constraints job
* Fix a typo in libvirt driver
* Abstract away the virtualization management interface
* Updated from global requirements

0.3.0
-----

* Zuul: Remove project name
* Updated from global requirements
* Updated from global requirements
* Updated from global requirements
* Updated from global requirements
* add dvsm CI job

0.2.0
-----

* fixed documentation links
* rearrange existing documentation to follow the new layout

0.1.0
-----

* Initial Commit
* Added .gitreview
