Code Monkey home page Code Monkey logo

zhmc-os-forwarder's Introduction

IBM Z HMC OS Message Forwarder

Version on Pypi Test status (master) Docs status (master) Test coverage (master)

The IBM Z HMC OS Message Forwarder connects to the console of operating systems running in LPARs on Z systems and forwards the messages written by the operating systems in the LPARs to remote syslog servers.

The Z systems can be in classic or DPM operational mode.

The forwarder attempts to stay up as much as possible, for example it performs automatic session renewals with the HMC if the logon session expires, and it survives HMC reboots and automatically resumes forwarding again once the HMC come back up, without loosing or duplicating any messages.

Documentation

Supported environments

  • Operating systems: Linux, macOS, Windows
  • Python versions: 3.5 and higher
  • HMC versions: 2.11.1 and higher

Quickstart

  • Install the forwarder and all of its Python dependencies as follows:

    $ pip install zhmc-os-forwarder
  • Provide a config file for use by the forwarder.

    The config file tells the forwarder which HMC to use, and for which CPCs and LPARs it should forward to which syslog servers.

    Download the Example forwarder config file and edit that copy according to your needs.

    For details, see Forwarder config file.

  • Run the forwarder as follows:

    $ zhmc_os_forwarder -c config.yaml
    zhmc_os_forwarder version: 0.2.0
    zhmcclient version: 1.10.0
    Verbosity level: 0
    Opening session with HMC 10.11.12.13 (user: [email protected], certificate validation: False)
    Forwarder is up and running (Press Ctrl-C to shut down)

Limitations

At this point, the forwarder has several limitations. All of them are intended to be resolved in future releases.

  • The forwarder does not recover from HMC restart or connection loss
  • Restarting the forwarder will send again all OS messages the HMC has buffered
  • New and deleted LPARs in DPM mode are not automatically detected.

Reporting issues

If you encounter a problem, please report it as an issue on GitHub.

License

This package is licensed under the Apache 2.0 License.

zhmc-os-forwarder's People

Contributors

andy-maier avatar

Stargazers

 avatar

Watchers

 avatar  avatar

zhmc-os-forwarder's Issues

Use minimum versions for safety run on dependencies for install

The safety runs had already been split in an earlier PR between "install" and "all". However, the requirements.txt file is now used for install, and that causes safety to pass even when the minimum version has a safety issue. It would only fail is there was a pinning to a version that has safety issues.

This ticket is to improve that by moving the direct and indirect install dependencies in the minimum-constraints.txt file into a new minimum-constraints-install.txt file for use by the safety run for install. The new file would be includes with -c in the existing file.

Fix badge formatting on readme page

It seems that the RST formatting of Github has changed, so that the badges in the README.rst page are now displayed vertically instead of horizontally.

Removing the empty lines between the statements in the RST file is not sufficient to solve the problem - we need to change the format of the readme page to MarkDown.

Fix copyright statements that have year-year range

Some of the copyright statements specify a range of years, e.g. "Copyright 2016-2020 ...".

The copyright is claimed automatically for all following years, so only the oldest year needs to be mentioned. It is in fact important to claim the oldest year in any copyright dispute.

If significant changes are made in a particular year, that year can optionally be listed, but the years then must be separated by comma.

This ticket is to change all copyright statements that specify a range of years, to use comma instead of hyphen (assuming that the second year was somehow significant enough to be mentioned).

The following command can be used to list all copyright statements with a year range:

grep -i "Copyright .*20..-20.." . -r

See PR zhmcclient/zhmc-ansible-modules#879 for how this was done in the zhmc ansible project.

TODOs in documentation

Currently:

  • ./docs/usage.rst: TODO: Clarify which ports need to be open
  • ./docs/usage.rst:* Object access permission to TODO: Document required object access permissons
  • ./docs/usage.rst:* Task permission for TODO: Document required task permissons

On forwarder restart, eliminate messages already sent

Currently, restarting the forwarder will send again all OS messages the HMC has buffered.

This needs to be improved such that the forwarder is aware of the last message sent for each partition. Since this data needs to survive a forwarder restart, it needs to be persisted in the file system.

Add Python 3.12 support

Python 3.12 has been released on October 2, 2023

  • Add to Actions test workflow (in the normal set of environments, replacing 3.11)
  • Add to tox.ini
  • Add to supported Python versions in Trove classifiers in setup.py

Doc issues in 0.2.0

  • For docker, no port mapping should be needed since they are all outgoing connections (verify)
  • List formatting issue in usage.html#hmc-userid-requirements
  • Currently, no version-specific docs is created on RTD, but the change log link on the release page references the version-specific docs.

Drop support for Python 3.5

Reasons:

  • Python 3.5 support has officially ended 2020-09-05 with the release of 3.5.10
  • Less safety issues to be resolved
  • Simplifies dependencies and minimum constraints a lot
  • Allows to get rid of old versions of all kinds of packages
  • Less test runs in full tests run weekly and for releases, and also to some extent in PR-level runs
  • We use a very outdated Pylint version 2.5 on Python 3.5
  • We do not run the safety command on Python 3.5

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.