日本語フォーラム

 View Only
last person joined: 14 days ago 

Arubaのソリューション、ネットワークマーケットに関する日本語ディスカッションフォーラム

[API] APのProvisioningをAPIを使って簡単にしちゃおう

This thread has been viewed 2 times
  • 1.  [API] APのProvisioningをAPIを使って簡単にしちゃおう

    EMPLOYEE
    Posted Dec 25, 2021 07:02 PM
    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=XXXX
    Payload :
    {
        "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
    ------------------------------