Ansible モジュールのライフサイクル¶
メインの Ansible リポジトリーのモジュールには、最初の導入から最後の削除までライフサイクルが定義されます。モジュールのライフサイクルは Ansible リリースサイクル <release_cycle> に関連付けられ、ansible_METADATA ブロック に反映されます。モジュールは以下の 4 つの状態を移動します。
- モジュールが最初に Ansible に受け入れられると、テクノロジープレビューでそれが考慮され、
preview
としてマークされます。preview
のモジュールは安定していません。パラメーターまたは依存関係を変更し、preview
モジュールの機能を拡張または縮小できます。多くのモジュールは今後もpreview
状態を維持しています。 - モジュールが成熟した場合は、そのモジュールを
stableinterface
とマークし、そのパラメーター、依存関係、および機能を維持することを約束する場合があります。stableinterface
モジュールに対する後方互換性はサポートします (が保証はしません)。つまり、パラメーターは安定した方法で維持する必要があります。 - モジュールのターゲット API が大幅に変更された場合、または誰かがその機能に対して実装を作成した場合は、
deprecated
とマークすることがあります。廃止された
モジュールは引き続き使用できますが、ライフサイクルの終わりに近づいています。非推奨のモジュールは 4 つのリリースサイクルの間保持され、ユーザーはそれを使用する Playbook とロールを更新するのに役立つ非推奨の警告が表示されます。 - 4 つのリリースサイクルでモジュールが非推奨になったら、コードを削除して、stab ファイルに
removed
とマークします。削除
されるモジュールは、Ansible に同梱されなくなりました。このスタブファイルは、ユーザーが代替モジュールを見つけるのに役立ちます。
モジュールの非推奨化¶
モジュールの使用を終了するには、以下を行う必要があります。
- ファイルの名前を
_
で始まるように変更します。たとえば、old_cloud.py
の名前を_old_cloud.py
に変更します。これにより、モジュールが利用可能のままとなり、モジュールインデックスページで非推奨としてマークされます。 - 関連する
CHANGELOG
の非推奨に言及してください。 - 関連する
porting_guide_x.y.rst
の非推奨を参照します。 status: ['deprecated']
を含むANSIBLE_METADATA
を更新します。- 次のサブ値を使用して、
deprecated:
をドキュメントに追加します。
removed_in: "2.9"
などの文字列
(モジュールがドキュメントのみのモジュールスタブに置き換えられる Ansible のバージョン)。通常に、現在のリリース +4 になります。。:why:これが削除された理由の詳細に使用される任意の文字列です。 :alternative:代わりに行う必要があることをユーザーに通知します。つまり、
代わりに M(whatmoduletouseinstead) を使用します
。
- 非推奨の文書化の例は、複数のモジュールを非推奨にする PR を参照してください。
モジュール名の変更¶
_ で始まるシンボリックリンクを使用して、モジュールの名前を変更し、エイリアスを古い名前に保つこともできます。
この例では、stat
モジュールを fileinfo
で呼び出すことができるため、次の例は同等になります。
EXAMPLES = ‘’’ ln -s stat.py _fileinfo.py ansible -m stat -a “path=/tmp” localhost ansible -m fileinfo -a “path=/tmp” localhost ‘’’