2023年10月7日土曜日

Ansible実行時の「Encryption using the Python crypt module is deprecated.」の警告メッセージを消す方法

ある日Ansibleを実行していると、以下の警告メッセージが表示された。

[DEPRECATION WARNING]: Encryption using the Python crypt module is deprecated.
The Python crypt module is deprecated and will be removed from Python 3.13.
Install the passlib library for continued encryption functionality.
This feature will be removed in version 2.17.
Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg.

本記事では、Ansibleの「Encryption using the Python crypt module is deprecated.」の警告メッセージを消す方法を記載する。

環境

  • OS : AlmaLinux 8.5
  • Ansible : 8.1.0 (ansible [core 2.15.1])
  • Python : 3.9.16

原因

以下2点つの条件が重なった際に警告メッセージが表示されるようだ。

  1. Playbookでpassword_hashといったパスワードをハッシュ化する構文を使用している。
    • password: "{{ 'P@ssw0rd!' | password_hash('sha512') }}"
  2. Pythonライブラリであるpasslibがインストールされていない。

解消方法

警告メッセージにも記載されている通り、Pythonライブラリであるpasslibをインストールすれば問題ない。

# python3 -m pip install passlib
WARNING: Running pip install with root privileges is generally not a good idea. Try `python3 -m pip install --user` instead.
Collecting passlib
  Downloading passlib-1.7.4-py2.py3-none-any.whl (525 kB)
     |████████████████████████████████| 525 kB 13.8 MB/s 
Installing collected packages: passlib
Successfully installed passlib-1.7.4

簡単ではあるが、以上で完了となる。

0 件のコメント:

コメントを投稿

人気の投稿