web-dev-qa-db-ja.com

Puppet-別のホストが到達可能かどうかを判断しますか?

特定のホストとポートが管理対象システムから利用できない場合に、Puppetに異なる応答をさせるための準備ができた方法/カスタムファクトなどはありますか?

たとえば、ユーザー情報を読み取るために複数のディレクトリを使用する製品がいくつかあります。

一般的に、最速で最も近いサーバーを最初にリストしたいと思います。利用できない場合は、モジュールで構成ファイルを書き換えて、リストの下位のエントリに移動できるようにします。

2
Tim Brigham

それで、これはテンプレートの構成変数を介して何かを交換するためのものですか?

これを行う最良の方法は、速度と到達可能性のテストを行うカスタムファクトをRubyに記述し、そのカスタムファクトを使用してテンプレートに文字列を設定することです。あなたのユースケースに適していますか?

2
Shane Madden

Puppetのstdlibを見てください。カスタムデータまたはスクリプトを/etc/facter/facts.d説明 )に配置できます。

だからあなたは例えばすることができます/etc/facter/facts.d/neighbour.shに新しい変数を追加するための小さなスクリプトfacter -pがあります。

#! /bin/sh

if ping -nc 1 dirserver.fnqd > /dev/null; then
  echo 'dirserver_available=true'
else
  echo 'dirserver_available=false'
fi

少しのスクリプトで、dirserver_1dirserver_2などのカスタムファクトをレイテンシーの順に追加できます。

0
mschuett