Zhmcclient

Latest version: v1.16.2

Safety actively analyzes 640762 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 6 of 8

0.19.11

^^^^^^^^^^^^^^^

Released: 2018-05-14

Note: The version number of this release jumped from 0.19.0 right to 0.19.11,
for tooling reasons.

**Enhancements:**

* Docs: Improved the description of installation without Internet access, and
considerations on system Python vs. virtual Python environments.

* Lowered the minimum version requirements for installing the zhmcclient
package, for the packages: requests, pbr, decorator. Added support for
tolerating decorator v3.4 in the zhmcclient _logging module.

* Adjusted development environment to changes in Appveyor CI environment.

0.19.0

Not secure
^^^^^^^^^^^^^^

Released: 2018-03-15

**Incompatible changes:**

* The ``Lpar.deactivate()`` method is now non-forceful by default, but can be
made to behave like previously by specifying the new ``force`` parameter.
In force mode, the deactivation operation is permitted when the LPAR status
is "operating".

**Bug fixes:**

* Fixed a flawed setup of setuptools in Python 2.7 on the Travis CI, where
the metadata directory of setuptools existed twice, by adding a script
`remove_duplicate_setuptools.py` that removes the moot copy of the metadata
directory (issue 434).

* Fixed a bug where multiple Session objects shared the same set of
HTTP header fields, causing confusion in the logon status.

**Enhancements:**

* Migrated all remaining test cases from unittest to pytest, and started
improving the testcases using pytest specific features such as
parametrization.

* Added support for a ``force`` parameter in the ``Lpar.activate()``,
``Lpar.deactivate()``, and ``Lpar.load()`` methods. It controls whether the
operation is permitted when the LPAR status is "operating".

Note that this changes ``Lpar.deactivate()`` to be non-forceful by default
(force=True was hard coded before this change).

* Added support for an ``activation_profile_name`` option in the
``Lpar.activate()`` method, that allows specifying the activation profile
to be used. The default is as before: The profile that is specified in the
``next-activation-profile`` property of the ``Lpar`` object.

* Made the ``load_address`` parameter of ``Lpar.load()`` optional in order
to support z14. Up to z13, the HMC now returns an error if no load
address is specified. Adjusted the zhmcclient mock support accordingly.

* Added LPAR status checks in the zhmcclient mock support, so that activate,
deactivate and load returns the same errors as the real system when the
initial LPAR status is not permitted, or when the activation profile name
does not match the LPAR name, or when no load address is specified.

* Improved the testcases for the Lpar and LparManager classes.

* Added the ability to mock the resulting status of the faked Lpars in the
zhmcclient mock support, for the Activate, Deactivate, and Load operations.
Added a new chapter "URI handlers" in section "Mock support" of the
documentation, to describe this new ability.

* Added support for CPC energy management operations:

- ``Cpc.set_power_save()`` (HMC: "Set CPC Power Save")
- ``Cpc.set_power_capping()`` (HMC: "Set CPC Power Capping")
- ``Cpc.get_energy_management_properties()`` (HMC: "Get CPC Energy
Management Data")

* The zhmcclient package no longer adds a NullHandler to the Python root
logger (but still to the zhmcclient.api/.hmc loggers).

* Added a function test concept that tests against a real HMC.

0.18.0

Not secure
^^^^^^^^^^^^^^

Released: 2017-10-19

**Incompatible changes:**

* Removed the zhmc CLI support from this project, moving it into a new GitHub
project ``zhmcclient/zhmccli``.

This removes the following prerequisite Python packages for the zhmcclient
package:

- click
- click-repl
- click-spinner
- progressbar2
- tabulate
- prompt_toolkit (from click-repl)
- python-utils (from progressbar2)
- wcwidth (from prompt-toolkit -> click-repl)

**Bug fixes:**

* Fixed a flawed setup of setuptools in Python 2.7 on the Travis CI, where
the metadata directory of setuptools existed twice, by adding a script
`remove_duplicate_setuptools.py` that removes the moot copy of the metadata
directory (issue 434).

0.17.0

Not secure
^^^^^^^^^^^^^^

Released: 2017-09-20

**Incompatible changes:**

* The zhmcclient mock support for Partitions no longer allows to stop a
partition when it is in status 'degraded' or 'reservation-error'.
That is consistent with the real HMC as described in the HMC API book.

* In the `HTTPError` exception class, `args[0]` was set to the `body` argument,
i.e. to the entore response body. Because by convention, `args[0]` should be
a human readable message, this has been changed to now set `args[0]` to the
'message' field in the response body, or to `None` if not present.

**Bug fixes:**

* Fixed the bug that aborting a confirmation question in the CLI (e.g. for
"zhmc partition delete") caused an AttributeError to be raised. It now
prints "Aborted!" and in interactive mode, terminates only the current
command. (issue 418).

* Fixed an AttributeError when calling 'zhmc vfunction update'.
Access to a partition from nic and vfunction is done via the respective
manager (issue 416).

* In the zhmc CLI, fixed that creating a new session reused an existing
session. This prevented switching between userids on the same HMC
(issue 422).

* Docs: In the "Introduction" chapter of the documentation, fixed the HMC API
version shown for z14.

* Docs: In the Appendix of the documentation, added IBM book number and link
for the HMC API book of z14.

**Enhancements:**

* Avoided `DeprecationWarning` on Python 3 for invalid escape sequences
in some places.

* The zhmcclient mock support for various resource classes did not always
check for invalid CPC status and for invalid Partition status as
described in the HMC API book. It now does.

* In the mock support, invalid input to faked resource classes (mainly when
adding faked resources) is now handled by raising a new exception
``zhmcclient_mock.InputError`` (instead of ``ValueError``). The URI
handler of the mock support now converts that into an HTTP error 400
(Bad Request), consistent with the HMC API book.

* Added ``datetime_from_timestamp()`` and ``datetime_from_timestamp()``
functions that convert between Python ``datetime`` objects and HMC timestamp
numbers.

* Added mock support for Metrics resources.

* Added a ``verify`` argument to ``Session.logoff()``, consistent with
``Session.logon()``. This was needed as part of fixing issue 422.

* Added a `__repr__()` function to the `Session` class, for debug purposes.

* In the `ParseError` exception class, a message of `None` is now tolerated,
for consistency with the other zhmcclient exception classes.

* In the `NotFound` exception class, a `filter_args` parameter of `None` is now
tolerated, for consistency with the `NoUniqueMatch` exception class.

* Documented for the zhmcclient exception classes how `args[0]` is set.

* Clarified in the documentation that the `manager` and `resources` parameters
of the `NoUniqueMatch` and `NotFound` exception classes must not be `None`.

* Improved the unit test cases for the `Client` class and for the zhmcclient
exception classes, and migrated them to py.test.

* Migrated the unit tests for HBAs from unittest to py.test, and
improved the test cases.

* In the `Hba.reassign_port()` method, updated the `Hba` object with the
changed port, consistent with other update situations.

* Clarified in the description of `HbaManager.list()` that only the
'element-uri' property is returned and can be used for filtering.

* The mock support for the "Create NIC" operation now performs more
checking on the URIs specified in the 'network-adapter-port' or
'virtual-switch-uri' input properties, raising HTTP status 404 (Not Found)
as specified in the HMC API book.

* In the ``FakedNic.add()`` method of the mock support, the checking for the
URIs specified in the 'network-adapter-port' or 'virtual-switch-uri' input
properties was relaxed to only the minimum, in order to make the setting
up of faked resources easier.

* Migrated the unit tests for ``Nic`` and ``NicManager`` from unittest to
py.test, and improved them.

* Improved the way the named tuples ``MetricGroupDefinition`` and
``MetricDefinition`` are documented.

* Added support for ``Console`` resource and its child resources ``User``,
``User Role``, ``User Pattern``, ``Password Rule``, ``Task``, and
``LDAP Server Definition``, both for the zhmcclient API and for the
zhmcclient mock support.

* As part of support for the ``Console`` resource, added a new resource class
``UnmanagedCpc`` which representd unmanaged CPCs that have been discovered by
the HMC. The existing ``Cpc`` class continues to represent only managed CPCs;
this has been clarified in the documentation.

* As part of support for the ``Console`` resource, added a method
``wait_for_available()`` to the ``Client`` class, which waits until the HMC
is available again after a restart. This method is used by
``Console.restart()``, but it can also be used by zhmcclient users.

* As part of support for the ``Console`` resource, improved ``Session.post()``
to allow for an empty response body when the operation returns with HTTP
status 202 (Accepted). This status code so far was always assumed to indicate
that an asynchronous job had been started, but it can happen in some
``Console`` operations as well.

* Improved the error information in the ``ParseError`` exception, by adding
the "Content-Type" header in cases where that is interesting.

* Add CLI commmands to mount and unmount an ISO to a Partition.

0.16.0

Not secure
^^^^^^^^^^^^^^

Released: 2017-08-29

**Bug fixes:**

* Fixed CLI: Remove defaults for options for 'partition update' (issue 405).

**Enhancements:**

* Added Code Climate support.

0.15.0

Not secure
^^^^^^^^^^^^^^

Released: 2017-08-15

**Incompatible changes:**

* In case the user code was specifically processing the reason code 900 used
for HTML-formatted error responses with HTTP status 500: This reason code
has been split up into multiple reason codes. See the corresponding item
in section "Enhancements".

**Bug fixes:**

* Fixed a TypeError: "'odict_values' object does not support indexing" on
Python 3.x (issue 372).

* Minor fixes in the documentation (e.g. fixed name of ``MetricGroupValues``
class).

* Fixed the zhmc CLI for Python 3 where multiple commands raised
AttributeError: "'dict' object has no attribute 'iteritems' in
``zhmccli/_helper.py``. (issue 396).

**Enhancements:**

* Added support for the HMC Metric Service. For details, see section 'Metrics' in the
zhmcclient documentation. There is an example script ``metrics.py`` demonstrating
the use of the metrics support. The metrics support caused an additional package
requirement for the ``pytz`` package.

* Added support for a "metrics" command to the zhmc CLI.

* Added support for the IBM z14 system (in internal machine type tables and in the
documentation).

* zhmccli: Support for 'authorization controls' of a Partition (issue 380)

* Added CLI support for processing weights (issue 383)

* The `HTTPError` raised at the API for HMC Web Services not enabled now has
a simple error message and uses a specific reason code of 900. Previously,
the returned HTML-formatted response body was used for the message and a
generic reason code of 999. All other HTML-formatted error responses still
use the generic reason code 999. That reason code 999 is now documented to
be changed to more specific reason codes, over time. (issue 296).

* Reduced the package requirements to only the direct dependencies of
this package.

* Changed the experimental ``Cpc.get_free_crypto_domains()`` method to test
only control-usage access to the specified adapters. Improved that method
by supporting `None` for the list of adapters which means to inspect all
crypto adapters of the CPC.

Page 6 of 8

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.