質問: 以下のように、複数ホストを指定したいのですが、No hosts matchedという警告が出ます。 ◇ ダメな例 ansible -i hosts web1host[1:2] -m ping こちらだと想定通りに指定できます。 ◇ 大丈夫な例 ansible -i hosts web[1:2]host1 -m ping ansibleのバージョンは、2.2.0.0です。 ホスト名の末尾は連番指定出来ないのでしょうか? よろしくお願い致します。
回答: ドキュメントを見る限り[(start):(end)]記法は**インベントリファイル内で**連番を記述するために使用できるもので、そのweb[1:2]host1の方が上手く行っていることの方が仕様外だと思われます。 また、web[1:2]host1がとりあえず上手く行ってweb1host[1:2]が上手く行かないのは末尾の[]がグループ名から配列の要素を取り出すための記述だとみなされているからのようです。 というわけでいつ潰されるかもしれませんが、今のところweb1host[1-2:]にすれば期待通りの動作をすると思います。 (-が連番を示し、:はOR記号ですがここでは配列とみなされないようにするためのただの冗長)