Making changes to the StorPool OpenStack integration helper
Python versions compatibility
sp_osi: this module still needs to support Python 3.6 so that
it may be used on e.g. Ubuntu 18.04 (Bionic Beaver) with the system
Python interpreter.
the rest of the Python modules should support Python 3.8 so that
the tools can be run using the current version of the Python
interpreter bundled with the StorPool software suite
Using third-party Python libraries
sp_osi: this module needs to be self-contained and only use
the Python standard library so that it may be used on any system or
in any virtual environment without the need to install additional
software
the rest of the Python tools should use common Python libraries such as
click, requests, etc. and also libraries commonly used in other
StorPool software such as cfg-diag, sp-variant, or utf8-locale
Adding a new upstream version to be detected
Add a new record to the defs/components.json file with
the new checksum of the driver file.
Mark it as non-outdated if there is no StorPool driver version that
should replace it, i.e. if this record is there for detection
purposes only and sp-openstack install should not replace any
files.
Mark it as outdated if there is a StorPool driver version to
replace it (or if one is being added in the same commit).
Adding a new version of a StorPool driver
Make the changes to the driver file in the drivers/ tree.
Add a new record to the defs/components.json file with
the new checksum of the driver file; in most cases, mark it as
non-outdated.
Make sure to mark any entries referring to the old version of
the file (with the old checksum) as outdated now.
Run the internal validation suite:
tox -e validate.
Run the full test suite using Tox: either tox -p all or,
using the tox-stages utility, tox-stages run.
Updating the documentation
Use the Tox docs environment to build a local copy in the site/docs
directory: tox -e docs
Use the mkdocs serve command (it may be invoked as
.tox/docs/bin/mkdocs serve if the Tox environment has recently been used)
to view changes made to the Markdown files in real time
(after saving the files)
Add new top-level documentation pages to the nav section of mkdocs.yml