ISISNeutronMuon / ISISNeutronMuon/analytics-data-platform

Remove passlib dependency from infra/ansible when ansible

Open
#313 0 comments 0 reactions 0 assignees View on GitHub
technical debt
Dominant language
Python
Stars
0
Forks
0
Avg merge
2d 7h
Merged PRs (30d)
21

Description

For a while `bcrypt` has been pinned to be compatible with `passlib`. Notes from requirements.txt:

```
# Pinned bcrypt to avoid seeing the following warning. It's not an error but looks
# too much like one. Fixed required in passlib: https://foss.heptapod.net/python-libs/passlib/-/issues/190
# Once this passlib issue is fixed upgrade passlib version and move brcypt to latest
# (trapped) error reading bcrypt version
#Traceback (most recent call last):
# File ".../lib/pythonX.XX/site-packages/passlib/handlers/bcrypt.py", line 620, in _load_backend_mixin
# version = _bcrypt.__about__.__version__
#
# bcrypt 5.0.0 gives a fresh issue with passlib: https://github.com/ansible/ansible/issues/85919
#
# Waiting for https://github.com/ansible/ansible/pull/85970 to land in a released version of ansible
# to remove passlib completely.
```

`passlib` looks unmaintained and [Ansible](https://github.com/ansible/ansible/pull/85970) supports an internal crypt module. This is in ansible-core>=2.21 but no released version of the main `ansible` package yet supports it. When a new release of `ansible` supports `ansible-core` >= 2.21 update both core and main ansible packages and remove the passlib requirement.

To test this issue you can try the command:

```sh
ansible-playbook -i inventories/dev/inventory-dev.ini -l trino -t trino --start-at-task="Ensure Trino passwords are available" --step site.yml
```

It should complete with no warnings.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.