Ansible モジュールのライフサイクル

メインの Ansible リポジトリーのモジュールには、最初の導入から最後の削除までライフサイクルが定義されます。モジュールのライフサイクルは Ansible リリースサイクル <release_cycle> に関連付けられ、ansible_METADATA ブロック に反映されます。モジュールは以下の 4 つの状態を移動します。

  1. モジュールが最初に Ansible に受け入れられると、テクノロジープレビューでそれが考慮され、preview としてマークされます。preview のモジュールは安定していません。パラメーターまたは依存関係を変更し、preview モジュールの機能を拡張または縮小できます。多くのモジュールは今後も preview 状態を維持しています。
  2. モジュールが成熟した場合は、そのモジュールを stableinterface とマークし、そのパラメーター、依存関係、および機能を維持することを約束する場合があります。stableinterface モジュールに対する後方互換性はサポートします (が保証はしません)。つまり、パラメーターは安定した方法で維持する必要があります。
  3. モジュールのターゲット API が大幅に変更された場合、または誰かがその機能に対して実装を作成した場合は、deprecated とマークすることがあります。廃止された モジュールは引き続き使用できますが、ライフサイクルの終わりに近づいています。非推奨のモジュールは 4 つのリリースサイクルの間保持され、ユーザーはそれを使用する Playbook とロールを更新するのに役立つ非推奨の警告が表示されます。
  4. 4 つのリリースサイクルでモジュールが非推奨になったら、コードを削除して、stab ファイルに removed とマークします。削除 されるモジュールは、Ansible に同梱されなくなりました。このスタブファイルは、ユーザーが代替モジュールを見つけるのに役立ちます。

モジュールの非推奨化

モジュールの使用を終了するには、以下を行う必要があります。

  1. ファイルの名前を _ で始まるように変更します。たとえば、old_cloud.py の名前を _old_cloud.py に変更します。これにより、モジュールが利用可能のままとなり、モジュールインデックスページで非推奨としてマークされます。
  2. 関連する CHANGELOG の非推奨に言及してください。
  3. 関連する porting_guide_x.y.rst の非推奨を参照します。
  4. status: ['deprecated'] を含む ANSIBLE_METADATA を更新します。
  5. 次のサブ値を使用して、deprecated: をドキュメントに追加します。
removed_in:"2.9" などの 文字列 (モジュールがドキュメントのみのモジュールスタブに置き換えられる Ansible のバージョン)。通常に、現在のリリース +4 になります。。

:why:これが削除された理由の詳細に使用される任意の文字列です。 :alternative:代わりに行う必要があることをユーザーに通知します。つまり、代わりに M(whatmoduletouseinstead) を使用します

モジュール名の変更

_ で始まるシンボリックリンクを使用して、モジュールの名前を変更し、エイリアスを古い名前に保つこともできます。 この例では、stat モジュールを fileinfo で呼び出すことができるため、次の例は同等になります。

EXAMPLES = ‘’’ ln -s stat.py _fileinfo.py ansible -m stat -a “path=/tmp” localhost ansible -m fileinfo -a “path=/tmp” localhost ‘’’