yavdr ansible generelle Frage

  • Hallo,


    habe parallel zu meiner bestehenden yaVDR 0.6.1 Installation auf einer 2.ten Platte den yaVDR

    per ansible installiert. (Wie beschrieben auf https://github.com/yavdr/yavdr-ansible)

    An dieser Stelle noch besten Dank an seahawk1986 für die Tolle Arbeit.


    Soweit läuft nun auch alles, zudem habe ich auf Kodi 18 per ppa:team-xbmc/xbmc-nightly umgestellt.

    Geht soweit auch wunderbar.


    Trozdem habe ich noch ein paar generelle Fragen:


    - Wie ich das sehe braucht man die ansible installation per install-yavdr.sh nur einmal als initial zu machen,

    danach geht alles auch per apt-get update und apt-get distupgrade richtig ?


    - Wird aus dieser Installation einmal yaVDR 0.7 entstehen ? Wenn ja muss ich dann wieder alles flach machen

    und neu installieren oder werden dann einfach die Repositories umgestellt.

    Ich will einfach vermeiden die Arbeit komplett doppelt zu machen, da die ansible version bereits wunderbar

    funktioniert.


    Vielen Dank und Liebe Grüsse

    Leo

    Hardware: Asus P5G41T-M LX, Gigabyte GeForce GT220, Digital Devices Cine S2 V6 & TechnoTrend Budget S2-1600, Hama MCE Remote Control
    Software: yaVDR 0.6.1 & neuste updates (
    ppa:yavdr/stable-vdr)

  • - Wie ich das sehe braucht man die ansible installation per install-yavdr.sh nur einmal als initial zu machen,

    danach geht alles auch per apt-get update und apt-get distupgrade richtig ?

    Kommt drauf an ob was noch angepasst wird, ist ja alles noch Work in process im Moment.


    Grundsätzlich ist es so das ansible das System vorkonfiguriert entsprechend deiner Wahl. Die Pakete werden bei Neuerungen immer wieder mal aktualisiert und bei der Installation wirst Du gefragt, falls sich was geändert hat, ob du die Änderung übernehmen willst oder nicht, wie eh und je ;)

    Gruß utiltiy



    VDR Projekte EPGD EPG2VDR

  • Soweit läuft nun auch alles, zudem habe ich auf Kodi 18 per ppa:team-xbmc/xbmc-nightly umgestellt.

    Eine der Ideen hinter yavdr-ansible ist, dass man dem Nutzer mehr Freiheiten bei der (Vor-)Konfiguration des Systems einräumt als es bei yaVDR 0.6 der Fall war. Du kannst z.B. beliebige PPAs für VDR, KODI usw. nutzen solange die Grundvoraussetzungen (Namensgebung, Konfigurationsmethode des VDR usw., aktuelle dbus2vdr-Version) erfüllt sind.


    Das PPA könnte man z.B. auch gleich bei der Installation einbinden lassen - um die Variablen in group_vars/all zu übersteuern, könnte man eine host_vars/localhost anlegen und darin die PPA-Liste ändern:

    Code: host_vars/localhost
    1. ---
    2. branch: experimental
    3. ppa_owner: 'ppa:yavdr'
    4. # add the following PPAs
    5. repositories:
    6. - '{{ ppa_owner }}/{{branch}}-main'
    7. - '{{ ppa_owner }}/{{branch}}-vdr'
    8. - ppa:team-xbmc/xbmc-nightly

    - Wie ich das sehe braucht man die ansible installation per install-yavdr.sh nur einmal als initial zu machen,

    danach geht alles auch per apt-get update und apt-get distupgrade richtig ?

    Du hast prinzipiell zwei Möglichkeiten:


    Entweder du nutzt Ansible zur Konfiguration des Systems, passt also yavdr-ansible auf deine Bedürfnisse an. Dann kannst du das Playbook (oder einzelne Rollen daraus) beliebig oft ausführen, ohne deine Konfiguration ungewollt zu verändern (ein Ansible-Playbook soll ja möglichst idempotent sein, also bei wiederholten Durchläufen das selbe Ergebnis produzieren). Im Falle einer Neuinstallation genügt es dann im Idealfall das auf dein System angepasste Playbook auszuführen, um das System wieder in den gewünschten Zustand zu bekommen. Der "Nachteil" dabei ist natürlich, dass du lernen musst, wie man Ansible nutzen kann und eine ungefähre Vorstellung davon ´zu haben wie jinja2 in Ansible genutzt wird, dürfte ebenfalls hilfreich sein.


    Oder du nutzt das Playbook nur für die Vorkonfiguration des Systems und machst danach mit händisch angepassten Konfigurationsdateien und Paketupdates weiter.

    Neue Features, die ich nicht alleine mit Paketen in den yaVDR-PPAs umsetzen kann, sondern die über eine Ansible-Rolle konfiguriert werden, bekommst du mit der Methode natürlich nicht (aber man kann gezielt einzelne Rollen statt dem kompletten Playbook ausführen lassen, wenn man weiß, was man braucht).

    - Wird aus dieser Installation einmal yaVDR 0.7 entstehen ? Wenn ja muss ich dann wieder alles flach machen

    und neu installieren oder werden dann einfach die Repositories umgestellt.

    An der Grundstruktur der Konfiguration wird sich hoffentlich nicht mehr viel ändern, bei den Ansible-Rollen selbst kann es sein, dass ich da noch etwas umbauen muss, damit man sie über das geplante Webfrontend ausführen kann und bestimmte Features an- und abschalten kann. Ich versuche dabei möglichst wenig Abwärtsinkompatiblitäten zu erzeugen und falls es unumgänglich ist, poste ich es hier im Forum.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Hallo zusammen,


    erst einmal ein Dankeschön an seahawk1986 für die tolle Arbeit an yavdr-ansible!


    Ich habe über Weihnachten den VDR 2 in meiner Signatur auch mit yavdr-ansible ausgestattet.

    Die Installation/Einrichtung von Ubuntu 18.04 Server, yavdr-ansible und xorg.conf hat gut funktioniert.


    Nun möchte ich mir mein System nicht durch falsche Befehle zerschiessen und möchte deshalb mal nachfragen,

    ob es möglich wäre eine gesamte zentrale/angepinnte Anleitung/Howto zu folgenden Punkten zu schreiben:


    • Voraussetzung (Ubuntu Server) für yavdr-ansible (Anleitung gibt es schon / nur der Vollständigkeit halber)
    • Installation der git-Pakete von yavdr-ansible (Anleitung gibt es schon / nur der Vollständigkeit halber)
    • Update der git-Pakete von yavdr-ansible
    • Möglichkeiten der Installation von normalen Pakete über apt-get / eventuelle Konflikte mit yavdr-ansible
    • Möglichkeiten des Updates mit apt-get update && sudo apt-get dist-upgrade / eventuelle Konflikte mit yavdr-ansible
    • Möglichkeiten der Installation / Nutzung von weiteren git- oder ppa-Paketquellen / eventuelle Konflikte mit yavdr-ansible
    • Möglichkeiten der Befehle / Konfiguration, um die einzelnen Rollen im playbook auszuführen zu können
    • Übersicht der unterstützen Ausgabeplugins und Codec


    Eine zentrale/angepinnte Anleitung/Howto wäre super!


    Im Haupthread zu yavdr-ansible sind die Punkte sicherlich auch schon behandelt worden,

    aber im weiteren Diskussionsverlauf gehen die Punkte irgendwie immer unter.


    Für einen Einsteiger oder Fortgeschrittenen ist es hier schon schwierig den Überblick zu behalten. ?(


    Gerne kann ich euch beim dokumentieren helfen! ;)


    Schöne Grüße


    Christian

  • Gerne kann ich euch beim dokumentieren helfen!

    https://github.com/yavdr/yavdr…le/blob/bionic/Manual.org


    Ist doch dabei in ansible das Manual ;)

    Gruß utiltiy



    VDR Projekte EPGD EPG2VDR

  • Update der git-Pakete von yavdr-ansible

    Welche git-Pakete meinst du? Falls es darum geht einen eigenen Branch für yavdr-ansible zu pflegen läuft das ja eigentlich darauf hinaus, dass man lernt mit Git umzugehen (wenn man es noch nicht kann).

    Möglichkeiten der Installation von normalen Pakete über apt-get / eventuelle Konflikte mit yavdr-ansible
    Möglichkeiten des Updates mit apt-get update && sudo apt-get dist-upgrade / eventuelle Konflikte mit yavdr-ansible

    Prinzipiell kann man sich da austoben. apt fragt nach, bevor es vom Nutzer oder Ansible angepasste Konfigurationsdateien überschreibt und dann sollte man sich die Unterschiede anzeigen lassen und sich überlegen, was man haben will bzw. die Dateien zusammenführen. Abgesehen von Desktop-Managern ala gdm, lightdm usw. (die kloppen sich mit yavdr-xorg darum eine graphische Oberfläche zu starten) und dem Paket cloud-init sollte man eigentlich so gut wie alle Pakete aus den Ubuntu-Paketquellen nutzen können.

    Möglichkeiten der Installation / Nutzung von weiteren git- oder ppa-Paketquellen / eventuelle Konflikte mit yavdr-ansible

    Man braucht VDR-Pakete, die die unter Debian/Ubuntu übliche Methode zur Konfiguration nutzen und die aktuelle Version von vdr-plugin-dbus2vdr. Bei KODI-PPAs müssen die Paketnamen zu dem passen, was in der Rolle kodi drin steht (die Rolle ist so ausgelegt, dass sie sowohl mit den KODI-Paketen aus den Ubuntu-Quellen als auch mit den nightly-Builds des team-xbmc PPAs funktioniert). Ansonsten stecken die wichtigen Pakete (wenn man von VDR und KODI) absieht in ppa:yavdr/experimental-main.


    Um Pakete aus bestimmten Paketquellen zu bevorzugen (wenn neuere Versionsnummern nicht als Kriterium genügen) gibt es die Möglichkeit apt-pinning zu nutzen: https://help.ubuntu.com/community/PinningHowto


    Ansonsten gibt es das Grundproblem, dass man sich beim Mischen von PPA unterschiedlicher Anbieter leider oft sehr genau anschauen muss, was die enthalten und ob das Konflikte mit Paketen aus anderen PPAs erzeugen kann.

    Möglichkeiten der Befehle / Konfiguration, um die einzelnen Rollen im playbook auszuführen zu können

    Zwei Möglichkeiten: eigenes Playbook erstellen bzw. ein vorhandenes anpassen oder die Möglichkeit von (steckt in https://github.com/yavdr/yavdr…ns/callbacks/auto_tags.py) nutzen - also um z.B. nur die Rolle yavdr-xorg (und ihre Abhängigkeiten) aus dem Playbook yavdr07.yml ausführen zu lassen:

    sudo -H ansible-playbook yavdr07.yml -b -i 'localhost_inventory' --connection=local --tags="yavdr-xorg"

    Gerne kann ich euch beim dokumentieren helfen!

    Gerne, falls du da etwas zusammenfassen willst, lässt sich das sicher in die README.md, einen Forenpost oder ein Wiki packen.

    Bevor ich Zeit in eine Dokumentation für Anwender (in dem Stil wie ich es zu yaVDR 0.6 geschrieben hatte) investiere, hätte ich nur gerne erst mal ein gut funktionierendes Grundgerüst - mit den ab und an auftretenden Problemen beim Attachen des Frontends, der Konfiguration des X-Server für Intel-IGPs und einem (möglichst lokalisierbarem) Template für Menuorg gibt es ja noch Baustellen, die weiter oben auf der TODO-Liste stehen. Vor dem Jahreswechsel war das Interesse an den Projekt ja auch noch deutlich geringer ;)

    https://github.com/yavdr/yavdr…le/blob/bionic/Manual.org

    Ist doch dabei in ansible das Manual

    Naja, das ist ein Versuch den org-mode von Emacs für ein bisschen Literate Programming zu nutzen, die Manual.html ist für den interessierten Leser ohne Emacs vermutlich besser geeignet (GitHub unterstützt nicht alle Funktionen von org-Dateien wenn es sie als HTML rendert). Im Großen und Ganzen bekommt man eine Übersicht, was es für Dateien in den Rollen, Bibliotheken und Hooks von yavdr-ansible gibt und ein paar Kommentare dazu wie einige der Interna funktionieren, damit ich mir das nicht merken muss ;)

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Welche git-Pakete meinst du? Falls es darum geht einen eigenen Branch für yavdr-ansible zu pflegen läuft das ja eigentlich darauf hinaus, dass man lernt mit Git umzugehen (wenn man es noch nicht kann).

    Ich habe das git-Paket von yavdr-ansible gemeint.

    Meine Arbeitskopie von yavdr-ansible ist/war vom 22. Dezember.

    Mittlerweile gab es ja ein paar Änderungen und wie habe ich die Möglichkeit diese Änderungen in meine Arbeitskopie einzubringen?

    Was ich gerade ausprobiert habe, im /home/user/yavdr-ansible-Verzeichnis ein git pull .

    So wie aussieht habe ich jetzt wieder den aktuellen git-Stand von yavdr-ansible, ist das richtig?


    Sollte man nach einer Aktualisierung, dass komplette playbook erneut mit sudo -H ./install-yavdr.sh durchlaufen lassen?

    Möglichkeiten der Installation von normalen Pakete über apt-get / eventuelle Konflikte mit yavdr-ansible
    Möglichkeiten des Updates mit apt-get update && sudo apt-get dist-upgrade / eventuelle Konflikte mit yavdr-ansible

    Ein apt-get update && sudo apt-get dist-upgrade habe ich auch ausprobiert, dies würde ohne Konflikte funktionieren.


    Ansonsten stecken die wichtigen Pakete (wenn man von VDR und KODI) absieht in ppa:yavdr/experimental-main.

    Das die Pakete für den yavdr vom ppa:yavdr/experimental-main kommen, habe ich beim Update bzw. anhand der Einträge in den Paketquellen gesehen. Theoretisch könnte ich dann ein vdr-plugin-* per apt-get installieren?


    also um z.B. nur die Rolle yavdr-xorg (und ihre Abhängigkeiten) aus dem Playbook yavdr07.yml ausführen zu lassen:

    sudo -H ansible-playbook yavdr07.yml -b -i 'localhost_inventory' --connection=local --tags="yavdr-xorg"

    Hätte dann der Grundbefehl für eine einzelne Rolle diesen Aufbau:


    sudo -H ansible-playbook yavdr07.yml -b -i 'localhost_inventory' --connection=local --tags="ROLLENNAME"


    Den Rollenname kann man dann anhand von https://github.com/yavdr/yavdr-ansible/tree/bionic/roles entnehmen?


    Als Beispiel serial-ir:

    sudo -H ansible-playbook yavdr07.yml -b -i 'localhost_inventory' --connection=local --tags="serial-ir"


    Gerne, falls du da etwas zusammenfassen willst, lässt sich das sicher in die README.md, einen Forenpost oder ein Wiki packen.

    Bevor ich Zeit in eine Dokumentation für Anwender (in dem Stil wie ich es zu yaVDR 0.6 geschrieben hatte) investiere, hätte ich nur gerne erst mal ein gut funktionierendes Grundgerüst - mit den ab und an auftretenden Problemen beim Attachen des Frontends, der Konfiguration des X-Server für Intel-IGPs und einem (möglichst lokalisierbarem) Template für Menuorg gibt es ja noch Baustellen, die weiter oben auf der TODO-Liste stehen. Vor dem Jahreswechsel war das Interesse an den Projekt ja auch noch deutlich geringer

    Ich würde dem Projekt auch gerne wieder etwas zurückgeben.

    Da ich leider nicht programmieren kann, möchte ich gerne dann einen Teil zur Dokumentation beitragen.

    Schauen wir mal, wenn es soweit ist.


    Schöne Grüße


    Christian

  • Was ich gerade ausprobiert habe, im /home/user/yavdr-ansible-Verzeichnis ein git pull .

    So wie aussieht habe ich jetzt wieder den aktuellen git-Stand von yavdr-ansible, ist das richtig?

    Stimmt, so wird es aktualisiert.

    Gruß utiltiy



    VDR Projekte EPGD EPG2VDR

  • Sollte man nach einer Aktualisierung, dass komplette playbook erneut mit sudo -H ./install-yavdr.sh durchlaufen lassen?

    Muss das playbook erneut durchlaufen lassen? (.... eigentlich ja)


    Gruß

    Uwe

  • Sollte man nach einer Aktualisierung, dass komplette playbook erneut mit sudo -H ./install-yavdr.sh durchlaufen lassen?

    Wenn man das macht, würde Ansible das System auf den im Playbook vorgegebenen Stand bringen - ob das das ist, was du haben willst, kannst nur du entscheiden.

    Theoretisch könnte ich dann ein vdr-plugin-* per apt-get installieren?

    Ja, das funktioniert sogar praktisch ;) Statt apt-get kannst du auch das modernere apt verwenden, damit musst du ein paar Zeichen weniger tippen: https://wiki.ubuntuusers.de/apt/apt/

    Den Rollenname kann man dann anhand von https://github.com/yavdr/yavdr-ansible/tree/bionic/roles entnehmen?


    Als Beispiel serial-ir:

    sudo -H ansible-playbook yavdr07.yml -b -i 'localhost_inventory' --connection=local --tags="serial-ir"

    Ja, aber die Rolle muss im Playbook enthalten sein, du müsstest also zusätzlich die Raute am Anfang der Zeile in https://github.com/yavdr/yavdr…ob/bionic/yavdr07.yml#L35 entfernen, bevor du das so aufrufst.


    Alternativ kannst du dir ein eigenes Playbook anlegen:

    Und das so aufrufen:

    Code
    1. sudo -H ansible-playbook serial-ir.yml -b -i 'localhost_inventory' --connection=local

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Wenn man das macht, würde Ansible das System auf den im Playbook vorgegebenen Stand bringen - ob das das ist, was du haben willst, kannst nur du entscheiden.

    Ja, das wäre meine Motivation.

    Man möchte ja schließlich die Verbesserungen nutzen.

    Ja, das funktioniert sogar praktisch Statt apt-get kannst du auch das modernere apt verwenden, damit musst du ein paar Zeichen weniger tippen: https://wiki.ubuntuusers.de/apt/apt/

    Danke für den Tipp! :)

    Ja, aber die Rolle muss im Playbook enthalten sein, du müsstest also zusätzlich die Raute am Anfang der Zeile in https://github.com/yavdr/yavdr…ob/bionic/yavdr07.yml#L35 entfernen, bevor du das so aufrufst.

    Danke für Infos!

    Ich werde es ausprobieren, aber erst in 14 Tagen!

    Solange lese ich im anderen Thread mit, wie sich yavdr-ansible entwickelt! ;)


    Danke nochmals für eure Hilfe!


    Schöne Grüße


    Christian