[PATCH] configurehood/nodewatcher: Also process hood ID in addition to name

robert rlanghammer at web.de
Sa Nov 24 20:13:55 CET 2018


hallo Adrian,

sieht fuer mich ganz harmlos aus. Und wenn es dem Monitoring hilft, rein
damit.

Reviewd-by: Robert Langhammer <rlanghammer at web.de>

Am 23.11.18 um 16:56 schrieb Adrian Schmutzler:
> So far, the Monitoring evaluates hoods based on their names.
>
> This introduces several problems, most prominently a hood
> re-creation if it is renamed at the KeyXchange.
>
> Since we have unique hood IDs in the KeyXchange and the
> Monitoring retrieves those via hoods.php, it is logical use this
> information instead of relying on string comparison.
>
> This requires the hood files to contain an additional field "id".
> While this has not been implemented, the changes in this patch
> will still work and just write empty data to the uci field and
> alfred data.
>
> For local hoods, the "id" in the hood file will remain unset.
>
> Signed-off-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
> ---
>  src/packages/fff/fff-hoods/Makefile                         | 2 +-
>  src/packages/fff/fff-hoods/files/usr/sbin/configurehood     | 5 ++++-
>  src/packages/fff/fff-nodewatcher/Makefile                   | 2 +-
>  src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher | 3 ++-
>  4 files changed, 8 insertions(+), 4 deletions(-)
>
> diff --git a/src/packages/fff/fff-hoods/Makefile b/src/packages/fff/fff-hoods/Makefile
> index 5233e611..264d28ab 100644
> --- a/src/packages/fff/fff-hoods/Makefile
> +++ b/src/packages/fff/fff-hoods/Makefile
> @@ -1,7 +1,7 @@
>  include $(TOPDIR)/rules.mk
>  
>  PKG_NAME:=fff-hoods
> -PKG_VERSION:=4
> +PKG_VERSION:=5
>  PKG_RELEASE:=1
>  
>  PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
> diff --git a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> index e31ba219..de60c21d 100755
> --- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> +++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> @@ -95,6 +95,7 @@ else
>  			rm -f "$hoodfilewww" # delete this, so wrong hood file is not broadcasted anymore
>  
>  			uci -q del "system. at system[0].hood"
> +			uci -q del "system. at system[0].hoodid"
>  			uci -q commit system
>  			reload_config
>  		
> @@ -125,6 +126,7 @@ if [ -s "$hoodfiletmp" ]; then
>  		json_select hood
>  
>  		json_get_var hood name
> +		json_get_var hoodid id
>  		[ -n "$mesh_id" ] || json_get_var mesh_id mesh_id
>  		[ -n "$mesh_bssid" ] || json_get_var mesh_bssid mesh_bssid
>  		[ -n "$mesh_essid" ] || json_get_var mesh_essid mesh_essid
> @@ -146,8 +148,9 @@ if [ -s "$hoodfiletmp" ]; then
>  			exit 0
>  		fi
>  
> -		echo "Setting hood name: $hood"
> +		echo "Setting hood name: $hood (ID $hoodid)"
>  		uci -q set "system. at system[0].hood=$hood"
> +		uci -q set "system. at system[0].hoodid=$hoodid"
>  		uci -q commit system
>  		reload_config
>  
> diff --git a/src/packages/fff/fff-nodewatcher/Makefile b/src/packages/fff/fff-nodewatcher/Makefile
> index 927c6293..3c66a0ae 100644
> --- a/src/packages/fff/fff-nodewatcher/Makefile
> +++ b/src/packages/fff/fff-nodewatcher/Makefile
> @@ -1,7 +1,7 @@
>  include $(TOPDIR)/rules.mk
>  
>  PKG_NAME:=fff-nodewatcher
> -PKG_VERSION:=50
> +PKG_VERSION:=51
>  PKG_RELEASE:=1
>  
>  PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
> diff --git a/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher b/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher
> index 9486fbc8..9d96b07b 100755
> --- a/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher
> +++ b/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher
> @@ -12,7 +12,7 @@ if ! lock -n "$lockfile"; then
>  fi
>  trap "lock -u \"$lockfile\"" INT TERM EXIT
>  
> -SCRIPT_VERSION="50"
> +SCRIPT_VERSION="51"
>  
>  #Get the configuration from the uci configuration file
>  #If it does not exists, then get it from a normal bash file with variables.
> @@ -147,6 +147,7 @@ crawl() {
>      SYSTEM_DATA=$SYSTEM_DATA"${position_comment}"
>      SYSTEM_DATA=$SYSTEM_DATA"${contact}"
>      SYSTEM_DATA=$SYSTEM_DATA"<hood>$(uci -q get "system. at system[0].hood")</hood>"
> +    SYSTEM_DATA=$SYSTEM_DATA"<hoodid>$(uci -q get "system. at system[0].hoodid")</hoodid>"
>      SYSTEM_DATA=$SYSTEM_DATA"<distname>$distname</distname>"
>      SYSTEM_DATA=$SYSTEM_DATA"<distversion>$distversion</distversion>"
>      SYSTEM_DATA=$SYSTEM_DATA"$cpu"


Mehr Informationen über die Mailingliste franken-dev