「MacのAnsibleからWindowsサーバーを構築するなど」と言ったな?あれは嘘だ。
元々HomebrewのAnsibleではWindowsサーバーの管理に必要なモジュールがインストールされないのをbrew installのオプションでインストールするようにしてプルリクしたらマージされたので、その宣伝を兼ねて記事にしようとしていたところ、最新のフォーミュラではデフォルトでインストールするように変わっていたので書くことがなくなったという話。
というわけでネタを変えて、最近使っているConoHaのVPSをAnsibleのDynamic Inventory機能を使ってhostsファイルを書かずに管理するということをしてみます。
なお、AnsibleでWindowsを管理したい人はこちらの記事が詳しいです。素晴らしい。
環境
- Mac OS X 10.10.1
- Pythonのmechanizeモジュール
ConoHa連携
実はConoHaにはVPS一覧を取得するなどできるAPIがありません。
そのため、Pythonのmechanizeモジュールを使ってブラウザーのふりをし、コンパネにログインしてVPSの一覧と各VPSのIPアドレスを取得するプログラムを作りました。
上記のファイルをダウンロードし、ファイル中のConoHaアカウント・パスワードを書き換え、実行属性をつけてから以下のコマンドを実行します。
ansible -i ./conoha.py all -m setup
プログラム作る方で力尽きたので記事はここまでで…。