fff-layer3: Autoconfigure layer3 Router after update #4

Closed
ChristianD wants to merge 1 commits from ChristianD/firmware:l3update into master
Member

This adds a script to init.d to automatically call
the appropriate configuregateway commands after an update,
so the configuration of the device is restored.

The changes are applied, if configuregateway is successful.
Otherwise, they are reverted. Due to this, no additional checks for
the configuration are necessary, because the configuregateway script
fails, if the config version is wrong or no configuration exists at all.

I have used the script from Fabian here:
https://pw.freifunk-franken.de/patch/1312/
and have make a init.d Script.
After executing the script, it destroys itself

The init.d run long after der uci-default and we have no problems with
configurenetwork

Signed-off-by: Fabian Bläse fabian@blaese.de
Signed-off-by: Christian Dresel freifunk@dresel.systems

This adds a script to init.d to automatically call the appropriate configuregateway commands after an update, so the configuration of the device is restored. The changes are applied, if configuregateway is successful. Otherwise, they are reverted. Due to this, no additional checks for the configuration are necessary, because the configuregateway script fails, if the config version is wrong or no configuration exists at all. I have used the script from Fabian here: https://pw.freifunk-franken.de/patch/1312/ and have make a init.d Script. After executing the script, it destroys itself The init.d run long after der uci-default and we have no problems with configurenetwork Signed-off-by: Fabian Bläse <fabian@blaese.de> Signed-off-by: Christian Dresel <freifunk@dresel.systems>
ChristianD force-pushed l3update from 388a3f5da4 to c0d9b881a0 2020-12-12 20:16:49 +01:00 Compare
Member

Hi,
warum ist es manchmal l3auto und manchmal l3update? Sollte das nicht die gleiche Datei sein

Hi, warum ist es manchmal l3auto und manchmal l3update? Sollte das nicht die gleiche Datei sein
Author
Member

Hi,
warum ist es manchmal l3auto und manchmal l3update? Sollte das nicht die gleiche Datei sein

Hab ich gerade noch überarbeitet, war im ersten push noch fehlerhaft und sollte nun überall l3update sein

> Hi, > warum ist es manchmal l3auto und manchmal l3update? Sollte das nicht die gleiche Datei sein Hab ich gerade noch überarbeitet, war im ersten push noch fehlerhaft und sollte nun überall l3update sein
Member

Also irgendwie bereitet das schon Schmerzen.
Wie wäre es denn, wenn man das in configurenetwork hinten dran hängt. Da gibt es schon ein:
"FORCEPARSE='0' # Parse at: 0=first boot only, 1=every reboot, 2=next reboot (once)"
Und wenn mal jemand den Mut hat, configurenetwork wegzupatchen, nimmt man das gleich mit weg und es wird nicht vergessen.

Also irgendwie bereitet das schon Schmerzen. Wie wäre es denn, wenn man das in configurenetwork hinten dran hängt. Da gibt es schon ein: "FORCEPARSE='0' # Parse at: 0=first boot only, 1=every reboot, 2=next reboot (once)" Und wenn mal jemand den Mut hat, configurenetwork wegzupatchen, nimmt man das gleich mit weg und es wird nicht vergessen.
Author
Member

Wie wäre es denn, wenn man das in configurenetwork hinten dran hängt.

eigentlich wollen wir die Abhängigkeit dorthin irgendwann auflösen, wäre daher irgendwie ungut wenn wir das da jetzt mit einbauen.

> Wie wäre es denn, wenn man das in configurenetwork hinten dran hängt. eigentlich wollen wir die Abhängigkeit dorthin irgendwann auflösen, wäre daher irgendwie ungut wenn wir das da jetzt mit einbauen.
jkimmel reviewed 2020-12-13 08:39:23 +01:00
@ -0,0 +10,4 @@
fi
# first we disable the init.d
/etc/init.d/l3update disable
# we must delete the symlink manual
Owner

Grammer:
# we must delete the symlink manually

Grammer: \# we must delete the symlink manual**ly**
ChristianD marked this conversation as resolved
jkimmel reviewed 2020-12-13 08:40:08 +01:00
@ -0,0 +12,4 @@
/etc/init.d/l3update disable
# we must delete the symlink manual
rm /etc/rc.d/S99l3update
# and now we delete the init.d file complete to be on the safe side
Owner

Gammer:
# and now we delete the init.d file completely to be on the safe side

Gammer: \# and now we delete the init.d file complete**ly** to be on the safe side
ChristianD marked this conversation as resolved
ChristianD force-pushed l3update from c0d9b881a0 to 9e27e06bc3 2020-12-13 08:49:04 +01:00 Compare
fbl added the
feature
label 2020-12-13 12:39:13 +01:00
adschm added the
layer3
packages/fff
labels 2020-12-13 14:00:29 +01:00
Owner

Wie gerade schon im IRC diskutiert, zwei grundsätzlich Anmerkungen:

  1. Ich würde nur den init.d disable ausführen und die beiden commands danach weglassen. Das rm rc.d darf nicht nötig sein, sonst ist was kaputt. Und der Dienst an sich schadet nicht, zumal sich eine Datei nicht selbst löschen sollte.

  2. Ich finde das mit dem "yes" an configuregateway -c übergeben ein bisschen unschön. Ggf. wäre es eleganter, für diesen Zweck ein configuregateway -s zu schaffen, das dann intern auf die relevanten Funktionen zugreifen kann.

Wie gerade schon im IRC diskutiert, zwei grundsätzlich Anmerkungen: 1. Ich würde _nur_ den init.d disable ausführen und die beiden commands danach weglassen. Das rm rc.d darf nicht nötig sein, sonst ist was kaputt. Und der Dienst an sich schadet nicht, zumal sich eine Datei nicht selbst löschen sollte. 2. Ich finde das mit dem "yes" an configuregateway -c übergeben ein bisschen unschön. Ggf. wäre es eleganter, für diesen Zweck ein `configuregateway -s` zu schaffen, das dann intern auf die relevanten Funktionen zugreifen kann.
Author
Member
  1. Ich überlege da auch lange hin und her und bin mir bisschen unschlüsig. Mir ist es aber irgendwie lieber da komplett aufzuräumen. Das Script braucht danach niemand mehr und bevor es da zu Fehlern kommt, lieber sicher alles wegräumen. Wenn es doch aus irgendeinen Grund jemand wieder haben will, kann er sich das auch /rom wieder raus kopieren.

  2. Könnte man tun ja, stört mich persönlich jetzt aber eigentlich nicht und man muss weniger anfassen.

Gerne zu beiden Punkten weitere Meinungen, wenn ich überstimmt werde baue ich es gerne nochmal um

1. Ich überlege da auch lange hin und her und bin mir bisschen unschlüsig. Mir ist es aber irgendwie lieber da komplett aufzuräumen. Das Script braucht danach niemand mehr und bevor es da zu Fehlern kommt, lieber sicher alles wegräumen. Wenn es doch aus irgendeinen Grund jemand wieder haben will, kann er sich das auch /rom wieder raus kopieren. 2. Könnte man tun ja, stört mich persönlich jetzt aber eigentlich nicht und man muss weniger anfassen. Gerne zu beiden Punkten weitere Meinungen, wenn ich überstimmt werde baue ich es gerne nochmal um
Member

Hi,
zu 1; den Link zu loeschen is in ordnung. Das ist der klassische Weg in rc.d etwas ein/aus zu schalten. Aber das sich das Skript selbst loescht, fuehlt sich komisch an. Wirklich geloescht wird es ja nicht, da es im rom liegt und es wird kein Platz freigegeben. Ich wuerde vorschlagen nur den Link zu loeschen und das Skript einfach liegen zu lassen.

zu 2; das yes ist mir nicht negativ aufgefallen. Ganz normal irgendwie.

Hi, zu 1; den Link zu loeschen is in ordnung. Das ist der klassische Weg in rc.d etwas ein/aus zu schalten. Aber das sich das Skript selbst loescht, fuehlt sich komisch an. Wirklich geloescht wird es ja nicht, da es im rom liegt und es wird kein Platz freigegeben. Ich wuerde vorschlagen nur den Link zu loeschen und das Skript einfach liegen zu lassen. zu 2; das yes ist mir nicht negativ aufgefallen. Ganz normal irgendwie.
ChristianD force-pushed l3update from 9e27e06bc3 to 13de0a7737 2020-12-18 11:17:02 +01:00 Compare
ChristianD changed title from fff-gateway: Autoconfigure gateway after update to fff-layer3: Autoconfigure layer3 Router after update 2020-12-18 11:17:17 +01:00
Author
Member

rebased und das löschen des Scriptes entfernt.

rebased und das löschen des Scriptes entfernt.
ChristianD force-pushed l3update from 13de0a7737 to 4afea7a471 2020-12-19 09:17:35 +01:00 Compare
ChristianD force-pushed l3update from 4afea7a471 to b0d175db02 2020-12-19 09:32:04 +01:00 Compare
rohammer reviewed 2020-12-22 00:17:25 +01:00
@ -0,0 +10,4 @@
fi
# first we disable the init.d
/etc/init.d/l3update disable
# we must delete the symlink manually
Member

Das wundert mich etwas, dass nach dem l3update disable der Link noch da sein soll. Ich habe noch mal nachgeschaut in rc.common. Da werden die Links in der Funktion disable schon geloescht.
Ansonsten ist das auf jeden Fall eine gute Zwischenloesung bis das ganze Networksetup mal ueberarbeitet wird.

Hie schon mal ein

Reviewed-by: Robert Langhammer <rlanghammer@web.de>
Das wundert mich etwas, dass nach dem l3update disable der Link noch da sein soll. Ich habe noch mal nachgeschaut in rc.common. Da werden die Links in der Funktion disable schon geloescht. Ansonsten ist das auf jeden Fall eine gute Zwischenloesung bis das ganze Networksetup mal ueberarbeitet wird. Hie schon mal ein ``` Reviewed-by: Robert Langhammer <rlanghammer@web.de> ```
adschm reviewed 2020-12-28 16:34:58 +01:00
@ -0,0 +1,15 @@
#!/bin/sh /etc/rc.common
START=99
Owner

Hier würde ich ne Leerzeile danach einfügen.

Hier würde ich ne Leerzeile danach einfügen.
ChristianD marked this conversation as resolved
@ -0,0 +7,4 @@
configure-layer3 -a
else
configure-layer3 -r
fi
Owner

Auch hier ggf. ne Leerzeile nach dem "fi".

Auch hier ggf. ne Leerzeile nach dem "fi".
ChristianD marked this conversation as resolved
@ -0,0 +9,4 @@
configure-layer3 -r
fi
# first we disable the init.d
/etc/init.d/l3update disable
Owner

Ich würde die Datei und damit auch diese Zeile in fff-l3update oder sogar fff-layer3-update umbenennen.

Ich würde die Datei und damit auch diese Zeile in fff-l3update oder sogar fff-layer3-update umbenennen.
ChristianD marked this conversation as resolved
@ -0,0 +11,4 @@
# first we disable the init.d
/etc/init.d/l3update disable
# we must delete the symlink manually
rm /etc/rc.d/S99l3update
Owner

Ein "rm -f" wäre besser, falls die Datei doch irgendwann mal automatisch gelöscht wird.
Dann gibt es keinen Fehler ...

Ein "rm -f" wäre besser, falls die Datei doch irgendwann mal automatisch gelöscht wird. Dann gibt es keinen Fehler ...
ChristianD marked this conversation as resolved
Owner

Hi,

streng genommen ist der erste Signed-off-by immer auch der Patch-Autor (From: Feld). Wenn du nichts dagegen hast, würde ich das gerne beim Applien wieder auf Fabian zurücksetzen.

Ansonsten hätte ich ein paar Kleinigkeiten an der Commit-Message korrigiert:

This adds a script to init.d to automatically call
the appropriate configure-layer3 commands after an upgrade,
so the configuration of the device is restored.

The changes are applied if configure-layer3 is successful.
Otherwise, they are reverted. Due to this, no additional checks for
the configuration are necessary: The configure-layer3 script
will fail if the config version is wrong or no configuration exists at all.

After executing the script destroys itself. With START=99,
the execution happens _after_ uci-defaults and configurenetwork,
and no interference is expected.

Signed-off-by: Fabian Bläse <fabian@blaese.de>
[convert to init.d, extend commit message, rebase]
Signed-off-by: Christian Dresel <freifunk@dresel.systems>
Hi, streng genommen ist der erste Signed-off-by immer auch der Patch-Autor (From: Feld). Wenn du nichts dagegen hast, würde ich das gerne beim Applien wieder auf Fabian zurücksetzen. Ansonsten hätte ich ein paar Kleinigkeiten an der Commit-Message korrigiert: ``` This adds a script to init.d to automatically call the appropriate configure-layer3 commands after an upgrade, so the configuration of the device is restored. The changes are applied if configure-layer3 is successful. Otherwise, they are reverted. Due to this, no additional checks for the configuration are necessary: The configure-layer3 script will fail if the config version is wrong or no configuration exists at all. After executing the script destroys itself. With START=99, the execution happens _after_ uci-defaults and configurenetwork, and no interference is expected. Signed-off-by: Fabian Bläse <fabian@blaese.de> [convert to init.d, extend commit message, rebase] Signed-off-by: Christian Dresel <freifunk@dresel.systems> ```
Author
Member

alles soweit ok für mich. Hab mich mit Fabian schon unterhalten und ihm wars total egal, mir ist es auch total egal also mach wie du es für richtig hälst.

Commitmsg passt soweit auch danke

alles soweit ok für mich. Hab mich mit Fabian schon unterhalten und ihm wars total egal, mir ist es auch total egal also mach wie du es für richtig hälst. Commitmsg passt soweit auch danke
ChristianD force-pushed l3update from b0d175db02 to 3baf256132 2020-12-28 17:25:28 +01:00 Compare
ChristianD force-pushed l3update from 3baf256132 to 32b3a19b15 2020-12-28 17:26:28 +01:00 Compare
Author
Member

Alle Änderungen überarbeitet

Alle Änderungen überarbeitet
ChristianD force-pushed l3update from 32b3a19b15 to 38e7dc18e0 2020-12-28 17:30:51 +01:00 Compare
Owner

Danke, wird gleich gemergt.

Danke, wird gleich gemergt.
adschm closed this pull request 2020-12-28 17:33:53 +01:00

Pull request closed

Sign in to join this conversation.
No description provided.