trfore.omada_install

Ansibleロール: omada_install

CI CD

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

プロジェクトについて

Install the Omada SDN controller on RedHat/CentOS and Debian/Ubuntu.

インストール
ansible-galaxy install trfore.omada_install
ライセンス
mit
ダウンロード
127
所有者