Mobility Controller はAOS8 からほとんどの設定をAPIで行うことができるようになっています。
APの起動時にControllerに自動接続させる仕組みは、ADP、DHCP Option 43、DNSなどいくつかありますが、
Controllerに接続後に、大量のAPのProvisioning(AP Name, AP Group, 固定IPなどの設定)を行うのは何気に手間です。
もちろん、キッティング時にコンソールアクセスし、apbootで1つずつ設定すればいいのですが、
せっかくAPIでProvisioningできるので、少し試してみました。
以下の手順は、APがControllerに接続が完了していることを前提とした手順になります。
オフィシャルな手順は
こちらのDeveloper Hubにもあるのでご参照下さい。
またAOS8のAPIの基本的な使い方は今回は省略します。(またどこかで記載するようにします)
こちらもDeveloper Hubに
Getting Started with AOS8 APIがありますのでご参照下さい。
(必要な手順も最初にControllerに認証し、UIDARUBAのkeyを取得する程度です、後述のサンプルにはこの点も記載しています)
1: AP bootinfo を読み込むAPI: POST /object/prov_ap_read_bootinfo
URL:
https://:4343/v1/configuration/object/prov_ap_read_bootinfo?config_path=%2Fmd&UIDARUBA=XXXXPayload :
{
"wired-mac":"ff:ff:ff:ff:ff:ff"
}
まず、設定対象のAPの情報を読み込みます。
PayloadにはJSONでAPのMACアドレスを指定して読み込ませます。
2. APの設定パラメータを読み込む
API: POST /object/ap_prov
URL: https://:4343/v1/configuration/object/ap_prov?config_path=%2Fmd&UIDARUBA=XXXX
Payload:
{
"ap_name": {
"ap-name": "string"
},
"ap_group": {
"ap-group": "string"
},
"gatewayip": {
"gateway": "string"
},
"netmask": {
"netmask": "string"
},
"ipaddr": {
"ipaddr": "string"
}
}
APに設定したいパラメータをJSONで指定し、コントローラに読み込みます。
ipaddrなどパラメータが少し特殊なものもあるので注意して下さい。
詳細は、ControllerのSwagger(https://<controller-ip>:4343/api/)にアクセスし、AP Provisioning > /object/ap_prov のMedel Schemaを確認して下さい。
ap_name, ap-name などトリッキーな点もあるので必ずSchemaを確認するようにして下さい。
3. APのReprovisioning
API: POST /object/ap_reprovision
URL: https://:4343/v1/configuration/object/ap_reprovision?config_path=%2Fmd&UIDARUBA=xxxx
Payload:
{
"wired-mac":"ff:ff:ff:ff:ff:ff"
}
最後に、設定したパラメータをAPに流し込みます。
あとは、上記手順をスクリプトでAP全てに自動実行するようにしておけば、
大量のAPの設定もとても簡単になります。
こちらに簡単なサンプルスクリプトがあります。 AP Provisioning Script Sample
このサンプルでは、CSVにAPのMACアドレスとパラメータを指定しておき、それを読み込む形式にしています。
あくまでサンプルなので、自己責任での利用をお願いします。
------------------------------
Keita Shimono,
Aruba Japan SE Manager & Airheads Leader
------------------------------