trfore.omada_install

Ansible角色: omada_install

CI CD

在RedHat/CentOS和Debian/Ubuntu上安装Omada SDN控制器。

这个角色使用最新的tar包从https://www.tp-link.com/us/support/download/omada-software-controller/安装最新的Omada SDN控制器软件。

如果你想手动下载tar包到你的Ansible控制主机,请将文件Omada_SDN_Controller_v5.*.*_Linux_x64.tar.gz下载到你的files目录,并在你的剧本中设置以下两个变量:

  • omada_tar_src: Omada_SDN_Controller_v5.*.*_Linux_x64.tar.gz
  • omada_tar_src_remote: false

请参阅“示例剧本”部分以获取有效示例。此角色不配置Omada控制器,它使用默认配置值。它设定服务以非根用户身份运行,你可以通过将omada_non_root设置为false来更改这一点。

安装角色

你可以使用Ansible Galaxy CLI安装此角色:

ansible-galaxy role install trfore.omada_install

测试的平台和版本

  • MongoDB社区版: 4.4.x
  • Omada SDN: 5.x.x
  • CentOS Stream 8
  • Debian 10
  • Ubuntu 20.04

需求

  • MongoDB社区版,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以非根用户身份运行
omada_remove_tar_folder false 布尔值,是否移除远程主机上的临时目录

操作系统特定的变量如下所示,并附有默认值(请参见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社区版mongodb-org >=4.4.0

示例剧本

- hosts: servers
  become: true
  roles:
    - name: 安装MongoDB社区版
      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社区版
      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社区版
      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
拥有者