Installation python auf den Nodes (Ansible)


#1

Moin *,

ich arbeite mich gerade in Ansible ein und wollte damit meine Nodes konfigurieren (oder zumindest damit experimentieren). Das scheint zu scheitern, wahrscheinlich weil auf den aktuellen gluon-Images kein Python installiert ist.

Naiverweise wollte ich dies nachholen und habe diese Seite gefunden:
https://wiki.openwrt.org/doc/software/python

Wacker umgesetzt:
# opkg update
Downloading http://downloads.openwrt.org/chaos_calmer/15.05.1/ar71xx/generic/packages/base/Packages.gz.
Updated list of available packages in /var/opkg-lists/chaos_calmer_base.
Downloading http://downloads.openwrt.org/chaos_calmer/15.05.1/ar71xx/generic/packages/base/Packages.sig.
Signature check passed.
Downloading http://downloads.openwrt.org/chaos_calmer/15.05.1/ar71xx/generic/packages/packages/Packages.gz.
Updated list of available packages in /var/opkg-lists/chaos_calmer_packages.
Downloading http://downloads.openwrt.org/chaos_calmer/15.05.1/ar71xx/generic/packages/packages/Packages.sig.
Signature check passed.
Downloading http://downloads.openwrt.org/chaos_calmer/15.05.1/ar71xx/generic/packages/luci/Packages.gz.
Updated list of available packages in /var/opkg-lists/chaos_calmer_luci.
Downloading http://downloads.openwrt.org/chaos_calmer/15.05.1/ar71xx/generic/packages/luci/Packages.sig.
Signature check passed.
Downloading http://downloads.openwrt.org/chaos_calmer/15.05.1/ar71xx/generic/packages/routing/Packages.gz.
Updated list of available packages in /var/opkg-lists/chaos_calmer_routing.
Downloading http://downloads.openwrt.org/chaos_calmer/15.05.1/ar71xx/generic/packages/routing/Packages.sig.
Signature check passed.
Downloading http://downloads.openwrt.org/chaos_calmer/15.05.1/ar71xx/generic/packages/telephony/Packages.gz.
Updated list of available packages in /var/opkg-lists/chaos_calmer_telephony.
Downloading http://downloads.openwrt.org/chaos_calmer/15.05.1/ar71xx/generic/packages/telephony/Packages.sig.
Signature check passed.
Downloading http://downloads.openwrt.org/chaos_calmer/15.05.1/ar71xx/generic/packages/management/Packages.gz.
Updated list of available packages in /var/opkg-lists/chaos_calmer_management.
Downloading http://downloads.openwrt.org/chaos_calmer/15.05.1/ar71xx/generic/packages/management/Packages.sig.
Signature check passed.

Bis dahin war alles locker, aber dann:
# opkg install python-light -d ram
Installing python-light (2.7.9-6) to ram…
Downloading http://downloads.openwrt.org/chaos_calmer/15.05.1/ar71xx/generic/packages/packages/python-light_2.7.9-6_ar71xx.ipk.
Installing python-base (2.7.9-6) to ram…
Downloading http://downloads.openwrt.org/chaos_calmer/15.05.1/ar71xx/generic/packages/packages/python-base_2.7.9-6_ar71xx.ipk.
Installing zlib (1.2.8-1) to ram…
Downloading http://downloads.openwrt.org/chaos_calmer/15.05.1/ar71xx/generic/packages/base/zlib_1.2.8-1_ar71xx.ipk.
Configuring python-base.
grep: /usr/lib/opkg/info/python-base.control: No such file or directory
cat: can’t open ‘/usr/lib/opkg/info/python-base.list’: No such file or directory
packet_write_wait: Connection to 172.16.101.10 port 22: Broken pipe

Bin sowohl neu in Ansible als auch in openWRT/Freifunk. Ist das eine doofe Idee oder hat das sogar jemand am Laufen?
TNX

Glückauf, zuse


#2

Moin,

korrekt.

Den Python-Ansatz kannst du vergessen. Der Interpreter ist viel zu groß um auf die Geräte zu passen. Ab Lede ist der ROM eh komplett voll und man kann nichtmals mehr minimale Tools wie vnstat nachzuinstallieren.

Es gibt aber das RAW-Modul. Das funktioniert auch, wenn auf der anderen Seite nur ASH installiert ist. Damit kann man rudimentäre Sachen auf den Knoten per Ansible machen. Natürlich schränkt es die Nutzbarkeit schon stark ein, aber @PeterB pflegt so auch seine ca. 200 Knoten.

Viele Grüße
Matthias


#3

Hhmm, schade.

Zu dem RAW-Modul hatte ich schon das hier gefunden:
https://www.hagen-bauer.de/tags/Freifunk/

Gibt es hier im GIT vielleicht schon mal Ansatzpunkte in dieser Richtung?

TNX


#4

Moin!

ja, das stimmt. Beim Zugriff per Ansible auf die Freifunk-Knoten funktioniert nur das RAW-Modul. Das führt die Kommandos ‘stumpf’ per ssh aus.
Schlussendlich kann man damit aber die Knoten ganz gut konfigurieren.
Alles, was Du konfigurieren willst, musst Du halt nur in ssh-taugliche Befehle aufdröseln. Exitcodes werden ins ansible zurück geliefert, die Ausgabe von Befehlen auch. Somit kannst Du so ziemlich alles konfigurieren, was Du brauchst.

Viele Grüße,
Peter