[PATCH 2/4] fff-hoods: move start of configurehood from rc.local to init.d

robert rlanghammer at web.de
So Sep 16 00:39:23 CEST 2018


Hallo,

Am 15.09.2018 um 13:52 schrieb mail at adrianschmutzler.de:
> Hallo Robert,
>
> siehe unten.
>
>> -----Original Message-----
>> From: franken-dev [mailto:franken-dev-bounces at freifunk.net] On Behalf
>> Of robert
>> Sent: Samstag, 15. September 2018 09:02
>> To: franken-dev at freifunk.net
>> Subject: Re: [PATCH 2/4] fff-hoods: move start of configurehood from
>> rc.local to init.d
>>
>> Hi Adrian,
>>
>>
>> Am 14.09.2018 um 23:44 schrieb mail at adrianschmutzler.de:
>>> Hallo Robert,
>>>
>>> der micrond startet mit START=50.
>>>
>>> Wenn wir configurehood erst danach ausführen, können wir nicht auf
>>> /tmp/started verzichten.
>> Meinst du wegen Nodewatcher? configurehood schuetzt sich selbst.
> Du hast Recht, aufgrund des frühen Starts von configurenetwork und des einmaligen Ausführens müsste es so gehen.
>
> Es würde dann Sinn machen, die gleiche Sperre für doppeltes Ausführen auch in den Nodewatcher einzubauen!
Für den Nodewatcher sehe ich die Notwendigkeit nicht. Der wird nur via
cron gestartet. Sollte eigentlich nie doppelt laufen. Wenn doch noch
eine Instanz vorhanden ist, liegt der Fehler wo anders. Das Einzige, was
passieren kann, dass beim Booten der Nodewatcher zu früh startet. Ich
denke aber nicht, dass das etwas kaputt macht. Ich bin noch am
Überlegen, ob es Sinn macht, den Nodewatcher als Daemon laufen zu
lassen, von procd überwacht. Man könnte auch einfach das sleep im
cronjob austauschen ( random 300 329 )
>
>>> Ich weiß nicht, ob wir alles nötige haben, um configurehood vor
>>> START=50 auszuführen.
>>>
>>> Und wir hätten wieder das Problem, dass dann ggf. mehrere Minuten lang
>>> die LEDs nicht gehen, weil configurehood beim random hängt.
>> Welches random? Wenn /init.d/configurehood startet gibt es nur 2
>> Moeglichkeiten. Es laeuft an, oder es laeuft schon.
> Wir hatten/haben das Problem, dass der Teil mit dem vpn-select mehrere Minuten braucht (ich glaube da ging es um das Generieren des Keys oder so, was etwas gebraucht hat wegen Entropie). Die LEDs werden mit START=96 gestartet. D.h. wenn das Skript lange braucht, dann sind solange die LEDs nicht verfügbar. Ich habe aus diesem Grund damals vorgeschlagen (und verwende das auch so), dass man configurehood mit START=98 startet:
Soweit ich das sehe, passiert da nicht viel. Die LEDs gehen an. Darum
wäre mir das egal ob 95 oder 98.
Wenn configurehood wirklich zu lange braucht, sollten wir uns das noch
mal anschauen. Am Generieren des fastd-keys sollte es nicht liegen. Da
gab es einen Patch:  https://pw.freifunk-franken.de/patch/687/ Und das
passiert nur beim Ersten Boot nach dem Flashen.
>
> https://pw.freifunk-franken.de/patch/764/
>
> Das ist jetzt aber eigtl. kein Problem deines Patches, das war vorher auch schon so. Ich fände aber ein START=98 hier besser.
>
> Gelegentlich wird dann halt das configurehood mal vom micrond mit START=50 gestartet werden. Keine Ahnung, ob bei 50 schon alles funktioniert. Das könnte man aber einfach testen, vll. mach ich mir bei Gelegenheit mal die Arbeit.
Bei START=50 sollte alles schon da sein, was configurehood braucht. Das
init-Skript könnte man eigentlich auch weg lassen. Es ist ja nur dazu
da, dass es nicht so lange dauert, bis configurehood startet.

Robert
>
> Essenz: Die Kommentare von mir diesbezügilch aus der vorigen Mail sind erstmal hinfällig. Das mit rc.local fände ich nach wie vor wichtig, das mit START=98 ist ein Vorschlag.
>
> Grüße
>
> Adrian
>
>>> Auch hier fehlt das Entfernen aus rc.local.
>>>
>>> Grüße
>>>
>>> Adrian
>>>
>>>> -----Original Message-----
>>>> From: franken-dev [mailto:franken-dev-bounces at freifunk.net] On
>> Behalf
>>>> Of Robert Langhammer
>>>> Sent: Montag, 10. September 2018 21:48
>>>> To: franken-dev at freifunk.net
>>>> Subject: [PATCH 2/4] fff-hoods: move start of configurehood from
>>>> rc.local
>>> to
>>>> init.d
>>>>
>>>> and prevent running configurehood multiple times
>>>>
>>>> Signed-off-by: Robert Langhammer <rlanghammer at web.de>
>>>> ---
>>>>  src/packages/fff/fff-hoods/files/etc/init.d/configurehood   | 9
>> +++++++++
>>>>  src/packages/fff/fff-hoods/files/usr/lib/micron.d/fff-hoods | 2 +-
>>>>  src/packages/fff/fff-hoods/files/usr/sbin/configurehood     | 4 ++++
>>>>  3 files changed, 14 insertions(+), 1 deletion(-)  create mode 100755
>>>> src/packages/fff/fff-hoods/files/etc/init.d/configurehood
>>>>
>>>> diff --git
>>>> a/src/packages/fff/fff-hoods/files/etc/init.d/configurehood
>>>> b/src/packages/fff/fff-hoods/files/etc/init.d/configurehood
>>>> new file mode 100755
>>>> index 0000000..61fe735
>>>> --- /dev/null
>>>> +++ b/src/packages/fff/fff-hoods/files/etc/init.d/configurehood
>>>> @@ -0,0 +1,9 @@
>>>> +#!/bin/sh /etc/rc.common
>>>> +
>>>> +START=95
>>>> +
>>>> +boot()
>>>> +{
>>>> +    /usr/sbin/configurehood
>>>> +}
>>>> +
>>>> diff --git
>>>> a/src/packages/fff/fff-hoods/files/usr/lib/micron.d/fff-hoods
>>>> b/src/packages/fff/fff-hoods/files/usr/lib/micron.d/fff-hoods
>>>> index 39e800e..ca8d798 100644
>>>> --- a/src/packages/fff/fff-hoods/files/usr/lib/micron.d/fff-hoods
>>>> +++ b/src/packages/fff/fff-hoods/files/usr/lib/micron.d/fff-hoods
>>>> @@ -1 +1 @@
>>>> -*/5 * * * * [ -f /tmp/started ] && /usr/sbin/configurehood
>>>> +*/5 * * * * /usr/sbin/configurehood
>>>> diff --git a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
>>>> b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
>>>> index 47e228b..7a330d9 100755
>>>> --- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
>>>> +++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
>>>> @@ -1,5 +1,9 @@
>>>>  #!/bin/sh
>>>>
>>>> +# prevent multiple runs of the script
>>>> +
>>>> +[ $( pidof $( basename $0 )  | wc -w ) -gt 2 ] && exit
>>>> +
>>>>  . /usr/share/libubox/jshn.sh
>>>>  . /lib/functions/fff/keyxchange
>>>>  . /lib/functions/fff/network
>>>> --
>>>> 2.11.0
>




Mehr Informationen über die Mailingliste franken-dev