^^^^^^^^^^^^^
This version contains all fixes up to version 1.1.1.
Released: 2022-03-28
**Incompatible changes:**
* The installation of this package using `setup.py install` is no longer
recommended. Use `pip install` instead.
* The "timestamp" init parameter of "FakedMetricObjectValues" now gets
converted to a timezone-aware datetime object using the local timezone, if
provided as timezone-naive datetime object. This may be incompatible for
users of the zhmcclient mock support if the mock support is used in testcases
that have expected timestamps.
* Mock support for metrics: The representation of metric group definitions has
been moved from the FakedMetricsContextManager class to the FakedHmc class,
where they are now predefined and no longer need to be added by the user of
the mock support. As a result, the add_metric_group_definition() method
has been dropped. The get_metric_group_definition() and
get_metric_group_definition_names() methods have also been dropped and
the predefined metric groups can now be accessed via a new property
FakedHmc.metric_groups that provides an immutable view.
* Mock support for metrics: The representation of metric values has
been moved from the FakedMetricsContextManager class to the FakedHmc class.
The add_metric_values() method has been moved accordingly. The
get_metric_values() and get_metric_values_group_names() methods have been
dropped and the metric values can now be accessed via a new property
FakedHmc.metric_values that provides an immutable view.
**Bug fixes:**
* Fixed an issue that delete() of element objects e.g. NICs, HBAs, VFs,
storage volumes, storage template volumes) did not update the uris list in
the local properties of its parent object.
* Fixed the issue that 'StorageVolumeTemplate.delete()' provided an incorrect
field in the request to the HMC. (issue 900)
* Fixed the issue that resource types with case-insensitive names were matched
case-sensitively in find..() and list() methods. This affected resource
types User, UserRole, UserPattern, PasswordRule, and LDAPServerDefinition.
The mock support was also fixed accordingly. This required adding 'nocasedict'
as a new package dependency. (issue 894)
* Fixed issues in the zhmcclient_mock support for the "Update LPAR Properties"
operation. (issue 909)
* Doc fix: Added the missing classes "FakedMetricGroupDefinition",
"FakedMetricObjectValues", "FakedCapacityGroupManager", and "FakedCapacityGroup"
to section "Mock support" and fixed errors in doc links to some of these
classes.
* Mock support: Fixes for storage groups and added support for storage volumes.
* Mock support: Fixed that operations on activation profiles succeed with an
empty result set in case the CPC is in DPM mode, instead of failing.
* Mock support: Fixed a follow-on error in repr() when FakedAdapter() raised
InputError.
* Mock support: Fixed list of properties returned by the "List Adapters of CPC"
operation.
* Fixed that the "timestamp" init parameter of "FakedMetricObjectValues" gets
converted to a timezone-aware datetime object using the local timezone, if
provided as a timezone-naive datetime object.
* Fixed installation of pywinpty (used by Jupyter notebook) on Python >=3.6,
by pinning it to <1.0.
**Enhancements:**
* Added support for Python 3.10. This required increasing the minimum version of
a number of packages, both for installation and development. (issue 867)
* End2end tests: Added support for verify_cert parameter in HMC definition file.
Changed test env var TESTHMCDIR with hard coded filename to TESTHMCFILE.
* Added support for activating and deactivating a CPC in classic mode, by
adding Cpc.activate() and Cpc.deactivate().
* Added support for saving real and faked HMCs to HMC definitions, via new
methods to_hmc_yaml_file(), to_hmc_yaml() and to_hmc_dict() on the 'Client'
class.
Added support for restoring faked HMCs from HMC definitions, via new methods
from_hmc_yaml_file(), from_hmc_yaml() and from_hmc_dict() on the
'FakedSession' class.
This required adding the following Python packages as dependencies:
PyYAML, yamlloader, jsonschema, dateutil.
* Mock support: Added checks for non-modifiable properties in Update operations
and for defaulting properties in Create operations.
* Docs: Improved example on README page and in Introduction section of the
documentation to be much faster.
* Fixed that some content of request exceptions was lost when re-raising them
as zhmcclient exceptions. (issue 845)
**Cleanup:**
* Removed the ability to build the Windows executable, triggered by the fact
that the corresponding build command has been removed in Python 3.10.
The Windows executable has never been part of the zhmcclient package on Pypi,
and building it seems odd anyway. (issue 865)