Installation eines Omada-Controllers

This commit is contained in:
2025-10-21 14:21:47 +02:00
parent 97bb2f4443
commit 1dfdd4acc6
9 changed files with 161 additions and 0 deletions

3
hosts
View File

@@ -133,6 +133,9 @@ ns1.universe.local
unbound01.universe.local
unbound02.universe.local
[omada_controller]
omada.universe.local
[photo_editing]
endor.universe.local
endorvm.universe.local

View File

@@ -152,6 +152,12 @@
roles:
- jitsimeet
- hosts: omada_controller
tags: server,omada_controller
become: true
roles:
- omada-controller
- hosts: backup
tags: server,backup
become: true

View File

@@ -0,0 +1,58 @@
# Ansible Role: omada-controller
Diese Rolle installiert den TP-Link Omada SDN Controller auf Debian-basierten Systemen (Debian, Ubuntu).
Sie kümmert sich um die Installation der notwendigen Abhängigkeiten (Java, jsvc, curl) und lädt das offizielle `.deb`-Paket von der TP-Link-Website herunter und installiert es. Der Controller-Dienst (`tpeap`) wird anschließend gestartet und für den Systemstart aktiviert.
## Anforderungen
Diese Rolle wurde für die folgenden Betriebssysteme entwickelt und getestet:
- Debian 10 (Buster)
- Debian 11 (Bullseye)
- Ubuntu 20.04 (Focal)
- Ubuntu 22.04 (Jammy)
Es sind keine weiteren externen Abhängigkeiten oder spezielle Python-Bibliotheken erforderlich.
## Rollenvariablen
Die folgenden Variablen können angepasst werden, um das Verhalten der Rolle zu steuern. Die Standardwerte sind in `defaults/main.yml` definiert.
| Variable | Standardwert | Beschreibung |
|---|---|---|
| `omada_controller_deb_url` | `https://static.tp-link.com/.../Omada_SDN_Controller_v5.9.31_Linux_x64.deb` | Die direkte Download-URL für das `.deb`-Installationspaket des Omada Controllers. Die neueste Version finden Sie auf der TP-Link Download-Seite. |
| `omada_controller_java_package` | `openjdk-8-jre-headless` | Das zu installierende Java-Paket. Version 8 ist eine sichere Wahl, neuere Controller-Versionen unterstützen eventuell auch Java 11 oder 17. |
## Abhängigkeiten
Diese Rolle hat keine Abhängigkeiten von anderen Ansible-Rollen.
## Beispiel-Playbook
So können Sie die Rolle in Ihr Playbook integrieren:
```yaml
- hosts: omada_controller_server
become: true
roles:
- omada-controller
```
Um eine spezifische Version des Controllers zu installieren, können Sie die URL im Playbook oder in Ihren `group_vars` überschreiben:
```yaml
- hosts: omada_controller_server
become: true
vars:
omada_controller_deb_url: "https://static.tp-link.com/path/to/specific/version.deb"
roles:
- omada-controller
```
## Lizenz
MIT
## Autor
Hier können Sie Ihre Informationen eintragen.

View File

@@ -0,0 +1,11 @@
#SPDX-License-Identifier: MIT-0
---
# defaults file for roles/omada-controller
# roles/omada-controller/defaults/main.yml
# URL für die .deb-Datei des Omada SDN Controllers.
# Sie können die neueste Version auf der TP-Link-Website finden:
# https://www.tp-link.com/de/support/download/omada-software-controller/
omada_controller_deb_url: "https://static.tp-link.com/upload/software/2023/202303/20230321/Omada_SDN_Controller_v5.9.31_Linux_x64.deb"
# Java-Version, die als Abhängigkeit installiert werden soll. Java 8 ist die sicherste Wahl.
omada_controller_java_package: "openjdk-8-jre-headless"

View File

@@ -0,0 +1,8 @@
#SPDX-License-Identifier: MIT-0
---
# handlers file for roles/omada-controller
# roles/omada-controller/handlers/main.yml
- name: Restart Omada Controller
service:
name: tpeap
state: restarted

View File

@@ -0,0 +1,25 @@
#SPDX-License-Identifier: MIT-0
# roles/omada-controller/meta/main.yml
galaxy_info:
author: your name
description: Installs the TP-Link Omada SDN Controller on Debian-based systems.
company: your company (optional)
license: license (GPL-2.0-or-later, MIT, etc.)
min_ansible_version: 2.9
platforms:
- name: Debian
versions:
- buster
- bullseye
- name: Ubuntu
versions:
- bionic
- focal
- jammy
galaxy_tags:
- networking
- omada
- tplink
- controller
dependencies: []

View File

@@ -0,0 +1,44 @@
#SPDX-License-Identifier: MIT-0
---
# tasks file for roles/omada-controller
# roles/omada-controller/tasks/main.yml
- name: Check if Omada Controller package 'tpeap' is already installed
dpkg_query:
name: tpeap
showformat: '${Status}'
register: omada_pkg_status
failed_when: false
changed_when: false
- name: Install Omada Controller
when: "'install ok installed' not in omada_pkg_status.stdout"
block:
- name: Install dependencies for Omada Controller
# Der Controller benötigt Java, jsvc (Java Service Wrapper) und curl.
# MongoDB wird vom Controller-Paket selbst mitgebracht und muss nicht separat installiert werden.
apt:
name:
- "{{ omada_controller_java_package }}"
- jsvc
- curl
state: present
update_cache: yes
register: apt_install
retries: 3
until: apt_install is success
# Das .deb-Paket wird direkt von der URL installiert.
- name: Install Omada Controller from URL
apt:
deb: "{{ omada_controller_deb_url }}"
state: present
register: omada_install
retries: 3
until: omada_install is success
notify: Restart Omada Controller
- name: Ensure Omada Controller service (tpeap) is running and enabled on boot
service:
name: tpeap
state: started
enabled: yes

View File

@@ -0,0 +1,3 @@
#SPDX-License-Identifier: MIT-0
localhost

View File

@@ -0,0 +1,3 @@
#SPDX-License-Identifier: MIT-0
---
# vars file for roles/omada-controller