2016-07-25 8 views
0

可能なインベントリグループのIPアドレス範囲に基づいて変数グループを作成する方法はありますか。私は別の場所に2つのサーバーグループを持っています。私は、プレイブックが更新されたサーバーのリストで実行されるように、プレイブックごとにグループを作成したいと思います。私はすでに、私のホストインベントリの配布、prod、dev、test、qa、drに基づいてグループ化しています。アドバンス可能なグループのIP範囲に基づく動的グループ

おかげ

答えて

0

あなたは、例えば、あなたが望むどのように始まり、グループ彼らにすべてのホストをスキャンすることができますネットワークによって:

- hosts: all 
    tasks: 
    - group_by: key=network_{{ ansible_default_ipv4.network }} 

これは、あなたが持っている多くの異なるネットワークなどの名前network_<network>でできるだけ多くのグループが作成されます。しかし、すべてのホストから事実を収集する必要があることに注意してください。ホストの数と接続の速度に応じて、かなりの時間がかかります。ファクトキャッシングは高速化しますが、とにかく...

インベントリファイルを手作業で管理する場合は、手動で地域グループを指定することも検討してください。

+0

フォローアップの質問だけで、os-distributionを使用してgroup byを使用する方法を理解しています。それでグループが一度グループ化されると、どのグループが呼び出されるのかを知ることができます。私は上記の分類を使用する場合。どのようなグループが作成されたかをどのように知るのですか?また、私は2つのIP範囲を 'SB'や 'AD'のようなグループ名に登録したいと思います。 –

+0

'group_by:key = SB'と' when:ansible_default_ipv4.network == '192.168.0.0''またはその他の基準 –

+0

これらのカテゴリに属する​​すべてのサーバのホスト名を収集する方法はありますか。毎回グループを作成するのではなく、在庫に定義することができます。 –

関連する問題