From 59640c192dd7ece6fd3d8f5a359399fbbedffb34 Mon Sep 17 00:00:00 2001 From: Rene Mewissen Date: Tue, 21 Oct 2025 16:24:23 +0200 Subject: [PATCH] Omada Controller needs a specific MongoDB version --- roles/omada-controller/README.md | 1 + roles/omada-controller/defaults/main.yml | 4 ++++ roles/omada-controller/tasks/main.yml | 10 +++++----- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/roles/omada-controller/README.md b/roles/omada-controller/README.md index 675d658..4b7aa17 100644 --- a/roles/omada-controller/README.md +++ b/roles/omada-controller/README.md @@ -24,6 +24,7 @@ Die folgenden Variablen können angepasst werden, um das Verhalten der Rolle zu | `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` | `default-jre-headless` | Das zu installierende Java-Paket. Das Metapaket `default-jre-headless` sorgt für die Installation der von der Distribution empfohlenen Java-Version und maximiert die Kompatibilität. | | `omada_controller_mongodb_repo_release` | `jammy` | Der Release-Name, der für das offizielle MongoDB APT-Repository verwendet wird. Für neuere Debian-Versionen (wie Debian 13) wird oft ein Ubuntu LTS Release (z.B. `jammy` für Ubuntu 22.04) als Fallback genutzt, da MongoDB nicht immer sofort Repositories für alle Debian-Testing-Versionen bereitstellt. | +| `omada_controller_mongodb_version` | `4.4` | Die Version des MongoDB-Servers, die installiert werden soll. Der Omada Controller benötigt eine Version kleiner als 4.5.0. MongoDB 4.4 ist eine kompatible und von TP-Link oft empfohlene Wahl. | ## Abhängigkeiten diff --git a/roles/omada-controller/defaults/main.yml b/roles/omada-controller/defaults/main.yml index 7ff876c..525c999 100644 --- a/roles/omada-controller/defaults/main.yml +++ b/roles/omada-controller/defaults/main.yml @@ -15,3 +15,7 @@ omada_controller_java_package: "default-jre-headless" # Release-Name für das offizielle MongoDB APT-Repository. # Für Debian 13 (Trixie) wird oft ein Ubuntu LTS Release wie 'jammy' (22.04) als Fallback verwendet. omada_controller_mongodb_repo_release: "jammy" + +# Die Version des MongoDB-Servers, die installiert werden soll. +# Der Omada Controller benötigt eine Version < 4.5.0. MongoDB 4.4 ist eine kompatible Wahl. +omada_controller_mongodb_version: "4.4" diff --git a/roles/omada-controller/tasks/main.yml b/roles/omada-controller/tasks/main.yml index 293e1a4..5f3b500 100644 --- a/roles/omada-controller/tasks/main.yml +++ b/roles/omada-controller/tasks/main.yml @@ -34,21 +34,21 @@ - name: Download MongoDB GPG key ansible.builtin.get_url: - url: https://www.mongodb.org/static/pgp/server-6.0.asc - dest: /tmp/mongodb-server-6.0.asc + url: "https://www.mongodb.org/static/pgp/server-{{ omada_controller_mongodb_version }}.asc" + dest: "/tmp/mongodb-server-{{ omada_controller_mongodb_version }}.asc" mode: '0644' - name: Dearmor MongoDB GPG key and place in /usr/share/keyrings ansible.builtin.command: - cmd: "gpg --dearmor -o /usr/share/keyrings/mongodb-archive-keyring.gpg /tmp/mongodb-server-6.0.asc" + cmd: "gpg --dearmor -o /usr/share/keyrings/mongodb-archive-keyring.gpg /tmp/mongodb-server-{{ omada_controller_mongodb_version }}.asc" creates: /usr/share/keyrings/mongodb-archive-keyring.gpg # Hinweis: Der Pfad /usr/share/keyrings/ ist der empfohlene Ort für Schlüssel, die mit 'signed-by' verwendet werden. - name: Add MongoDB repository ansible.builtin.apt_repository: - repo: "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-archive-keyring.gpg ] https://repo.mongodb.org/apt/ubuntu {{ omada_controller_mongodb_repo_release }}/mongodb-org/6.0 multiverse" + repo: "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-archive-keyring.gpg ] https://repo.mongodb.org/apt/ubuntu {{ omada_controller_mongodb_repo_release }}/mongodb-org/{{ omada_controller_mongodb_version }} multiverse" state: present - filename: mongodb-org-6.0 + filename: "mongodb-org-{{ omada_controller_mongodb_version }}" update_cache: yes # Der 'signed-by'-Parameter verweist auf den zuvor dearmored Schlüssel. # Dies ist die moderne und sichere Methode, GPG-Schlüssel für APT-Repositories zu handhaben.