trfore.omada_install
Ansibleロール: omada_install
Omada SDNコントローラーをRedHat/CentOSおよびDebian/Ubuntuにインストールします。
このロールは、https://www.tp-link.com/us/support/download/omada-software-controller/ から最新のtarballを使用して、Omada SDNコントローラーソフトウェアをインストールします。
tarballをAnsibleコントロールホストに手動でダウンロードしたい場合は、filesディレクトリにOmada_SDN_Controller_v5.*.*_Linux_x64.tar.gzをダウンロードし、以下の2つの変数をプレイブックに設定します:
- omada_tar_src: Omada_SDN_Controller_v5.*.*_Linux_x64.tar.gz
- omada_tar_src_remote: false
動作する例については、「例のプレイブック」セクションを参照してください。このロールはOmadaコントローラーの設定は行いませんが、デフォルトの設定値を使用します。サービスは非rootユーザーとして実行されるように設定されますが、omada_non_root: falseを設定することで変更できます。
ロールのインストール
Ansible Galaxy CLIを使ってこのロールをインストールできます:
ansible-galaxy role install trfore.omada_install
対応プラットフォームとバージョン
- MongoDB Community: 4.4.x
- Omada SDN: 5.x.x
- CentOS Stream 8
- Debian 10
- Ubuntu 20.04
必要条件
- MongoDB Community Edition, - mongodb-org >=4.4.0をインストールするためのロール -- trfore.mongodb_installが利用可能です。
- Apache Commons Daemon, - jsvc >= 1.1.0をインストールするためのロール -- trfore.jsvcが利用可能です。
- これらのロールは、 - requirements.ymlファイルを作成し、- ansible-galaxy install -r requirements.ymlを実行することでインストールできます。- # requirements.yml --- roles: - name: trfore.jsvc - name: trfore.mongodb_install - name: trfore.omada_install
- 注意:Ubuntu 20.04が対象の場合、このロールはOpenJDK 11をインストールします。 - jsvcはAPT経由で利用可能ですが、- < 1.1.0であり、OpenJDK 8でのみ動作します。この古いバージョンを使用したい場合、以下のようにプレイブックで- omada_dependenciesを設定します(下の「例のプレイブック」セクションを参照してください):- omada_dependencies: ["curl", "openjdk-8-jre-headless", "jsvc"]
ロール変数
利用可能な変数は以下に示す通りで、デフォルト値も含まれています(defaults/main.ymlを参照):
| 変数 | デフォルト | 説明 | 必須 | 
|---|---|---|---|
| omada_tar_src | URL | Omada SDN tarファイル、URLまたは相対パス | いいえ | 
| omada_tar_src_remote | true | ブール、URLからダウンロードする場合は true | いいえ | 
| omada_tar_dir | /var/tmp | ターゲットホストの一時ディレクトリ、Omada SDNの展開とインストール用 | いいえ | 
| omada_tar_folder | 自動 | omada_tar_src変数から決定される | 自動 | 
| omada_non_root | true | ブール、Omada SDNを非rootユーザーとして実行するように構成 | いいえ | 
| omada_remove_tar_folder | false | ブール、リモートホストの一時ディレクトリを削除する | いいえ | 
OS固有の変数は以下に示す通りで、デフォルト値も含まれています(vars/main.ymlを参照):
| 変数 | デフォルト | 説明 | 必須 | 
|---|---|---|---|
| omada_dependencies | ["curl", "openjdk-11-jre-headless"] | Omada SDNに必要なパッケージ(Debian) | いいえ | 
| omada_dependencies | ["curl", "java-11-openjdk-headless.x86_64"] | Omada SDNに必要なパッケージ(RHEL) | いいえ | 
依存関係
- Apache Commons Daemon, jsvc >= 1.1.0
- MongoDB Community Edition mongodb-org >=4.4.0
例のプレイブック
- hosts: servers
  become: true
  roles:
    - name: MongoDB Communityをインストール
      role: trfore.mongodb_install
    - name: jsvcバイナリをインストール
      role: trfore.jsvc
    - name: Omada SDNをインストール
      role: trfore.omada_install
  post_tasks:
    - name: Omada SDNが実行されているかテスト
      tags: ["omada", "test"]
      ansible.builtin.uri:
        url: https://127.0.0.1:8043/login
        status_code: 200
        validate_certs: false
      register: result
      until: result.status == 200
      retries: 12
      delay: 10
- tarファイルを手動でダウンロードする場合。
- hosts: servers
  become: true
  vars:
    omada_tar_src: Omada_SDN_Controller_v5.*.*_Linux_x64.tar.gz
    omada_tar_src_remote: false
  roles:
    - name: MongoDB Communityをインストール
      role: trfore.mongodb_install
    - name: jsvcバイナリをインストール
      role: trfore.jsvc
    - name: Omada SDNをインストール
      role: trfore.omada_install
- APTを使用してOpenJDK JRE 8とjsvcをインストールしたい場合(Ubuntu 20.04のみ)
- hosts: servers
  become: true
  vars:
    omada_dependencies: ["curl", "openjdk-8-jre-headless", "jsvc"]
  roles:
    - name: MongoDB Communityをインストール
      role: trfore.mongodb_install
    - name: Omada SDNをインストール
      role: trfore.omada_install
      when: ansible_distribution == 'Ubuntu'
ライセンス
MIT
著者情報
Taylor Fore (https://github.com/trfore)
関連ロール
| Github | Ansible Galaxy | 
|---|---|
| ansible-role-jsvc | trfore.jsvc | 
| ansible-role-mongodb-install | trfore.mongodb_install | 
| ansible-role-omada-install | trfore.omada_install | 
参考文献
Omada
- https://www.tp-link.com/us/support/download/omada-software-controller/
- https://www.tp-link.com/us/support/faq/3272/
- Omada SDNを非rootとして実行する
- Omada SDNポートリスト
- Omadaコントローラー - サイトの移行
Install the Omada SDN controller on RedHat/CentOS and Debian/Ubuntu.
ansible-galaxy install trfore.omada_install