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