AnsibleでVxRailの操作をする

 

Ansibleとは

Pythonで実装された、IT自動化ツール(構成管理ツール)です。

エージェントレスで設定ファイルが少なく、記述がシンプルなのが特徴です。

2012年に開発プロジェクトが開始され、2013年にAnsible Inc社が設立されました。

2015年にRedhat社に買収されました。

 

AnsibleYAML形式のファイルで処理を記述し、直観的にわかりやすく学習コストが少ないのが特徴です。

LinuxWindowsサーバの操作だけでなく、追加のクライアントモジュールを利用することで、様々なアプライアンスやベンダーの製品に対応することができます。

 

本記事ではDell VxRailAnsibleを利用し情報取得や操作をしてみます。

 

Ansibleの準備

Ubuntu 22.04.2 LTSを準備してAnsibleをインストールしました。

 

$ cat /etc/os-release # Ubuntu 22.04.2 LTS を想定
$ sudo apt update
$ sudo apt install software-properties-common
$ sudo add-apt-repository --yes --update ppa:ansible/ansible
$ sudo apt install ansible
$ ansible --version #正しくインストールされてバージョンが表示されることを確認

 

Ansible Module for VxRailの準備

次にAnsible Module for VxRailを準備します。

手順は以下のURLの内容に従いました

Infrastructure as Code with VxRail Made Easier with Ansible Modules for Dell VxRail | Dell Technologies Info Hub

 

 

$ cd ~;mkdir ansible-vxrail-utils;cd ansible-vxrail-utils
$ git clone https://github.com/dell/ansible-vxrail-utility.git
$ cd ansible-vxrail-utility/
$ pip install .
$ ansible-galaxy collection install dellemc.vxrail:2.2.0  # https://github.com/dell/ansible-vxrail Latestを指定
$ export ANSIBLE_LIBRARY=~/.ansible/collections/ansible_collections/dellemc/vxrail/plugins/modules/

 

最後にANSIBLE_LIBRARYの環境変数にVxRailモジュールのパスを追加する必要があります。

追加を忘れるとAnsibleがモジュールを見つけられずに正しく動作しません。

 

 

動作確認

サンプルをダウンロードして実行します。

$ cd ~;mkdir ansible-vxrail-docs;cd ansible-vxrail-docs
$ git clone https://github.com/dell/ansible-vxrail
$ cd ~
$ cp -p ~/ansible-vxrail-docs/ansible-vxrail/docs/samples/systeminfo.yml ./
$ vi systeminfo.yml  # vars を編集してvxmip,vcadmin,vcpasswd  を設定する
$ ansible-playbook /root/ansible-vxrail-doc/ansible-vxrail/docs/samples/systeminfo.yml #出力を確認する

 

実行結果



上記の通りサンプルの
YAMLファイルがあるため、その中の接続情報などの変数に値を入れるだけで簡単に目的の処理を実行できます

 

エラーの例



上記のようなエラーとなる場合は、
ANSIBLE_LIBRARYの環境変数が設定されていない場合に発生します。

ログインしなおした場合などは再度の設定が必要です。

 

 

Ansible Module for VxRailで実施できること

AnsibleモジュールでサポートされるVxRailの操作についてはAnsible GalaxyGithubをみればよいです。

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ファイルを直に参照することでどのように指定するべきなのかがわかる場合もあります。

 

 

コメント

このブログの人気の投稿

vSwitchにSTPが不要な理由

ESXi に DNS サーバを何個まで登録できるか

NTPと同期してくれないときのトラブルシューティング