AnsibleでVxRailの操作をする
Ansibleとは
Pythonで実装された、IT自動化ツール(構成管理ツール)です。
エージェントレスで設定ファイルが少なく、記述がシンプルなのが特徴です。
2012年に開発プロジェクトが開始され、2013年にAnsible Inc社が設立されました。
2015年にRedhat社に買収されました。
AnsibleはYAML形式のファイルで処理を記述し、直観的にわかりやすく学習コストが少ないのが特徴です。
LinuxやWindowsサーバの操作だけでなく、追加のクライアントモジュールを利用することで、様々なアプライアンスやベンダーの製品に対応することができます。
本記事ではDell VxRailをAnsibleを利用し情報取得や操作をしてみます。
Ansibleの準備
Ubuntu
22.04.2 LTSを準備してAnsibleをインストールしました。
$ cat /etc/os-release # Ubuntu 22.04.2 LTS を想定 |
Ansible Module for VxRailの準備
次にAnsible Module for VxRailを準備します。
手順は以下のURLの内容に従いました
$ cd ~;mkdir ansible-vxrail-utils;cd
ansible-vxrail-utils |
最後にANSIBLE_LIBRARYの環境変数にVxRailモジュールのパスを追加する必要があります。
追加を忘れるとAnsibleがモジュールを見つけられずに正しく動作しません。
動作確認
サンプルをダウンロードして実行します。
$ cd ~;mkdir ansible-vxrail-docs;cd
ansible-vxrail-docs |
実行結果
エラーの例
ログインしなおした場合などは再度の設定が必要です。
Ansible Module for
VxRailで実施できること
AnsibleモジュールでサポートされるVxRailの操作についてはAnsible GalaxyやGithubをみればよいです。
Ansible
Galaxy - dellemc.vxrail
dell/ansible-vxrail
(github.com)
(上図は機能一覧の抜粋)
記述についてはGithubのほうが情報が新しいです。
基本的にVxRail
RESTAPIで実行できることはそのままAnsible Moduleでも実行できる印象です。
VxRailクラスタの情報取得だけでなく、設定の変更やアップグレード、ホスト追加削除などにも対応しています。
それぞれの機能で利用されるパラメータの一覧や説明などは上記のドキュメントを見ることで確認できます。
サンプルのYamlではすべてのパラメータが網羅されているわけではないため、利用したい機能がある場合はサンプルだけでなくドキュメントも確認しておくことをお勧めします。
Ansible Module for VxRailのトラブルシューティング
各機能のドキュメントには対応するpythonファイルや実行時のログファイルについても記載されています。
たとえばLCMモジュールについては以下の通り記載があります。
ansible-vxrail/docs/LCM
Module.md at master · dell/ansible-vxrail (github.com)
想定通りに動作していない場合は上記のログを見ると問題が特定できるかもしれません。
パラメータなど使い方が不明な場合はpythonファイルを直に参照することでどのように指定するべきなのかがわかる場合もあります。
コメント
コメントを投稿