Release Notes


Bug Fixes

  • Add missing Python module dependency “munch” causing Openstack job failures

  • Updated openstacksdk to >=2.1.0 to address dependency conflicts. Also updated linting tool versions with pre-commit autoupdate. Addressed minor type checking issue flagged by flake8. Minor file formatting changes implemented via linting.

  • Undo the urllib3 version pin now python-jenkins no longer breaks. It was previous pinned at <2.0.0, but we can now update to <2.1.0. There are still some issues with the latest release 2.1.0.

Other Notes

  • Update GitHub actions for setup-python and upload/download artefacts


Deprecation Notes

  • The six module is being phased out of use as Python 2 support has been dropped. This release is the first in which one (or more) transitions have happened. There should be no issues related to this transition but bugs may creep in.

Bug Fixes

  • Correct path for Jenkins settings files.

    The correct path should be “<repo>-settings”, but was previously set to just “<repo>”. This was causing problems in our JCASC and other automation.


Bug Fixes

  • Replace deprecated set_repo_permission method with update_team_repository. The latter has the same signature, but uses “pull” and “push” rather than “read” and “write” as the permission strings.

Other Notes

  • Python 3.5, 3.6, and 3.7 support is officially dropped from lftools


Bug Fixes

  • Adds new lines at EOF of templates used by lftools to generate automated Gerrit changes after a new INFO.yaml is merged.


Upgrade Notes

  • Add Python 3.8 and 3.9 support to PyPI

Deprecation Notes

  • Remove Python 2.7 support to PyPI

Bug Fixes

  • Use Centos8 nodes in ONAP new project creation automated yaml files.

  • Pin urllib3 to <2.0.0

    The latest version of module breaks compatibility with python-{jenkins,openstacksdk}.


    ValueError: Timeout value connect was <object object at
    0x7fe57a4948a0>, but it must be an int, float or None.


    Launchpad#2018567 <>


Deprecation Notes


Bug Fixes

  • Dockerhub retired the v1 version of the dockerhub api, which was used to collect the existing tag information. This patch replaces v1 with v2 which is using json files.


Bug Fixes

  • Correct parameter name in os image cleanup code


Bug Fixes

  • Correct the file path for the JJB info file job. This was incorrectly set as an absolute path, but it needs to be relative to the git repo root.

  • Add the “safe” parameter to URL parsing in create_project. This removes the default safe value which includes the forward slash. In this case, we do want to escape slashes that are part of the repo name.

  • Code refactored to pass MyPy validation. MyPy highlighted a few issues with functional definitions that were overwriting each other in the command subsystem but was not because of how it operates they weren’t discovered.


New Features

  • Add get-private-keys to lftools.jenkins. get-private-keys retrives the private keys and passphrases stored in the credential store. This feature will add the command get-private-keys in order to print these as well.

Bug Fixes

  • Print upload size while deploying Nexus stage repositories. This is useful while comparing the repository sizes being uploaded or released.

  • Only attempt to split nexus3_ports after we’ve checked that they exist, and wrap that attempt in a try/except so that bad ports won’t break other parts of the job.

  • Remove all instances of the gerrit_api.sanity_check function. This is too tightly coupled with other parts of the Gerrit API, and does not perform correctly in the git class.


Bug Fixes

  • Fix template for INFO jobs and a bad call to sanity_check in git.gerrit.


New Features

  • Add get-secrets to lftools.jenkins. get-credentials only produces username/password credentials, which does not include “secret text” stores. This feature will add the command get-secrets in order to print these as well.

  • Add git-native functions for common Gerrit actions.

  • New method git.add_maven_config allows for adding settings files for new projects via JCasC, rather than the old method of using a Groovy script to manually add the file to Jenkins.